| 所在主题: | |
| 文件名: sh600004.txt | |
| 资料下载链接地址: https://bbs.pinggu.org/a-2273678.html | |
| 附件大小: | |
|
我根据刑不行老师的部分代码,重写了使用pandas计算RSI的一个例子,并且使用RSI简单实现了一个策略,RSI突破50买入并持有的策略。当然这个策略还非常粗糙,只够练手使用,适合新入门同学看看。如果有不当的地方,请指正。直接上代码分析: 1、打开文件,只取自己需要的数据列
2.根据WMA来计算RSI,有2个小技巧,1是使用diff()来计算两个收盘价的差值,2是使用 stock_data['涨跌'] = stock_data['close']- stock_data['close'].shift(1)也可以计算前后两日的差值。 3.取第一个RSI大于50的数据,RSI大于50,随后的第二天第三天。。。的RSI都有可能大于50,而我们的策略是买入持有,所以要把第二天第三天RSI大于50的数据给去除,这里使用了shift来完成. 4.计算收益率 #计算所有的时间持有1日,2日。。。的收益率,我就不贴图片,直接上代码: for n in [1,2,3,5,10,20]: stock_data['随后'+str(n)+'个交易日涨跌幅'] = stock_data['adjust_price'].shift(-1*n) / stock_data['adjust_price'] - 1.0 #只取值‘RSI大于50不为0的那些数值 stock_data = stock_data[(stock_data['RSI>50'] > 0)] print '当RSI(14)大于50时发出买入信号:' print '共发出买入信号%d次' % len(stock_data['RSI>50'] ) for n in [1,2,3,5,10,20]: print '随后'+str(n)+'交易日涨跌幅%.2f %%' % (stock_data['随后'+str(n)+'个交易日涨跌幅'].sum() * 100 ) 测试结果: 附件中含有本例子中含有的数据文件和源代码,小卖2个币,需要修改对应的附件文件名后缀。 感谢刑不行老师的代码分享源代码 |
|
熟悉论坛请点击新手指南
|
|
| 下载说明 | |
|
1、论坛支持迅雷和网际快车等p2p多线程软件下载,请在上面选择下载通道单击右健下载即可。 2、论坛会定期自动批量更新下载地址,所以请不要浪费时间盗链论坛资源,盗链地址会很快失效。 3、本站为非盈利性质的学术交流网站,鼓励和保护原创作品,拒绝未经版权人许可的上传行为。本站如接到版权人发出的合格侵权通知,将积极的采取必要措施;同时,本站也将在技术手段和能力范围内,履行版权保护的注意义务。 (如有侵权,欢迎举报) |
|
京ICP备16021002号-2 京B2-20170662号
京公网安备 11010802022788号
论坛法律顾问:王进律师
知识产权保护声明
免责及隐私声明