请选择 进入手机版 | 继续访问电脑版
楼主: wilson.jia
3963 11

[源码分享] python高度可定制的RSI策略及TS股票日线下载 [推广有奖]

  • 11关注
  • 2粉丝

硕士生

0%

还不是VIP/贵宾

-

威望
0
论坛币
19841 个
通用积分
40.2025
学术水平
11 点
热心指数
12 点
信用等级
10 点
经验
1729 点
帖子
65
精华
0
在线时间
136 小时
注册时间
2015-10-10
最后登录
2023-7-13

wilson.jia 在职认证  发表于 2017-7-29 20:36:36 |显示全部楼层 |坛友微信交流群
相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
本人Python运行环境:
windows 10 64位+anaconda3 64bit最新版.
需要用到的Python库:talib、pandas、tushare、os
再次测试,当前可用。

文件1:本地TS数据简单RSI买入策略20170730.py
本地TS数据简单RSI买入策略20170730.rar (3.14 KB, 需要: 120 个论坛币) 本附件包括:
  • 本地TS数据简单RSI买入策略20170730.py

首先,感谢下面文章的作者。
https://bbs.pinggu.org/thread-5844312-1-1.html

策略说明:
1、出现RSI信号后,RSI上涨为买入时机;
2、策略回测的周期以交易日天数进行了简单限定(以iloc限定);
3、股票买入日计入持股1天,但仍以当日收盘价作为买入价;

缺陷:
1、单只股票没有考虑交易成本(汇总统计时考虑了成本);
2、没有考虑交易时间的重叠,即同一时间可能有多支股票符合买入条件;
3、收益计算的时间点上不是比较清晰,仍需检查。

本次更改说明:(和参考文章比较)
1、添加更多的可直接调整参数;
2、更改单只股票策略收益的存放位置(原,存放于最后持股日;现,存放于股票买入日);
3、原print '    总收益:%.2f' %(sum(list(all_profit[profit])) - (count*0.0015) - 1) + '倍'
   改为,去除-1

未来调整方向:
1、用timelist限定回测周期(strategy_testing_period);
2、完善买入策略
3、添加卖出策略,或自动计算最优策略(达到收益最大化的持有天数);

可调整参数说明:
*rsi_period:RSI的Period
*rsiValue:策略的RSI比较值
*holding_days_list:‘持有天数’(限定为4个)
*strategy_testing_days:策略回测的周期
*waiting_days:RSI达到设定值到买入的等待时间
*data_path:股票quotes的储存路径
*calc_path:策略详细细节的储存路径  
*sum_path:策略汇总统计的储存路径
@author: Wilson J
------------------------------------
本地TS数据简单RSI买入策略20170730.jpg


文件2:Tushare下载所选股票历史行情数据到本地-前复权.py

数据说明:
1、通过Tushare接口获取交易数据(前复权)
2、股票代码可以直接输入有限多个,或者采用Tushare函数basic_info中的Code
(注:控制Code数量,建议设定适当的筛选条件)


参数:
1、交易数据开始日期、结束日期
2、CSV文件输出路径

@author: Wilson J




二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝


Tushare下载所选股票历史行情数据到本地-前复权.rar

903 Bytes

需要: 3 个论坛币  [购买]

py文件

本附件包括:

  • Tushare下载所选股票历史行情数据到本地-前复权.py

已有 2 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
accumulation + 100 + 1 + 1 + 1 精彩帖子
fantuanxiaot + 32 + 22 + 3 + 3 + 3 精彩帖子

总评分: 经验 + 132  论坛币 + 22  学术水平 + 4  热心指数 + 4  信用等级 + 4   查看全部评分

本帖被以下文库推荐

努力。
marcus10 发表于 2017-7-30 16:25:14 |显示全部楼层 |坛友微信交流群
支持,即使楼主不奖励我论坛币,我也支持你们!加油

使用道具

sharkblue 发表于 2017-7-30 18:17:03 |显示全部楼层 |坛友微信交流群
要是附上回测的结果就最好了

使用道具

stud2008 发表于 2017-7-31 13:28:33 |显示全部楼层 |坛友微信交流群
楼主太贵了,2个金币意思一下吧

使用道具

lingvincent 发表于 2017-7-31 15:58:50 |显示全部楼层 |坛友微信交流群
买过最贵的资料了,权当支持作者,我数据是写爬虫去网页抓的分钟数据。

使用道具

wilson.jia 在职认证  发表于 2017-7-31 17:33:01 |显示全部楼层 |坛友微信交流群
个人的定价策略而已,不喜勿喷,谢谢。自己水平有限,所以也是花了很多的时间和精力。
技术水平有限,难免错误,欢迎交流,乐于改正。

使用道具

先马住,,回头在下载

使用道具

wilson.jia 在职认证  发表于 2017-9-23 16:27:53 |显示全部楼层 |坛友微信交流群
lingvincent 发表于 2017-7-31 15:58
买过最贵的资料了,权当支持作者,我数据是写爬虫去网页抓的分钟数据。
求怎么抓的分钟数据

使用道具

灭菌水8 发表于 2018-12-11 23:19:35 |显示全部楼层 |坛友微信交流群
Traceback (most recent call last):
  File "D:/untitled/recall.py", line 169, in <module>
    multi_days_profit(rsi, buy, profit, close, holding_days, content)
  File "D:/untitled/recall.py", line 111, in multi_days_profit
    buy.iat[i + 1 + waiting_days] = 1  # 如i日收盘后出现RSI买入信号,buy列(i+1+waiting_days)写入1
  File "D:\untitled\venv\lib\site-packages\pandas\core\indexing.py", line 2159, in __setitem__
    self.obj._set_value(*key, takeable=self._takeable)
  File "D:\untitled\venv\lib\site-packages\pandas\core\series.py", line 1076, in _set_value
    self._values[label] = value
IndexError: index 238 is out of bounds for axis 0 with size 238
随机股票出错,改成不限回测区间还是不行,请问怎么回事

使用道具

灭菌水8 发表于 2018-12-11 23:29:54 |显示全部楼层 |坛友微信交流群
我可以付论坛币给楼主,帮我看下

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jr
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-16 15:13