python量化投资-技术指标的计算

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 = '20200316')
data.sort_values(by=['trade_date'],ascending=True,inplace=True)
data = data.reset_index(drop=True)
data.head()  # 查看一下数据

python量化投资-技术指标的计算_第1张图片

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 = 0
    n_up = 0
    down = 0
    n_down = 0
    for j in change:
        if j > 0:
            up += j 
            n_up += 1
        else:
            down += abs(j)
            n_down += 1
    up = 0 if n_up == 0 else up/n_up
    down = 0 if n_down == 0 else down/n_down
    
    rsi = 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 talib

rsi_6_talib = talib.RSI(data.close,6)

常见的指标使用talib库可以简便计算,但是有时候会发现和自己计算的有一点偏差,这里应该是需要去找talib源码看他是怎么计算的才能知道问题所在。

你可能感兴趣的:(股票,金融,笔记,python,数据分析,tushare)