CTA策略05_AtrRsiStrategy
基本思路
空仓并且atr>atrma:if rsiValue>rsiBuy:开多单elfi rsiValue<rsiSell:开空单
有多头持仓:if self.rsiValue < self.rsiSell:平多单,开空单
有空头持仓:if self.rsiValue > self.rsiBuy:平空单开多单
回测参数
atrLength = 22 # 计算ATR指标的窗口数 atrMaLength = 10 # 计算ATR均线的窗口数rsiLength = 5 # 计算RSI的窗口数rsiEntry = 35 # RSI的开仓信号self.rsiBuy = 50 + self.rsiEntryself.rsiSell = 50 - self.rsiEntry
回测结果
参数优化
回测图中看到关键参数:
对于参数:
atrLength = 22 # 计算ATR指标的窗口数 atrMaLength = 10 # 计算ATR均线的窗口数
二者只控制第一笔开仓交易时间/方向(类似择时,后续所有交易都非多即空).所以这2个参数可以暂时不理会。
较为重要的2个参数
rsiLength = 5 # 计算RSI的窗口数rsiEntry = 35 # RSI的开仓信号
由于rsiLength控制rsi的计算周期,rsiEntry控制了买卖阈值,由于阈值对称的所以只使用一个变量就足够了, 参数优化
setting.addParameter('rsiLength', 5,55,10)
setting.addParameter('rsiEntry', 15,35,5)
结果:
2019-04-16 17:04:39.688957 参数:{'rsiLength': 15, 'rsiEntry': 35},目标:1009033.0454
2019-04-16 17:04:39.688968 参数:{'rsiLength': 25, 'rsiEntry': 30},目标:1009033.0454
2019-04-16 17:04:39.688978 参数:{'rsiLength': 25, 'rsiEntry': 35},目标:1009033.0454
2019-04-16 17:04:39.688987 参数:{'rsiLength': 35, 'rsiEntry': 30},目标:1009033.0454
2019-04-16 17:04:39.688995 参数:{'rsiLength': 45, 'rsiEntry': 25},目标:1009033.0454
2019-04-16 17:04:39.689004 参数:{'rsiLength': 55, 'rsiEntry': 25},目标:1009033.0454
2019-04-16 17:04:39.689013 参数:{'rsiLength': 15, 'rsiEntry': 25},目标:1008501.46148
2019-04-16 17:04:39.689024 参数:{'rsiLength': 45, 'rsiEntry': 30},目标:1007747.00682
2019-04-16 17:04:39.689033 参数:{'rsiLength': 55, 'rsiEntry': 30},目标:1007747.00682
2019-04-16 17:04:39.689042 参数:{'rsiLength': 15, 'rsiEntry': 30},目标:1007084.02996
2019-04-16 17:04:39.689051 参数:{'rsiLength': 25, 'rsiEntry': 20},目标:1006781.83798
2019-04-16 17:04:39.689059 参数:{'rsiLength': 45, 'rsiEntry': 20},目标:1006625.14456
2019-04-16 17:04:39.689067 参数:{'rsiLength': 55, 'rsiEntry': 20},目标:1006625.14456
2019-04-16 17:04:39.689076 参数:{'rsiLength': 35, 'rsiEntry': 25},目标:1006493.14852
2019-04-16 17:04:39.689086 参数:{'rsiLength': 5, 'rsiEntry': 35},目标:1006110.091
2019-04-16 17:04:39.689096 参数:{'rsiLength': 35, 'rsiEntry': 15},目标:1005903.72738
2019-04-16 17:04:39.689105 参数:{'rsiLength': 45, 'rsiEntry': 15},目标:1005598.38058
2019-04-16 17:04:39.689114 参数:{'rsiLength': 25, 'rsiEntry': 25},目标:1005228.646
2019-04-16 17:04:39.689123 参数:{'rsiLength': 35, 'rsiEntry': 20},目标:1004246.28134
2019-04-16 17:04:39.689131 参数:{'rsiLength': 55, 'rsiEntry': 15},目标:1003646.62962
2019-04-16 17:04:39.689140 参数:{'rsiLength': 35, 'rsiEntry': 35},目标:1003168.86948
2019-04-16 17:04:39.689148 参数:{'rsiLength': 45, 'rsiEntry': 35},目标:1003168.86948
2019-04-16 17:04:39.689157 参数:{'rsiLength': 55, 'rsiEntry': 35},目标:1003168.86948
2019-04-16 17:04:39.689166 参数:{'rsiLength': 15, 'rsiEntry': 20},目标:1001145.649
2019-04-16 17:04:39.689174 参数:{'rsiLength': 25, 'rsiEntry': 15},目标:1000352.44112
2019-04-16 17:04:39.689183 参数:{'rsiLength': 15, 'rsiEntry': 15},目标:1000313.52388
2019-04-16 17:04:39.689192 参数:{'rsiLength': 5, 'rsiEntry': 30},目标:999301.5286
2019-04-16 17:04:39.689200 参数:{'rsiLength': 5, 'rsiEntry': 25},目标:994286.31328
2019-04-16 17:04:39.689209 参数:{'rsiLength': 5, 'rsiEntry': 20},目标:990900.77608
2019-04-16 17:04:39.689218 参数:{'rsiLength': 5, 'rsiEntry': 15},目标:989164.8178
最终选择参数: 'rsiLength': 25,'rsiEntry': 30,对应收益1009033.0454
参数稳定性测试
测试各个月份最优结果的下月表现
代码段 小部件
结论:参数组合'rsiLength': 25,'rsiEntry': 30,稳定性尚可02-03月份表现不佳,但是也是正收益
(实际还需要参考历史最大回撤,近20日最大回撤等,由于中间数据没保存下来,就不再重新跑了.)
回测图:
可见这个策略其实是有问题的,仅仅开仓一次,偶然因素很大,这也是回测时为何topn的收益等完全一样的原因.
CTA策略05_AtrRsiStrategy相关推荐
- cta策略 有哪些_【投资理财】基本面拐点已至,当前环境适合配置哪些策略?...
来源:格上研究 本周股票市场仍偏震荡,上证指数收涨0.91%,市场不同风格涨跌互现,以大盘蓝筹为主的上证50指数上涨2.54%,而以科技成长为主的创业板指下跌-1.8%,大盘股的表现优于小盘股.在当前 ...
- cta策略 有哪些_CTA 主流的交易策略都有哪些?
CTA策略(Commodity Trading Advisor Strategy)称为商品交易顾问策略,也称作管理期货. 主要通过在基本和技术分析中导入数量模型,并借助计算机系统根据数量模型产生的买卖 ...
- CTA策略如何过滤部分震荡行情?
在供给侧改革背景下,整个黑色系走了一年没有方向的震荡行情.就连常年走势凌厉的 " 小股指 " 螺纹钢,最近也很难出现往日的大波动,至少目前来看,日线级别还是处于宽幅震荡上行状态. ...
- 英仕曼235年传奇之路从CTA策略鼻祖到全球最大上市对冲基金
英仕曼235年传奇之路:从CTA策略鼻祖到全球最大上市对冲基金 CTA基金网 前天从1783年伦敦城的一个木桶糖酒贸易商,发展为全球最大上市对冲基金,英仕曼集团235年的发展史令无数人感慨钦佩.英仕曼 ...
- 量化策略篇:股票多头策略、CTA策略、期权策略
来源 | FunZoo趣园 出品 | Fintech独角兽 我认为quant(策略quant)的核心是策略,底层基础是系统.策略可以个逻辑,简单到我就要买或者卖,也可以是个复杂的模型.而支撑的是平稳测 ...
- 国内4种常用日内CTA策略介绍及实现
本文首发于微信公众号:优矿量化实验室.文章内容属作者个人观点,不代表和讯网立场.投资者据此操作,风险请自担. 本文将向大家介绍四种常见的CTA策略(Dual Thrust.R-Breaker.菲阿里四 ...
- 为什么那么多人喜欢用CTA策略?
CTA策略被称为最"分散"的策略,由于基于管理期货基金本身的特性,其可以提供多元化的投资机会,从商品,黄金,到货币和股票指数等.因此在某种程度上,管理期货基金的决策一般对计算机程序 ...
- 商品期货CTA策略系列文章 -- CTA策略的起源
商品交易顾问(Commodity Trading Advisor,CTA)是一种获取绝对收益的资产管理方式或投资策略. 初始定义来自美国商品期货交易委员会(CFTC)制定的商品交易法案,是指通过为客户 ...
- 【量化交易01】CTA策略 菲阿里四价+空中花园策略
菲阿里四价+空中花园策略 CTA策略(Commodity Trading Advisor Strategy),称为商品交易顾问策略,又称管理期货策略(Managed Futures),简单理解--CT ...
最新文章
- 【 MATLAB 】【 MATLAB 】DFT的性质讨论(三)序列的循环卷积及其 MATLAB 实现
- 总结Hbase 与 MongoDB
- 循环录入某学生 5 门课的成绩并计算平均分,如果某分数录入为负,停止录入并提示录入错误
- Django基本概念、安装、配置到实现框架,Xmind学习笔记
- java父类shape_为什么该父类无法调用其子类.__ShapeCircle_public_perimeter_getType_shapej__169IT.COM...
- 带C#示例的String.Equality(==)运算符
- 字节跳动的一面内容记录
- 关于hive中的reduce个数的设置。
- nginx 配置图片服务器 文件大小,nginx 配置图片服务器 文件大小
- 【转载】深入理解Java内存模型——final
- deepin tim(wine)无法安装_「原创」Deepin详细安装教程 原来这么简单啊
- 【华为OD机试真题 JS】解压报文
- 我要偷偷的学Python,然后惊呆所有人(第五天)
- python高德地图api调用实例_Python玩转高德地图API(二)
- 华为彩信显示尚未激活服务器,华为手机无法接收彩信提示要开通gprs
- [转]深度学习在目标跟踪中的应用
- 七层网络模型(大致信息讲解)
- python散点图图例显示标记点类型_python – matplotlib散点图中的标记点
- 生成对抗网络的发展与应用
- Mac安装 anaconda及其基本命令