大家好。很高興在這個新的部落格上面。有機會能再跟大家一起討論交易的兩三事。未來我們將在這個新的地方上面;與大家一步一步地,建立起屬於我們自己個性化的量化交易平臺;敬請期待。
這是一個原本在心中構思很久的一個方案。但很遺憾的,在幾年前的環境,雖然Python的套件資源,是各種程式語言中最豐富的。但感覺上仍不足以支撐我們來完成需要的工作目標。但最近這幾年下來,心中有著很強烈的感覺,覺得時機已經成熟了。所以便有這個衝動想去完成它。
但這條路,在想像中必然不存在平坦這樣的癡心妄想。我們第一篇所要介紹的yfinance這個套件便遇到這樣的困境。但是這也是DIY的一項樂趣,不是嗎?坦白說。這已經是這第一篇介紹文章的第N次草稿。最終決定,倒著頭來的去介紹它。於是我們第一篇就是一個傳統的介紹yfinance方式。然後在未來,在其他的文章中;再來嘗試跟大家慢慢解釋。在第一篇接收數據這一方面,需要真真注意的以及要避開的坑是什麼?既然如此,就話不多說直接切入正題走起!對了,在繼續往下看之前,別忘了更新您的書籤頁到我們新的部落格。這樣以後才不會迷路。
Parkson撩交易 量化交易使用Python語言 Quant Trading with Python - 文章列表|方格子 vocus
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套件,可以讓我們更方便地獲取股票資料,希望本篇文章對你有所幫助!