使用Python從雅虎財經獲取財務資料


交易員、投資者和其他金融專業人士需要訪問財務資料,因為投資研究依賴於它。雅虎財經是眾所周知的財務資訊來源之一,它提供最新的市場統計資料、新聞和分析。Python是一種強大而靈活的程式語言,可用於從雅虎財經提取財務資料,因此,在這篇文章中,我們將使用yfinance包來實現這一點。

安裝和語法

在開始之前,我們需要安裝yfinance庫,它允許我們從Python訪問雅虎財經資料。我們可以使用pip(Python包安裝程式)安裝yfinance。

pip install yfinance

安裝yfinance後,我們就可以在Python指令碼中使用它了。匯入yfinance的語法很簡單:

import yfinance as yf

演算法

  • 要從雅虎財經檢索財務資料,我們首先需要建立一個yfinance Ticker類的例項,該例項代表特定的股票或其他金融工具。

  • 我們可以透過將股票程式碼傳遞給yf.Ticker()建構函式來建立一個Ticker例項,如下所示:msft = yf.Ticker("MSFT")

  • 獲得Ticker例項後,我們可以使用其方法來檢索財務資料。例如,我們可以使用history()方法檢索股票的歷史價格資料。

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

  • period引數指定我們想要檢索資料的時期。在本例中,我們檢索股票的整個歷史資料。

  • 我們還可以使用Ticker類的其他方法來檢索其他型別的財務資料,例如股息、拆股和財務報表。

常用函式

  • yf.Ticker(symbol) − 此方法用於為特定股票程式碼建立Ticker物件。它返回Ticker類的例項,可用於檢索給定股票程式碼的各種財務資料。

  • ticker.info − 此方法返回一個字典,其中包含有關股票程式碼的詳細資訊,例如其名稱、行業、板塊、交易所以及其他財務指標,如市值、股息收益率、市盈率等。

  • ticker.history() − 此方法返回一個pandas DataFrame,其中包含指定股票程式碼在指定時間段內的歷史OHLC(開盤價、最高價、最低價、收盤價)價格、成交量和其他財務資料。

  • ticker.recommendations() − 此方法返回一個pandas DataFrame,其中包含金融分析師對給定股票程式碼的最新建議,包括目標價格、建議評級和建議日期。

  • ticker.calendar() − 此方法返回一個pandas DataFrame,其中包含給定股票程式碼即將到來的收益、股息和其他重要事件。

  • ticker.sustainability() − 此方法返回一個pandas DataFrame,其中包含給定股票程式碼的可持續性值,例如環境、社會和治理 (ESG) 評分。

  • ticker.options − 此方法返回一個字典,其中包含給定股票程式碼的可用期權的到期日和其他詳細資訊。

更改股票程式碼以獲取特定股票的財務資料。

一些常用的股票程式碼:

股票程式碼

股票名稱

AAPL

蘋果公司

MSFT

微軟公司

AMZN

亞馬遜公司

TSLA

特斯拉公司

GOOGL

Alphabet公司(谷歌)

示例

import yfinance as yf
import pandas as pd
import matplotlib.pyplot as plt

# Create a Ticker object for a specific stock symbol
ticker = yf.Ticker("AAPL")

# Get detailed information about the stock symbol
info = ticker.info
print("Detailed Information:")
for key, value in info.items():
   # format and indent the printed output
   print(f"{key}: {value}")
   print("-" * 10)

# Get historical OHLC prices and other financial data
history = ticker.history(period="1mo")
print("\nHistorical Data:")
print(history)


# Plot historical prices
plt.plot(history.index, history["Close"])
plt.title(f"{info['shortName']} ({info['symbol']})")
plt.xlabel("Date")
plt.ylabel("Price")
plt.show()

輸出

