之前自己对CTA一直很好奇,原因之一是其回测曲线形态非常诱人,基本都是是单调上涨的,今天阅读了vnpy的源代码才弄明白,原来其回测曲线是基于交易次数,而非交易时间的,也就是说x轴表示次数。这样的的话就很好解释为何其形态表现好了。但这么评价也存在较大风险或漏洞。
**问题1:忽视基础资产在这个区间表现。 ** 大部分cta都是基于趋势的(或者通道突破)都差不多,这种行情下,策略表现优劣极大程度由行情本身决定的,比如,赶上一个小牛市,那么大部分天数的行情都是存在明显趋势的,cta表现就很好。也即是策略好坏大概率取决于行情而非策略本身。换句话来说,即使一个策略不好,我总能找到一些标的在一些时间上回测结果较好(或者通过严苛的开仓条件进行优化,分钟线基础上即使开仓严苛也会有较多信号产生)。
比较合理的做法是将策略的资产图和基础资产都表示出来,如果基础资产上涨10%,考虑高杠杆因素,如果策略涨幅超过10%*10杠杆,那么认为极好的。如果低于10%10杠杆,但是波动率非常低,也可以认为不错,如果低于10%10,但波动率又很高,即使回测曲线笔笔挣钱,也很难说明策略优秀。
举个例子,双均线在时序角度的回测上变现一般不大好,原因是开仓频率过低,比如长期60-120均线,一般大牛市都能捕捉到(结合止损策略,回撤也可以做小),但是由于开仓阈值太高,导致大部分行情都是空仓,最终效果可能比不过基准标的。但是如果用cta的交易次数衡量的华,其效益一样会比较诱人。这里意思并非cta的次数衡量不好,而是说其丢失了一部分信息,而这部分信息其实是比较重要的。就是收益从那种很那个行情形态中获取的。 采用时序收益图,行情虽然不太完美,但可以较明显的看出特定行情对特定策略的收益关联性,实际对于我们跑实盘是有很大参考意义的。
问题2:按照交易终止的配对来判断交易盈亏(暂时不考虑其隐含了先进先出的交易配对规则,以及当日平仓操作的低手续费)(同样隐含了忽略时间价值的问题)。
每一笔交易都以exittrade作为结算点,
比如:(样例,价格是元)
0101:买入3单位,价格3元
0103:卖出1单位,价格4元,
0107:卖出2单位,价格5元
那么对应tradelist-pair:
0101,0103,1单位,1元,总收益11=1:第一个1是2-1,个单位,第二个1是价格4-3,
0101,0107,2单位,2元,总收益22=4:
那么反映到收益图上其实是
0103:1(盈利)
0107:4(盈利)
总收益5,虽然理论上也是对的,按照这个操作方式的确可以取得这个收益,但是这个可以作为评价策略的指标么?
不放再补充下行情
0101:价格3,这里买3
0102:价格8
0103:价格4,这里卖1
0104:价格7
0105:价格11
0106:价格7
0107:价格5,这里卖2
如图: 

