使用yfinance下載歷史股價[QuantTradingwithPython_1]

閱讀時間約 8 分鐘
  • 文內如有投資理財相關經驗、知識、資訊等內容,皆為創作者個人分享行為。
  • 有價證券、指數與衍生性商品之數據資料,僅供輔助說明之用,不代表創作者投資決策之推介及建議。
  • 閱讀同時,請審慎思考自身條件及自我決策,並應有為決策負責之事前認知。
  • 方格子希望您能從這些分享內容汲取投資養份,養成獨立思考的能力、判斷、行動,成就最適合您的投資理財模式。


raw-image


 大家好。很高興在這個新的部落格上面。有機會能再跟大家一起討論交易的兩三事。未來我們將在這個新的地方上面;與大家一步一步地,建立起屬於我們自己個性化的量化交易平臺;敬請期待。

這是一個原本在心中構思很久的一個方案。但很遺憾的,在幾年前的環境,雖然Python的套件資源,是各種程式語言中最豐富的。但感覺上仍不足以支撐我們來完成需要的工作目標。但最近這幾年下來,心中有著很強烈的感覺,覺得時機已經成熟了。所以便有這個衝動想去完成它。

但這條路,在想像中必然不存在平坦這樣的癡心妄想。我們第一篇所要介紹的yfinance這個套件便遇到這樣的困境。但是這也是DIY的一項樂趣,不是嗎?坦白說。這已經是這第一篇介紹文章的第N次草稿。最終決定,倒著頭來的去介紹它。於是我們第一篇就是一個傳統的介紹yfinance方式。然後在未來,在其他的文章中;再來嘗試跟大家慢慢解釋。在第一篇接收數據這一方面,需要真真注意的以及要避開的坑是什麼?既然如此,就話不多說直接切入正題走起!對了,在繼續往下看之前,別忘了更新您的書籤頁到我們新的部落格。這樣以後才不會迷路。

Parkson撩交易 量化交易使用Python語言 Quant Trading with Python - 文章列表|方格子 vocus





raw-image



 

使用Python yfinance套件獲取股票資料





raw-image



yfinance是一個Python套件,可以用來獲取Yahoo! Finance的股票資料。這個套件有許多方便的功能,可以讓我們輕鬆地獲取股票歷史價格、股息、股票分割、公司資訊等資料。在這篇文章中,我會介紹如何使用yfinance來獲取股票資料。



安裝yfinance


首先,我們需要安裝yfinance套件。可以在終端機上使用以下命令來安裝:

pip install yfinance

 

獲取股票歷史價格

使用yfinance來獲取股票歷史價格非常簡單。以下是一個範例,可以獲取AAPL(蘋果公司)的股票歷史價格:

import yfinance as yf

 

# 獲取AAPL股票的歷史價格

aapl = yf.Ticker("AAPL")

hist = aapl.history(period="max")

print(hist)

 

這段程式碼會獲取AAPL股票的歷史價格,並將結果輸出到終端機上。period="max"的參數表示獲取所有可用的歷史資料。

yfinance還有許多其他的功能,可以獲取公司資訊、股息、股票分割等資料。以下是一個範例,可以獲取AAPL的公司資訊:

import yfinance as yf

 

# 獲取AAPL公司的資訊

aapl = yf.Ticker("AAPL")

info = aapl.info

print(info)

 

這段程式碼會獲取AAPL公司的一般介紹資訊,並將結果輸出。

獲取公司資訊

除了獲取股票價格之外,yfinance還可以獲取公司的相關資訊。例如,你可以輕鬆地獲取公司名稱、行業、市值、本益比等等。

以下是一個獲取AAPL公司資訊的範例:

import yfinance as yf

 

# 獲取AAPL公司的資訊

aapl = yf.Ticker("AAPL")

info = aapl.info

 

# 獲取公司名稱

name = info['longName']

print("公司名稱:", name)

 

# 獲取行業

sector = info['sector']

print("行業:", sector)

 

# 獲取市值

market_cap = info['marketCap']

print("市值:", market_cap)

 

# 獲取本益比

pe_ratio = info['trailingPE']

print("本益比:", pe_ratio)

 

這段程式碼會獲取AAPL公司的資訊,並分別輸出公司名稱、行業、市值和本益比到終端機上。

輸出如下:

import yfinance as yfIn [5]:aapl = yf.Ticker('AAPL') info = aapl.infoIn [6]:name = info['longName'] print("公司名稱:", name)公司名稱: Apple Inc.In [7]:# 獲取行業 sector = info['sector'] print("行業:", sector) # 獲取市值 market_cap = info['marketCap'] print("市值:", market_cap) # 獲取本益比 pe_ratio = info['trailingPE'] print("本益比:", pe_ratio)行業: Technology 市值: 2846108418048 本益比: 30.462963




獲取股息和股票分割資訊

yfinance還可以獲取股息和股票分割資訊。以下是獲取AAPL股票的股息和股票分割資訊的範例:

import yfinance as yf

 

# 獲取AAPL股票的股息和股票分割資訊

