使用Python輕松獲取股票&基金數據
大家好,歡迎來到 Crossin的編程教室 !
最近這一兩年,股市雖談不上大牛市,倒也穩(wěn)步向上,原來一直無法掙脫3000點魔咒的上證指數,今年年初也一路高歌,邁過了3500點。
不過這兩天,聽說很容易從人群中分辨出誰買了股票。

俗話說七虧二平一賺,普通人炒股,其實大概率是虧的,一是因為業(yè)余,你永遠賺不到認知之外的錢;二是因為人性的弱點,難免恐懼和貪婪。
現(xiàn)在大家都在討論價值投資,買股票實質是在買公司,評判價值的過程才是投資的精髓。如果你想提高一丟丟賺錢的概率,研究數據背后的邏輯,靠數據去決策,會比盲目地跟風追漲殺跌更靠譜一些。

Python作為金融領域明星級的分析工具,在數據獲取、清洗、分析、建模上都有全套的解決方案,比如說Pandas就是專門為金融分析開發(fā)的庫。
這次我們來研究下如何用Python獲取股票&基金數據,用作行業(yè)分析。
目前有不少支持Python接口的金融數據庫,比如Tushare、AKshare、Baostock、wind等,都可以獲得國內股票、基金、期貨、利率等數據。
以AKshare為例,我們來試試如何提起股票、基金最新數據。
什么是AKshare?
先簡單介紹下AKShare,內容轉自官網。
AKShare 是基于 Python 的開源金融數據接口庫,目的是實現(xiàn)對股票、期貨、期權、基金、債券、外匯等金融產品和另類數據從數據采集,數據清洗到數據下載的工具,滿足金融數據科學家、數據科學愛好者在數據獲取方面的需求。
它的特點是利用 AKShare 獲取的是基于可信任數據源發(fā)布的原始數據,廣大數據科學家可以利用原始數據進行再加工,從而得出科學的結論。
- 代碼語法符合?PEP8?規(guī)范, 數據接口的命名統(tǒng)一;
- 最佳支持 Python 3.7.5 及其以上版本;
- 提供最佳的文檔支持, 每個數據接口提供詳細的說明和示例, 只需要復制粘貼就可以下載數據;
- 持續(xù)維護由于目標網頁變化而導致的部分數據接口運行異常問題;
- 持續(xù)更新財經數據接口, 同時優(yōu)化源代碼;
如何安裝AKShare?
AKShare作為python庫可以直接通過pip安裝,十分快捷。
pip?install?akshare

如何使用AKShare?
首先要導入AKShare庫,然后通過接口函數,獲取相應的數據。
最好是在jupyter notebook或者lab環(huán)境中來操作,可以很方便地查看和分析數據。
以獲取A股公司列表數據為例:
import?akshare?as?ak
stock_info_a_code_name_df?=?ak.stock_info_a_code_name()
stock_info_a_code_name_df

目前AKshare數據來源比較多元,接口相對雜亂,大家在使用用過程中需注意檢查數據的準確性。
接下來,羅列一些常用的數據接口,供參考使用。
獲取A 股上市公司實時行情數據
該數據來源新浪,使用時候注意頻率,不然會被封IP
import?akshare?as?ak
stock_zh_a_spot_df?=?ak.stock_zh_a_spot()
stock_zh_a_spot_df

字段解釋:
獲取某股票歷史行情數據
以浦發(fā)銀行(sh600000)為例:
import?akshare?as?ak
stock_zh_a_daily_qfq_df?=?ak.stock_zh_a_daily(symbol="sh600000",?adjust="hfq")
stock_zh_a_daily_qfq_df

字段解釋:
獲取公募開放式基金數據
import?akshare?as?ak
fund_em_open_fund_daily_df?=?ak.fund_em_open_fund_daily()
fund_em_open_fund_daily_df
\
字段解釋:
上面簡單列舉了幾個數據接口,AKshare還提供了大量的股票、基金、期貨等數據,大家可以去探索下。
相比較AKshare,Tushare、Baostock上的數據更加規(guī)范,但維度會少一些,各有長短,大家甄別著用。
附國內外金融數據接口大全
findatapy?- 獲取彭博終端,Quandl和雅虎財經的數據
googlefinance?- 從谷歌財經獲取實時股票價格
yahoo-finance?- 從雅虎財經下載股票報價,歷史價格,產品信息和財務報表
pandas-datareader?- 從多個數據源獲取經濟/金融時間序列,包括谷歌財經,雅虎財經,圣路易斯聯(lián)儲(FRED),OECD, Fama/French,世界銀行,歐元區(qū)統(tǒng)計局等,是Pandas生態(tài)系統(tǒng)的重要組成
pandas-finance?- 提供高級接口下載和分析金融時間序列
pyhoofinance?- 從雅虎財經批量獲取股票數據
yfinanceapi?- 從雅虎財經獲取數據
yql-finance?- 從雅虎財經獲取數據
ystockquote?- 從雅虎財經獲取實時報價
wallstreet?- 實時股票和期權報價
stock_extractor?- 從網絡上爬取股票信息
Stockex?- 從雅虎財經獲取數據
finsymbols?- 獲取全美證券交易所,紐約證券交易所和納斯達克上市公司的詳細數據
inquisitor?- 從Econdb獲取經濟數據,Econdb是全球經濟指標聚合器
chinesestockapi?- 獲取A股數據
exchange?- 獲取最新的匯率報價
ticks?- 命令行程序,獲取股票報價
pybbg?- 彭博終端COM的Python接口
ccy?- 獲取外匯數據
tushare?- 獲取中國股票,基金,債券和期貨市場的歷史數據
jsm?- 獲取日本股票市場的歷史數據
cn_stock_src?- 從不同數據源獲取中國的股票數據
coinmarketcap?- 從coinmarketcap獲取數字貨幣數據
after-hours?- 獲取美股盤前和盤后的市場價格
bronto-python?- 整合Bronto API接口
pytdx?- 獲取中國國內股票的實時報價
pdblp?- 整合Pandas和彭博終端的公共接口
tiingo?- 從Tiingo平臺獲取股票日K線和實時報價/新聞流
IEX?- 從IEX交易所獲取股票的實時報價和歷史數據
alpaca-trade-api?- 從Alpaca平臺獲取股票實時報價和歷史數據,并提供交易接口交易美股
metatrader5?- 集成Python和MQL5交易平臺,適合外匯交易
akshare?- 獲取中國股票,基金,債券和宏觀經濟數據
yahooquery?- 從雅虎財經獲取數據
investpy?- 從英為財經(Investing.com)獲取數據
yliveticker?- 從雅虎財經通過Websocket獲取實時報價
如果文章對你有幫助,歡迎轉發(fā)/點贊/收藏~
作者:朱衛(wèi)軍來源:Python大數據分析_往期文章推薦_
基金定投選星期幾更劃算?