从交易次数角度,胜率100%,无亏损,非常不错的策略了。 但从图上可见,实际策略卖在局部最低价,卖点是极差的。 其优化潜力非常大,用交易次数-收益视图,却无法看出(还有一种理解,换用不同的配对策略,先进先出和后进先出等,总盈利不影响,盈亏比和收益曲线会受到影响)。
这表明用传统的次数型评价是有缺陷的。
如果用时间-资产角度的评估,则问题1和2都可以解决。对于1,可以观察到何种行情就会给策略带来较好表现,对于2也可以看出策略潜力。
`

vnpy学习_04回测评价指标的缺陷相关推荐

  1. vnpy学习_06回测结果可视化改进

    对vnpy原始的策略评估做了调整,去掉部分不是非常重要或虽然重要但从其他图中可以看出的冗余信息(比如最大回撤),没必要专门用一图进行绘制. 策略:vnpy的样例策略strategyAtrRsi 回测信 ...

  2. 目前市面上量化交易软件、平台、框架的特点, 重点推荐VNPY底层仿真回测系统

    随着这几年量化交易在国内的快速发展,各种API接口.量化平台.量化交易框架匆匆推出,呈现出一片百花齐放,欣欣向荣的景象,但是由于目前国内还处于私募基金发展的初期,大部分平台也都匆匆上马,既有自己的特点 ...

  3. vnpy怎么创建策略并回测_【手把手教你】入门量化回测最强神器backtrader(一)

    1 引言 目前基于Python的量化回测框架有很多,开源框架有zipline.vnpy.pyalgotrader和backtrader等,而量化平台有Quantopian(国外).聚宽.万矿.优矿.米 ...

  4. backtrader股票技术指标自定义与量化回测

    01 引言 股票市场自交易以来,人们就开始孜孜不倦地探索各种各样的投资理论,其中技术分析是重要的理论之一.实际上,技术分析是100多年前创建的股票投资理论,是投资者对股票量价变化长期观察归纳总结的若干 ...

  5. Python量化投资——投资组合的评价和可视化(下):使用Matplotlib生成专业的投资回测数据可视化仪表盘【源码+详解】

    使用Matplotlib生成专业的数据可视化仪表盘(下篇) 投资结果的可视化(下篇) 图表的布局规划及格式设定 图表布局 格式设定 表头和回测结果摘要信息 表1:绘制收益率曲线图 1,绘制投资收益率以 ...

  6. 6款优秀的量化交易回测框架!VNPY位居第一

    一个策略从想法,到测试,在到实盘,然后改进,进入另一个循环,需要很多的时间和精力.这时候选择一款高效.灵活的测试系统就是当务之急了.即使最后你可能需要写自己的系统,但是这些框架的软工架构还是很值得借鉴 ...

  7. vnpy怎么创建策略并回测_基于vnpy、rqdata的回测打通历程

    本文用于记录本人回测填坑路上蹚过的坑. 历史数据方面,最近听说rqdata数据质量不错,而且可以通过米匡注册用户享有1个月免费使用期,于是打算用于回测的数据来源. 话不多说. 安装vnpy2.0.5, ...

  8. 把backtrader改造成金融强化学习回测引擎

    原创文章第119篇,专注"个人成长与财富自由.世界运作的逻辑, AI量化投资". 继续强化学习应用于金融投资. 我们的AI量化平台,针对传统规则量化策略,进行了"积木式& ...

  9. vnpy量化回测怎么做?一文带你了解

    有些量化教程让人摸不着头脑.他们一上来就教人怎么写策略,但你连回测都做不到.即使你有一个很棒的策略,你敢让他直接跑吗?因此,本期主要解决vnpy量化回测怎么做的问题.我们的目的很简单,无视策略,让回测 ...

最新文章

  1. 《CSS揭秘》笔记(一)
  2. 解决incorrect 'only available in ES6' warning (W119) with options `moz: true, esversion: 6` 报错问题...
  3. 直接输出数组的名字不一定是地址值
  4. ORB-SLAM2和ORB-SLAM的区别
  5. JS 取得当前时间日期
  6. Hive 复制分区表和数据
  7. 数据库 并发 悲观锁 乐观锁 是什么 区别
  8. 190328每日一句 When you forgive, you release.
  9. 微博注册页面html,微博静态模板html
  10. ev3的c语言编程软件,乐高EV3编程软件教育版下载
  11. 在oracle里面查询视图,oracle查询所有视图
  12. 文件服务器mfs,MFS 分布式文件存储系统
  13. 培训html源码,前端培训——html源码笔记
  14. EHIGH恒高:大话UWB技术之TDOA与TOF两种技术方案对比
  15. 笛卡尔坐标变换: UVA1602
  16. C语言界面列表的滑动效果,jQuery+ajax实现滚动到页面底部自动加载图文列表效果(类似图片懒加载)...
  17. 【2015年第4期】城市交通大数据技术及智能应用系统
  18. 使用BGP机房有以下优势:
  19. 江财计算机排名,江西财经大学排名
  20. excel去掉同一个单元格内重复的文字工具

热门文章

  1. 4.2第一个窗口程序
  2. Java相关资源下载路径
  3. 整理的一些实用工具网站
  4. ubuntu15.04在安装完vmware11后打开提示 VMware Kernel Module Updater
  5. aws rds监控慢sql_AWS RDS SQL Server –监视数据库实例
  6. ssis 表达式任务_在SSIS中执行SQL任务:SqlStatementSource表达式与可变源类型
  7. 内置auth 的使用,用超级用户创建
  8. Asp.Net MVC 自定义登录过滤器
  9. 【设计模式】 模式PK:命令模式VS策略模式
  10. HDU2161 Primes