aapl = yf.Ticker("AAPL")

dividends = aapl.dividends

splits = aapl.splits

 

print("股息:", dividends)

print("股票分割:", splits)

 

這段程式碼會獲取AAPL股票的股息和股票分割資訊,並分別輸出。

獲取多支股票的資料

除了獲取單支股票的資料之外,yfinance還可以獲取多支股票的資料。以下是一個獲取AAPL、MSFT(微軟公司)和AMZN(亞馬遜公司)的股票歷史價格的範例:

import yfinance as yf

 

# 獲取AAPL、MSFT和AMZN的歷史價格

stocks = ['AAPL', 'MSFT', 'AMZN']

data = yf.download(stocks, start="2020-01-01", end="2021-01-01")

 

print(data)

 這段程式碼會獲取AAPL、MSFT和AMZN的股票歷史價格,並將結果輸出。

stocks = ['AAPL', 'MSFT', 'AMZN'] data = yf.download(stocks, start="2023-01-01", end="2023-05-31") print(data)



一旦獲取了股票資料,我們可以使用Python的資料處理套件(例如pandas和numpy)來進一步分析和處理這些資料。以下是一個範例,可以獲取AAPL股票的歷史價格,並計算出每日的報酬率:

import yfinance as yf

import pandas as pd

 

# 獲取AAPL股票的歷史價格

aapl = yf.Ticker("AAPL")

hist = aapl.history(period="max")

 

# 計算每日報酬率

hist['daily_return'] = hist['Close'].pct_change()

 

print(hist)

 

這段程式碼會獲取AAPL股票的歷史價格,計算每日的報酬率,並將結果輸出。

結論

在本篇文章中,我們介紹了如何使用yfinance來獲取股票資料。我們可以使用yfinance來獲取股票歷史價格、公司資訊、股息、股票分割等資料。此外,我們還介紹了如何獲取多支股票的資料以及如何處理獲取的資料。yfinance是一個非常方便的Python套件,可以讓我們更方便地獲取股票資料,希望本篇文章對你有所幫助!





raw-image




avatar-img
7會員
19內容數
一個專為金融專業設計的專題。介紹量化交易的基本概念和使用Python進行量化交易策略開發的方法。專題涵蓋金融市場運作、技術分析,實例和代碼提供,幫助理解和應用不同的交易策略和指標。此外,介紹了回測工具的使用和風險管理技巧。本專題為對量化交易有興趣的讀者提供了全面的學習指南。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
你可能也想看
Google News 追蹤
量化交易策略是加密货币投资的核心要素。了解如何使用技术分析、市场趋势和风险管理来提高投资回报率。立即开始你的量化交易之旅! 引言 量化交易策略在加密货币市场中扮演着越来越重要的角色。随着市场的发展和成熟,投资者需要更科学、更系统的方法来进行投资决策。量化交易策略正是解决这个问题的
Thumbnail
  會執行程式交易通常都有自己手單交易過的人,容易陷入自己主觀判斷進而影響量化交易,是因為來自於自己相信自己的判斷而非程式的進出場依據所造成,所以當有經驗的操作者要切入量化交易很容易犯這方面的問題,反而是從未進行交易過的,直接進行量化交易的小白是最適合,因為只能相信系統的買賣進出交易,反而可以有紀律
Thumbnail
可能包含敏感內容
我長期經營我的選擇權與期貨的教學,這個交易工具非常少人知道,就算有人在玩股票也看不懂我們這批少數人到底在玩什麼東西。以下是我的專欄截圖。這邊沒有要玩,但是還有少數交易者願意加入與挑戰,這就是我的利基市場。目前我正在做出全面性的轉彎。有些人有跟上,有些人猶豫中,有些人可能要等壓線,不過都是隨緣啦。讀者
Thumbnail
可能包含敏感內容
目前有一位穩定的支持者願意支付每個月的訂閱費用來幫助自己妥善做好投資交易,就是最難學的選擇權與期貨。但我覺得這兩者不難,難的在於說我要如何在台股1700檔股票挑到一個股王?很難有人跟股神一樣抱得住。所以指數型投資例如ETF就在華爾街盛行約40-50年,延伸出來的商品就是選擇權,期貨在古早的時候是
Thumbnail
對於剛接觸Python程式的使用者來說,要一口氣學會爬蟲可能相對困難,但若想即時且輕鬆獲得台股相關數據,你可以利用證交所所提供的API進行數據蒐集。只需要簡單幾行程式碼,就能輕鬆抓到台股上千支股票的每日資訊,是不是棒呆了!!
Thumbnail
股市交易中,若能透過程式來輔助進出場的訊號,當手上的持股或者股池數量較多時,可以提供投資人較有效率的判斷,因此非常建議投資人花費一點時間了解程式交易的邏輯,比較常見的就是XQ全球贏家的"盤中量化模組(1000NT/月)" 或者比較簡易型的量化積木模組(500NT/月)。 每個投資者會因學習的過
筆者投資股票的經驗已經有30年了,一開始我也跟大多數的散戶一樣追高殺低。聽到股市老師推薦明牌,就跑去買。想說要賺短線價差,結果買了之後沒多久有漲,但覺得漲得不是很多就沒有賣。過沒多久就套牢了。套牢又捨不得賣,所以就一直都在虧損的狀態,甚至最後就下市了。   一直到多年以後我去看我的庫存發現有一隻
Thumbnail
  本篇文章分享了自行開發的臺指期當沖策略,並使用XQ全球贏家進行自動化交易買賣。主要內容包括今日交易重點、當日損益、自動交易損益計算與績效圖以及各交易策略說明。文章強調策略的執行和分享交易績效的重要性。
