ID:399899
注: 这里使用的数据源是Tushare
量化投资研究中不可避免的需要计算很多的指标,方法有自己构建计算方法去计算。也可以使用现成的库来调用,这里以计算股票300123 RSI值来示范:
1.首先我们需要拿到300123 近一年历史数据
import tushare as ts pro = ts.pro_api('token码') # token码需要在tushare网站https://tushare.pro 个人主页处取到data = pro.daily(ts_code='300123.SZ',start_date = '')data.sort_values(by=['trade_date'],ascending=True,inplace=True)data = data.reset_index(drop=True)data.head() # 查看一下数据
2.自己计算
RSI计算公式:
UP和DOWN为时间跨度为t的 收盘价的涨跌平均值 这里时间跨度选为6 也就是RSI6
rsi_6 = []for i in range(0,len(data)-5):change = data.loc[i:i+5,'change'].values.tolist()up = 0n_up = 0down = 0n_down = 0for j in change:if j > 0:up += j n_up += 1else:down += abs(j)n_down += 1up = 0 if n_up == 0 else up/n_updown = 0 if n_down == 0 else down/n_downrsi = 100*up/(down+up) rsi_6.append(round(rsi,2)) print(rsi_6[:10]) # 打印前十个查看
[32.88, 32.18, 29.27, 31.3, 32.45, 30.28, 45.03, 49.76, 59.77, 59.09]
3.使用TA-LIB库进行计算 库的安装自行百度
import talibrsi_6_talib = talib.RSI(data.close,6)
常见的指标使用talib库可以简便计算,但是有时候会发现和自己计算的有一点偏差,这里应该是需要去找talib源码看他是怎么计算的才能知道问题所在。
如果觉得《python量化投资-技术指标的计算》对你有帮助,请点赞、收藏,并留下你的观点哦!