Detailed Information:
address1: One Apple Park Way
----------
city: Cupertino
----------
state: CA
----------
zip: 95014
----------
country: United States
----------
phone: 408 996 1010
----------
website: https://www.apple.com
----------
industry: Consumer Electronics
----------
sector: Technology
----------
fullTimeEmployees: 164000
----------
maxAge: 86400
----------
priceHint: 2
----------
previousClose: 168.54
----------
open: 169.5
----------
dayLow: 167.16
----------
dayHigh: 170.92
----------
regularMarketPreviousClose: 168.54
----------
regularMarketOpen: 169.5
----------
regularMarketDayLow: 167.16
----------
regularMarketDayHigh: 170.92
----------
dividendRate: 0.92
----------
dividendYield: 0.0055
----------
exDividendDate: 1675987200
----------
payoutRatio: 0.1545
----------
fiveYearAvgDividendYield: 0.92
----------
totalRevenue: 387537010688
----------
debtToEquity: 195.868
----------
revenuePerShare: 24.084
----------
returnOnAssets: 0.19569999
----------
returnOnEquity: 1.47943
----------
grossProfits: 170782000000
----------
freeCashflow: 84729126912
----------
operatingCashflow: 109189996544
----------
earningsGrowth: -0.105
----------

Historical Data:

2023-04-21 00:00:00-04:00  165.050003  166.449997  164.490005  165.020004  58311900        0.0           0.0
2023-04-24 00:00:00-04:00  165.000000  165.600006  163.889999  165.330002  41949600        0.0           0.0
2023-04-25 00:00:00-04:00  165.190002  166.309998  163.729996  163.770004  48714100        0.0           0.0
2023-04-26 00:00:00-04:00  163.059998  165.279999  162.800003  163.759995  45498800        0.0           0.0
2023-04-27 00:00:00-04:00  165.190002  168.559998  165.190002  168.410004  64902300        0.0           0.0
2023-04-28 00:00:00-04:00  168.490005  169.850006  167.880005  169.679993  55209200        0.0           0.0
2023-05-01 00:00:00-04:00  169.279999  170.449997  168.639999  169.589996  52472900        0.0           0.0
2023-05-02 00:00:00-04:00  170.089996  170.350006  167.539993  168.539993  48425700        0.0           0.0
2023-05-03 00:00:00-04:00  169.500000  170.919998  167.160004  167.449997  64566300        0.0           0.0

解釋

  • 此程式碼使用Python中的yfinance庫來檢索特定股票程式碼(在本例中為“AAPL”,代表蘋果公司)的財務資料。然後,它列印有關股票程式碼的詳細資訊,檢索歷史OHLC(開盤價、最高價、最低價、收盤價)價格,並使用matplotlib庫繪製歷史價格。

  • 匯入必要的庫:yfinance、pandas和matplotlib。然後使用yfinance的Ticker方法建立ticker物件,傳入股票程式碼“AAPL”作為引數。

  • 接下來,info變數被賦值為ticker.info方法返回的字典,該字典包含有關股票程式碼的詳細資訊,例如其名稱、板塊、市值、市盈率等等。然後,程式碼使用for迴圈和字串格式化以可讀的格式列印此資訊。

  • history變數被賦值為ticker.history方法返回的DataFrame,該方法在指定時間段內(在本例中為過去一個月)檢索指定股票程式碼的歷史OHLC價格、成交量和其他財務資料。然後,以可讀的格式列印此資料。

  • 最後,使用matplotlib繪製歷史價格,x軸表示日期,y軸表示收盤價。在顯示該圖之前,為該圖新增標題和座標軸標籤。

應用

  • 財務分析師 − 可以使用Python和雅虎財經資料來研究公司、決定購買什麼以及關注他們的投資組合。

  • 交易演算法 − 使用來自雅虎財經的即時市場資料,Python可以用來構建自動買賣股票的交易演算法。

  • 資料分析 − 使用Python和雅虎財經資料可以對財務資料進行統計分析和視覺化。

結論

對於金融專家、投資者和交易員來說,使用Python從雅虎財經獲取財務資料是一個強大的工具。透過使用yfinance庫和Ticker類,我們可以快速訪問雅虎財經上列出的任何股票或金融工具的財務報表、股息資訊、拆股資訊和歷史價格資料。由於評估和利用這些資料的機會無數,Python和雅虎財經對於從事金融行業的所有人來說都是必不可少的工具。

更新於:2023年7月18日

4K+ 次瀏覽

開啟您的職業生涯

完成課程後獲得認證

開始
廣告
© . All rights reserved.