使用Python獲取金融數(shù)據(jù)

俗話說,“巧媳婦難為無米之炊”。做金融數(shù)據(jù)研究,首先要有可用的數(shù)據(jù)源。
Python下,pandas_datareader模塊可以用于獲取研究數(shù)據(jù)。例子如下:

>>> from pandas_datareader.data import DataReader
>>>
>>> datas = DataReader(name='AAPL', data_source='yahoo', start='2018-01-01')
>>>
>>> type(datas)
<class 'pandas.core.frame.DataFrame'>
>>> datas
                  Open        High         Low       Close   Adj Close  \
Date
2018-01-02  170.160004  172.300003  169.259995  172.259995  172.259995
2018-01-03  172.529999  174.550003  171.960007  172.229996  172.229996
2018-01-04  172.539993  173.470001  172.080002  173.029999  173.029999
2018-01-05  173.440002  175.369995  173.050003  175.000000  175.000000
2018-01-08  174.350006  175.610001  173.929993  174.350006  174.350006
2018-01-09  174.550003  175.059998  173.410004  174.330002  174.330002
2018-01-10  173.160004  174.300003  173.000000  174.289993  174.289993
2018-01-11  174.589996  175.490005  174.490005  175.279999  175.279999
2018-01-12  176.179993  177.360001  175.649994  177.089996  177.089996

              Volume
Date
2018-01-02  25555900
2018-01-03  29517900
2018-01-04  22434600
2018-01-05  23660000
2018-01-08  20567800
2018-01-09  21584000
2018-01-10  23959900
2018-01-11  18667700
2018-01-12  25226000
>>>
>>> print(datas.to_csv())
Date,Open,High,Low,Close,Adj Close,Volume
2018-01-02,170.160004,172.300003,169.259995,172.259995,172.259995,25555900
2018-01-03,172.529999,174.550003,171.960007,172.229996,172.229996,29517900
2018-01-04,172.539993,173.470001,172.080002,173.029999,173.029999,22434600
2018-01-05,173.440002,175.369995,173.050003,175.0,175.0,23660000
2018-01-08,174.350006,175.610001,173.929993,174.350006,174.350006,20567800
2018-01-09,174.550003,175.059998,173.410004,174.330002,174.330002,21584000
2018-01-10,173.160004,174.300003,173.0,174.289993,174.289993,23959900
2018-01-11,174.589996,175.490005,174.490005,175.279999,175.279999,18667700
2018-01-12,176.179993,177.360001,175.649994,177.089996,177.089996,25226000

>>>

首先,引入DataReader方法;
然后,以股票代碼(name)、數(shù)據(jù)源(data_source)以及開始日期(start)為參數(shù),調(diào)用DataReader獲取數(shù)據(jù);
獲取到的數(shù)據(jù)(datas)是一個DataFrame,以日期(Date)為索引,包含OpenHigh、LowClose等多列指標(biāo)。
DataFrame數(shù)據(jù)也可以非常方便地轉(zhuǎn)換成csv格式并輸出。

注意到,pandas_datareader還可以使用其他數(shù)據(jù)源,比如Google Finance
更多關(guān)于pandas_datareader使用方式,請參考:pandas-datareader文檔。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容