使用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




7會員
19內容數
一個專為金融專業設計的專題。介紹量化交易的基本概念和使用Python進行量化交易策略開發的方法。專題涵蓋金融市場運作、技術分析,實例和代碼提供,幫助理解和應用不同的交易策略和指標。此外,介紹了回測工具的使用和風險管理技巧。本專題為對量化交易有興趣的讀者提供了全面的學習指南。
留言0
查看全部
發表第一個留言支持創作者!
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
11/20日NVDA即將公布最新一期的財報, 今天Sell Side的分析師, 開始調高目標價, 市場的股價也開始反應, 未來一週NVDA將重新回到美股市場的焦點, 今天我們要分析NVDA Sell Side怎麼看待這次NVDA的財報預測, 以及實際上Buy Side的倉位及操作, 從
Thumbnail
Hi 大家好,我是Ethan😊 相近大家都知道保濕是皮膚保養中最基本,也是最重要的一步。無論是在畫室裡長時間對著畫布,還是在旅途中面對各種氣候變化,保持皮膚的水分平衡對我來說至關重要。保濕化妝水不僅能迅速為皮膚補水,還能提升後續保養品的吸收效率。 曾經,我的保養程序簡單到只包括清潔和隨意上乳液
Thumbnail
每次清潔居家環境最辛苦的事,莫過於清潔深層的油垢、泛黃的汙漬時,在來來回回的刷洗之後依然不動如山,讓清潔的過程中充滿了無力感,不僅如此,許多市售清潔劑由於添加了許多化學物質,使用清潔的時候,多少會碰觸到手部皮膚,造成肌膚的不適。 而現在越來越多品牌在網路上主打清潔的強效,對於常需要清潔家中最難清潔的
Thumbnail
你有使用AI的習慣嗎?小心,你可能會失去思考的能力!現在AI快速的發展,越來越多人開始依賴AI來進行各種工作。但你知道嗎?人是生物,所有能力都是用進廢退,過度的依賴AI將使思考能力退化…
Thumbnail
得到App的聽書功能,是我近期重新發現的寶藏。 專注地聆聽一本書,讓我重新體驗到聽書功能的魅力。聽書不僅方便,還提供了一個完整的思維導圖,將書中的重點觀點清晰呈現。僅需30分鐘,我便能捕捉到許多主要觀點,並將它們融入自己的經驗和思考。 下面3個價值,是我使用得到APP聽書功能13個月後,再次發現的寶
Thumbnail
Obsidian真的徹底改變了我與知識互動的方式 Obsidian鼓勵的卡片筆記,讓我將知識可以分割成小小塊的卡片,又保留卡片之間的連結。 小塊卡片將知識細化,變得很容易消化,讓我即使只有1分鐘也能思考一些東西。 在Obsidian實踐了22個月的知識細化卡片筆記法, 底層原理1 - 更靈活交替「碎
Thumbnail
Obsidian的強大連結筆記功能,不僅改變了我的知識管理方式,同時也重新塑造了我對寫作過程的理解。 在使用Obsidian的過程中,我漸漸體會到寫作過程中的三個重要層面,它們分別是: 體悟1 - 預寫階段:跨越觀點的融合:透過Obsidian的連結筆記,我能深入了解他人觀點,並將其納入我的文章框架
Thumbnail
t檢定用於比較兩個平均數之間的差異。本文章會詳細介紹如何使用SPSS進行獨立樣本t檢定,並介紹如何詮釋統計報表。
vi /etc/nginx/conf.d/default.conf # IPv4 allow 103.21.244.0/22; allow 103.22.200.0/22; allow 103.31.4.0/22; allow 104.16.0.0/13; allow 104.24.0.0/14;
Thumbnail
前天,同業的專利師問我一個美國專利申請案收到35 USC 101核駁的問題,審查委員指出,請求項雖然使用基因演算法,但整體來說,卻是一種抽象概念,而不屬於美國專利法所保護的客體。同業道長不解的是,為什麼明明套用了基因演算法,審查委員卻還是認為是抽象概念。
Thumbnail
Cloudflare網站SSL簡單說就是HTTPS://XXXX網站名稱 首先要先購買,例如:cloudflare的設定  步驟一:上面點"規則"後設定如下照著官網設定 步驟二:上面點"DNS"後設定如下 步驟三:上面點SSL設定如下,按創建証書後,大致完成,再到你的網站設定HTTPS://DNS。
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
11/20日NVDA即將公布最新一期的財報, 今天Sell Side的分析師, 開始調高目標價, 市場的股價也開始反應, 未來一週NVDA將重新回到美股市場的焦點, 今天我們要分析NVDA Sell Side怎麼看待這次NVDA的財報預測, 以及實際上Buy Side的倉位及操作, 從
Thumbnail
Hi 大家好,我是Ethan😊 相近大家都知道保濕是皮膚保養中最基本,也是最重要的一步。無論是在畫室裡長時間對著畫布,還是在旅途中面對各種氣候變化,保持皮膚的水分平衡對我來說至關重要。保濕化妝水不僅能迅速為皮膚補水,還能提升後續保養品的吸收效率。 曾經,我的保養程序簡單到只包括清潔和隨意上乳液
Thumbnail
每次清潔居家環境最辛苦的事,莫過於清潔深層的油垢、泛黃的汙漬時,在來來回回的刷洗之後依然不動如山,讓清潔的過程中充滿了無力感,不僅如此,許多市售清潔劑由於添加了許多化學物質,使用清潔的時候,多少會碰觸到手部皮膚,造成肌膚的不適。 而現在越來越多品牌在網路上主打清潔的強效,對於常需要清潔家中最難清潔的
Thumbnail
你有使用AI的習慣嗎?小心,你可能會失去思考的能力!現在AI快速的發展,越來越多人開始依賴AI來進行各種工作。但你知道嗎?人是生物,所有能力都是用進廢退,過度的依賴AI將使思考能力退化…
Thumbnail
得到App的聽書功能,是我近期重新發現的寶藏。 專注地聆聽一本書,讓我重新體驗到聽書功能的魅力。聽書不僅方便,還提供了一個完整的思維導圖,將書中的重點觀點清晰呈現。僅需30分鐘,我便能捕捉到許多主要觀點,並將它們融入自己的經驗和思考。 下面3個價值,是我使用得到APP聽書功能13個月後,再次發現的寶
Thumbnail
Obsidian真的徹底改變了我與知識互動的方式 Obsidian鼓勵的卡片筆記,讓我將知識可以分割成小小塊的卡片,又保留卡片之間的連結。 小塊卡片將知識細化,變得很容易消化,讓我即使只有1分鐘也能思考一些東西。 在Obsidian實踐了22個月的知識細化卡片筆記法, 底層原理1 - 更靈活交替「碎
Thumbnail
Obsidian的強大連結筆記功能,不僅改變了我的知識管理方式,同時也重新塑造了我對寫作過程的理解。 在使用Obsidian的過程中,我漸漸體會到寫作過程中的三個重要層面,它們分別是: 體悟1 - 預寫階段:跨越觀點的融合:透過Obsidian的連結筆記,我能深入了解他人觀點,並將其納入我的文章框架
Thumbnail
t檢定用於比較兩個平均數之間的差異。本文章會詳細介紹如何使用SPSS進行獨立樣本t檢定,並介紹如何詮釋統計報表。
vi /etc/nginx/conf.d/default.conf # IPv4 allow 103.21.244.0/22; allow 103.22.200.0/22; allow 103.31.4.0/22; allow 104.16.0.0/13; allow 104.24.0.0/14;
Thumbnail
前天,同業的專利師問我一個美國專利申請案收到35 USC 101核駁的問題,審查委員指出,請求項雖然使用基因演算法,但整體來說,卻是一種抽象概念,而不屬於美國專利法所保護的客體。同業道長不解的是,為什麼明明套用了基因演算法,審查委員卻還是認為是抽象概念。
Thumbnail
Cloudflare網站SSL簡單說就是HTTPS://XXXX網站名稱 首先要先購買,例如:cloudflare的設定  步驟一:上面點"規則"後設定如下照著官網設定 步驟二:上面點"DNS"後設定如下 步驟三:上面點SSL設定如下,按創建証書後,大致完成,再到你的網站設定HTTPS://DNS。