本策略就是利用RSI这个特性研究RSI的反转规律。本文所使用的数据来自Tushare,时间跨度为2016.1.1到2017.6.30日,共有3270只股票。之所以选择近期一年半的数据,是因为近一年半处于熊市当中,验证近期使用该策略是否有效。
1)策略结果:
从统计结果我们看到当RSI小于20时,持有10个交易日总收益高达23倍,而我们的时间跨度仅仅为1年半。
2)策略介绍:
a)本策略使用14日RSI,如果RSI小于设定数值,买入并持有3,5,10,12日,计算这些持有日期的收益率.
b) 反转策略,设定数值不能超过50,否则就不准确了。
c)反转策略,当RSI小于指定数值后,可能随机还会下跌,所以指定的日期不能小于3,否则也失去意义。
d)改进方向:RSI小于指定数值后,需要等到RSI不在继续下跌或者收盘价不再下跌再买入。
e)缺陷:没有考虑交易时间的重叠,即同一时间可能有多个股票符合买入条件,资金会分成几份。结果的收益会虚高。
3)代码分析
3.1)遍历所有文件,这些文件从tushare获取,保存在本地test目录之下。
3.2函数calc_profit ,统计持有3日,5日等多个时期的收益率和胜率情况;
3.3函数multi_date_profit,同时持有3日,5日等多个日期时,某个股票的收益情况;
3.4 遍历每个股票,调用函数multi_date_profit,得到3日,5日等多个日期的统计数据。
3.5)打印全部股票的收益率和胜率,并存储到.csv文件中去。
4)结论:本策略没有区分该股票是否面临利空的因素,如果能结合爬虫,分析该股票近期公告和新闻,对于负面消息,不买入该股票,而买入基本面良好的股票,这样胜率可以大大提升。
本文的源代码请见附件,小卖5个币,毕竟写代码不容易啊,花费了不少心思。如果有错误的地方,请大家交流指正。直接在后面回复即可。
- tushare_all_rsi.py