一、什麼是pandasdatareader?
pandasdatareader是一個使用Python語言獲取數據的庫,主要通過pandas庫對Yahoo Finance、Google Finance、World Bank等數據源進行操作。pandasdatareader支持多個金融數據源,可以使用一個API來獲取多個數據源的數據信息,使得數據的獲取更加方便。
二、pandasdatareader的安裝及使用
使用pip進行安裝:pip install pandas-datareader
安裝完成後就可以在Python腳本中進行調用。下面的代碼用於從Yahoo Finance獲取蘋果公司的股票價格信息:
import pandas as pd import pandas_datareader.data as web start = pd.to_datetime('2020-05-01') end = pd.to_datetime('2020-05-31') data = web.DataReader('AAPL', 'yahoo', start, end) print(data.head())
在上面的代碼中,’AAPL’是蘋果公司的股票代碼,’yahoo’是指從Yahoo Finance獲取數據,start和end是指數據的時間跨度。
三、get_data_yahoo()函數的使用
pandasdatareader庫中有很多函數可以使用,其中get_data_yahoo()函數可以從Yahoo Finance獲取股票價格信息。下面的代碼用於獲取蘋果公司的股票價格、交易量和股票分割信息:
import pandas as pd import pandas_datareader.data as web start = pd.to_datetime('2020-05-01') end = pd.to_datetime('2020-05-31') data = web.get_data_yahoo('AAPL', start, end) print(data.head())
在上面的代碼中,’AAPL’是蘋果公司的股票代碼,start和end是指數據的時間跨度,get_data_yahoo()函數會返回一個包含蘋果公司股票價格、交易量和股票分割信息的Dataframe。
四、使用pandasdatareader獲取多隻股票價格信息
通過pandasdatareader,可以一次性獲取多隻股票的價格信息。下面的代碼用於獲取蘋果公司和亞馬遜公司5月份的股票價格信息:
import pandas as pd import pandas_datareader.data as web start = pd.to_datetime('2020-05-01') end = pd.to_datetime('2020-05-31') tickers = ['AAPL', 'AMZN'] all_data = {ticker: web.get_data_yahoo(ticker, start, end) for ticker in tickers} print(all_data['AAPL'].head()) print(all_data['AMZN'].head())
在上面的代碼中,’AAPL’和’AMZN’分別是蘋果公司和亞馬遜公司的股票代碼,start和end是指數據的時間跨度,使用字典的形式將獲取到的蘋果公司和亞馬遜公司的股票價格信息存儲在all_data中,可以通過all_data[‘AAPL’]和all_data[‘AMZN’]來訪問相應的數據。
五、使用pandasdatareader獲取指數信息
pandasdatareader除了可以獲取股票價格信息之外,還可以獲取各種指數信息。下面的代碼用於獲取標普500指數的信息:
import pandas as pd import pandas_datareader.data as web start = pd.to_datetime('2020-05-01') end = pd.to_datetime('2020-05-31') data = web.get_data_yahoo('^GSPC', start, end) print(data.head())
在上面的代碼中,’^GSPC’是標普500指數的代碼。
六、獲取全球金融市場信息
pandasdatareader可以獲取全球範圍內的金融市場信息,例如股票價格、外匯匯率、國債收益率等等。下面的代碼用於獲取德國聯邦國債的收益率信息:
import pandas as pd import pandas_datareader.data as web start = pd.to_datetime('2020-05-01') end = pd.to_datetime('2020-05-31') data = web.DataReader(name='GDBR10', data_source='fred', start=start, end=end) print(data.head())
在上面的代碼中,’GDBR10’是指德國聯邦國債的代碼,data_source=’fred’表示從Fred資料庫獲取數據。
七、總結
pandasdatareader是一個十分強大的獲取金融市場數據的庫,通過pandasdatareader可以方便地獲取全球範圍內多個數據源的數據信息。在獲取數據的同時,pandasdatareader庫還支持數據重採樣和對齊、數據篩選和計算等豐富的數據處理功能。使用pandasdatareader可以使數據的獲取和分析變得更加簡單、高效。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/295383.html