Thumbnail
我從學生時期就開始投資股票,逐漸接觸各種交易方式,最後我進入了量化自動交易的領域。這樣的改變讓我有更多時間做自己的事情,同時將交易融入生活中。這是我的量化交易生活儀式。
Thumbnail
本文章記錄了我在2023年8月透過Finlab課程和自己的研究開發出的一個量化投資策略程式,回測顯示年化報酬率達到99%。該策略在大盤不穩或空頭時期具有避免持股的特性,並在8年的回測中實現了驚人的資產增長。從2024年開始,我將開始實際將這一策略應用於市場,並在文章中記錄相關的實際操作。
量化交易策略是加密货币投资的核心要素。了解如何使用技术分析、市场趋势和风险管理来提高投资回报率。立即开始你的量化交易之旅! 引言 量化交易策略在加密货币市场中扮演着越来越重要的角色。随着市场的发展和成熟,投资者需要更科学、更系统的方法来进行投资决策。量化交易策略正是解决这个问题的
Thumbnail
  會執行程式交易通常都有自己手單交易過的人,容易陷入自己主觀判斷進而影響量化交易,是因為來自於自己相信自己的判斷而非程式的進出場依據所造成,所以當有經驗的操作者要切入量化交易很容易犯這方面的問題,反而是從未進行交易過的,直接進行量化交易的小白是最適合,因為只能相信系統的買賣進出交易,反而可以有紀律
Thumbnail
可能包含敏感內容
我長期經營我的選擇權與期貨的教學,這個交易工具非常少人知道,就算有人在玩股票也看不懂我們這批少數人到底在玩什麼東西。以下是我的專欄截圖。這邊沒有要玩,但是還有少數交易者願意加入與挑戰,這就是我的利基市場。目前我正在做出全面性的轉彎。有些人有跟上,有些人猶豫中,有些人可能要等壓線,不過都是隨緣啦。讀者
Thumbnail
可能包含敏感內容
目前有一位穩定的支持者願意支付每個月的訂閱費用來幫助自己妥善做好投資交易,就是最難學的選擇權與期貨。但我覺得這兩者不難,難的在於說我要如何在台股1700檔股票挑到一個股王?很難有人跟股神一樣抱得住。所以指數型投資例如ETF就在華爾街盛行約40-50年,延伸出來的商品就是選擇權,期貨在古早的時候是
Thumbnail
對於剛接觸Python程式的使用者來說,要一口氣學會爬蟲可能相對困難,但若想即時且輕鬆獲得台股相關數據,你可以利用證交所所提供的API進行數據蒐集。只需要簡單幾行程式碼,就能輕鬆抓到台股上千支股票的每日資訊,是不是棒呆了!!
Thumbnail
股市交易中,若能透過程式來輔助進出場的訊號,當手上的持股或者股池數量較多時,可以提供投資人較有效率的判斷,因此非常建議投資人花費一點時間了解程式交易的邏輯,比較常見的就是XQ全球贏家的"盤中量化模組(1000NT/月)" 或者比較簡易型的量化積木模組(500NT/月)。 每個投資者會因學習的過
筆者投資股票的經驗已經有30年了,一開始我也跟大多數的散戶一樣追高殺低。聽到股市老師推薦明牌,就跑去買。想說要賺短線價差,結果買了之後沒多久有漲,但覺得漲得不是很多就沒有賣。過沒多久就套牢了。套牢又捨不得賣,所以就一直都在虧損的狀態,甚至最後就下市了。   一直到多年以後我去看我的庫存發現有一隻
Thumbnail
  本篇文章分享了自行開發的臺指期當沖策略,並使用XQ全球贏家進行自動化交易買賣。主要內容包括今日交易重點、當日損益、自動交易損益計算與績效圖以及各交易策略說明。文章強調策略的執行和分享交易績效的重要性。
Thumbnail
我從學生時期就開始投資股票,逐漸接觸各種交易方式,最後我進入了量化自動交易的領域。這樣的改變讓我有更多時間做自己的事情,同時將交易融入生活中。這是我的量化交易生活儀式。
Thumbnail
本文章記錄了我在2023年8月透過Finlab課程和自己的研究開發出的一個量化投資策略程式,回測顯示年化報酬率達到99%。該策略在大盤不穩或空頭時期具有避免持股的特性,並在8年的回測中實現了驚人的資產增長。從2024年開始,我將開始實際將這一策略應用於市場,並在文章中記錄相關的實際操作。