python獲取stock數據。
計算技術指標使用talib庫。
方法一:使用 pandas_datareader.data 庫,該庫獲取的歷史數據更多一些。上證股票在股票代碼後面加上“.SS”,深圳股票在股票代碼後面加上“.SZ”
代碼:
stockname='000001.SS'
import pandas_datareader.data as web
import datetime
import pandas as pd
import numpy as np
import talib
start = datetime.datetime(2000,1,1)#獲取數據的起始時間
end = datetime.date.today()#獲取數據的中止時間
stock = web.DataReader(stockname,"yahoo",start,end)
print(stock.head())#顯示5行數據
print(stock.tail())#顯示後5行數據
#print(stock.info())#檢查是否有缺失值
close = [float(x) for x in stock['Close']]
high = [float(x) for x in stock['High']]
low = [float(x) for x in stock['Low']]
#計算5日均價
stock['MA5'] = talib.MA(np.array(close), timeperiod=5)
#計算10日均價
stock['MA10'] = talib.MA(np.array(close), timeperiod=10)
#計算30日均價
stock['MA30'] = talib.MA(np.array(close), timeperiod=30)
#計算60日均價
stock['MA60'] = talib.MA(np.array(close