基本思路

空仓并且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相关推荐

  1. cta策略 有哪些_【投资理财】基本面拐点已至,当前环境适合配置哪些策略?...

    来源:格上研究 本周股票市场仍偏震荡,上证指数收涨0.91%,市场不同风格涨跌互现,以大盘蓝筹为主的上证50指数上涨2.54%,而以科技成长为主的创业板指下跌-1.8%,大盘股的表现优于小盘股.在当前 ...

  2. cta策略 有哪些_CTA 主流的交易策略都有哪些?

    CTA策略(Commodity Trading Advisor Strategy)称为商品交易顾问策略,也称作管理期货. 主要通过在基本和技术分析中导入数量模型,并借助计算机系统根据数量模型产生的买卖 ...

  3. CTA策略如何过滤部分震荡行情?

    在供给侧改革背景下,整个黑色系走了一年没有方向的震荡行情.就连常年走势凌厉的 " 小股指 " 螺纹钢,最近也很难出现往日的大波动,至少目前来看,日线级别还是处于宽幅震荡上行状态. ...

  4. 英仕曼235年传奇之路从CTA策略鼻祖到全球最大上市对冲基金

    英仕曼235年传奇之路:从CTA策略鼻祖到全球最大上市对冲基金 CTA基金网 前天从1783年伦敦城的一个木桶糖酒贸易商,发展为全球最大上市对冲基金,英仕曼集团235年的发展史令无数人感慨钦佩.英仕曼 ...

  5. 量化策略篇:股票多头策略、CTA策略、期权策略

    来源 | FunZoo趣园 出品 | Fintech独角兽 我认为quant(策略quant)的核心是策略,底层基础是系统.策略可以个逻辑,简单到我就要买或者卖,也可以是个复杂的模型.而支撑的是平稳测 ...

  6. 国内4种常用日内CTA策略介绍及实现

    本文首发于微信公众号:优矿量化实验室.文章内容属作者个人观点,不代表和讯网立场.投资者据此操作,风险请自担. 本文将向大家介绍四种常见的CTA策略(Dual Thrust.R-Breaker.菲阿里四 ...

  7. 为什么那么多人喜欢用CTA策略?

    CTA策略被称为最"分散"的策略,由于基于管理期货基金本身的特性,其可以提供多元化的投资机会,从商品,黄金,到货币和股票指数等.因此在某种程度上,管理期货基金的决策一般对计算机程序 ...

  8. 商品期货CTA策略系列文章 -- CTA策略的起源

    商品交易顾问(Commodity Trading Advisor,CTA)是一种获取绝对收益的资产管理方式或投资策略. 初始定义来自美国商品期货交易委员会(CFTC)制定的商品交易法案,是指通过为客户 ...

  9. 【量化交易01】CTA策略 菲阿里四价+空中花园策略

    菲阿里四价+空中花园策略 CTA策略(Commodity Trading Advisor Strategy),称为商品交易顾问策略,又称管理期货策略(Managed Futures),简单理解--CT ...

最新文章

  1. 【 MATLAB 】【 MATLAB 】DFT的性质讨论(三)序列的循环卷积及其 MATLAB 实现
  2. 总结Hbase 与 MongoDB
  3. 循环录入某学生 5 门课的成绩并计算平均分,如果某分数录入为负,停止录入并提示录入错误
  4. Django基本概念、安装、配置到实现框架,Xmind学习笔记
  5. java父类shape_为什么该父类无法调用其子类.__ShapeCircle_public_perimeter_getType_shapej__169IT.COM...
  6. 带C#示例的String.Equality(==)运算符
  7. 字节跳动的一面内容记录
  8. 关于hive中的reduce个数的设置。
  9. nginx 配置图片服务器 文件大小,nginx 配置图片服务器 文件大小
  10. 【转载】深入理解Java内存模型——final
  11. deepin tim(wine)无法安装_「原创」Deepin详细安装教程 原来这么简单啊
  12. 【华为OD机试真题 JS】解压报文
  13. 我要偷偷的学Python,然后惊呆所有人(第五天)
  14. python高德地图api调用实例_Python玩转高德地图API(二)
  15. 华为彩信显示尚未激活服务器,华为手机无法接收彩信提示要开通gprs
  16. [转]深度学习在目标跟踪中的应用
  17. 七层网络模型(大致信息讲解)
  18. python散点图图例显示标记点类型_python – matplotlib散点图中的标记点
  19. 生成对抗网络的发展与应用
  20. Mac安装 anaconda及其基本命令

热门文章

  1. mac下打开多个相同应用程序
  2. ipv6 6rd前缀计算
  3. PowerShell SQL Server验证实用程序– DBAChecks
  4. 扩展Reporting Services和SQL Server 2016中的更改
  5. centos升级内核之后修改内核启动顺序
  6. 关于Element UI中页面样式小问题
  7. Swift - 控制流/控制结构说明(if,switch,for,while)
  8. supervisor、pm2、forever坐下来聊聊
  9. POJ C++程序设计 编程题#2 魔兽世界之二:装备
  10. 微信开发学习日记(八):7步看懂weiphp插件机制,核心目标是响应微信请求