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

6 篇文章 3 订阅
6 篇文章 0 订阅

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()  # 查看一下数据

在这里插入图片描述

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源码看他是怎么计算的才能知道问题所在。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值