历史回测太漂亮是不是可以说过度优化?

Discussion in 'Philosophy and Strategy' started by HugeStone, Sep 2, 2014.

  1. 程序化新手.最近在写一个短线策略.白糖和ta2012年之前都很漂亮,但2012.4-2013.8都有个平台期,想了很多办法都不能完全解决,还有收益率,最大回撤.网上贴出来的那些曲线"赫,可真是漂亮!".对比下来感觉自己差距好大.然后去翻了一下期货拍拍网中的一些ctp基金,发现排名靠前的,除了极个别外,大部分的资金曲线都不好看,还不如我这个曲线.我就琢磨一件事儿,能搞私募的人,想必比一般的交易者要牛逼点,如果他们的曲线都这个样子,那么那些网上贴出来漂亮的不得了的回测曲线,到底是我水平不够,少见多怪呢,还是,绝大部分这种漂亮曲线存在过度优化的问题?

    请程序化实盘时间比较长的出来说说
     
  2. 《精明交易者》里的卡夫曼指数

    PF能过1.3,绝对算好策略
     
  3. 请问PF的算法是什么?
     
  4. 没错, 通常漂亮的资金曲线都是过度优化的结果。 之所以排名好的基金,资金曲线比不上你的,我认为是因为人家是真实交易的资金曲线, 你的这个是模拟的,优化过的。
     
  5. 我的意思实际上是指这些基金的曲线远比不上网友经常贴出来的那些回撤曲线,以及远达不到一般网友对别人贴出来的系统的评价水准.我这个系统跟网友的比较,只能自惭形秽,无地自容
     
  6. 排名靠前的资金曲线,单笔盈亏是盈亏/账户权益得出来的;自己测试的曲线,是盈亏/总权益资产
     
  7. 应该是profit factor盈利因子
    总盈利除以总亏损
    这个东西有点悬...
    你可以看到有些连续亏了三年的策略PF也很好
     
  8. 道理是一样的。 不过不排除个别系统实际资金曲线也很漂亮。
     
  9. 那我觉得这个指标还真不见得有多好,我这策略都>2.5了,但是年收益率只有30%多一点,跟那些动辄70%+,100%+以上的策略简直不敢直视
     
  10. PF>2.5 年化才30%?你是故意降低杠杆来算的吧? 或者小止损。
     
  11. 你的PF是实盘还是回测?
     
  12. 难道你们没发现盈利因子的缺陷吗?没有考虑时间,交易次数,盈亏总规模.比如,我一年就交易2笔,一笔亏1000,一笔赚2000,pf=2.年收益率.....这就是为什么我的收益率不高的原因之一.原因之二就是最大浮动回撤较大,杠杆不能提高.
    苦恼中...

    是回测
     
  13. 只看盈利因子当然有缺陷,不过你的例子不太好,因为这个本来就是个统计数据,需要建立在一定的统计样本之上,2笔交易无论如何也不能形成一个统计样本。统计学上的样本数量至少也要30到50吧。如果有1000笔交易平均亏,每笔1000,平均赚,每笔2000,只要胜率不太低,综合起来还是不错的策略。
     
  14. 回测和实盘的差异是很大的,回测没有心理因素,实盘有很多意想不到的因素干扰。
     
  15. 我这个策略大约是2-3周交易一次/一个品种,5年大约是250+次.目前来看各方面指标都还不错,已经开始实盘了.
    今天看到篇总结,转载过来,其中第3条真是我想表达的意思(给自己找注脚:D):
    1. 对新手而言,手动交易等同于自杀
    2. 套利风险并不比趋势小,因为套利经常满仓,半仓干,而趋势交易只会动用很少的仓位
    3. 测试效果很好的程序会慢慢死亡,而丑陋粗糙的系统如野草般坚强
    4. 人的智商,情商是有差别的,创造好的系统,需要好的灵感(或足够多的经验)
    5. 策略创新很难,苦想新颖的模块不如改编现有的经典
    6. 经过测试可以发现,用海龟,布林轨,肯特纳带,百分比带,均线做趋势,效果都是类似的。赚钱与否,贵在理性的坚持
    7.屡次的失败会影响心境,对趋势交易者来说,频繁止损不如抗一波稍大点的回撤
    8. 交易周期的长短与人的心理亏损承受能力有关,或者说大胸怀者能交易大周期
    9.英雄大都是伴生的,一个好的团队优于个人的努力,但如果没有好的团队,丛林法则反而更适用
    10.射箭就是三点一线,趋势交易就是守株待兔,海龟很大程度上就是
    11.一些如细菌,病毒构造简单的东西成了大多新手接触程序化交易的所有工具,一旦转向后期差异性的研究,大部分人都会停止不前
    12.任何稳健的交易策略都有两大特征:分散化和简化(出自:海龟交易法则)
    13.在我看来,在一个可交易的市场上,不会错过行情的,有正期望收益的系统就是好的系统
    14.不要频繁交易
    15.交易的连续性很重要,不盈利或者亏损,多半是因为没有严格执行策略的每一个信号
     
  16. to HugeStone:

    从你的描述来说,这个系统应该挺不错了。

    至于是否过度优化,要看几个参数?整个参数组的盈利能力如何?
     
  17. 我看到网上有个算有一定经验的老手说的吧,参数不能超过3个.这个标准我是囫囵吞枣吃下了.至于整个参数组的盈利能力,我是这么看的,首先,至少得有大部分的参数组盈利,实际上我的要求还会更高些.后来在网上也看到有位老手说了个>50%的比例.其次,如果盈利面积比较大的话,某些参数组盈利低,我不太看重,因为这根参数上下限设置有关,有的时候本身就设置的比较粗放,甚至有点随意.有时候也是为了看看有没有"意外"
    这是我这段时间猛啃程序化的一些经验.

    另外,这个帖子,现在来看,我觉得开的很愚蠢,幼稚.这个问题是个悖论,难看的回测谁都不敢实盘,必然要改进,优化,关键在于改进优化的方法是否正确.纯粹为了做曲线,那就是YY.另外,通过缩小交易周期,也的确可以让曲线总体上更好看些,这也是为啥那么多人扎堆往小周期跑的原因之一.

    另外,前面闹了个笑话,我才发现大家一般说年收益率都是说的单利,因为金字塔上是复利,复利当然低嘛,所以,听到人家说动辄70%以上,100%以上,我就顿感无地自容:D
     
  18. 确实这样,历史回测的优化值有可能超出你的系统理念,这是很可怕的
     
  19. 三个参数的论述,转自知乎,我觉得很浅显易懂:
    物理学家戴森年轻时就一个问题请教费米,费米讲了一句日后很著名的话:“我记得我的朋友约翰·冯·诺依曼(John von Neumann)曾经说过,用四个参数我可以拟合出一头大象,而用五个参数我可以让它的鼻子摆动。”

    所以对于交易来说,很重要的一点就是参数一定要少,或者是“参数/交易次数”要足够小。经验来看一个平均每日交易一次的策略,进行遍历的参数最多也不要超过三个,否则很容易陷入过度优化的陷阱。

    样本内外进行测试也是不错的方法,可以采用较近的时间段进行遍历,利用较远的时间段来观察其表现。

    当然也可以采用不断滚动的时间窗口进行遍历;或者对行情进行分类后分别遍历,然后通过主观判断市场后对不同阶段市场采取不同参数组的半人工方法。

    同时在参数选取时重要的一点是,不仅仅要看该点的参数获利如何,同时还要看这个参数附近的值域获利如何。做出参数和获利的曲线图后,孤立的高点显然更有可能是特殊的偶然情况造成的(尤其对交易次数不多的策略来说),而成片的高点说明该参数稳定性可能会更好。
     
  20. 参数组里>50%的盈利,这个要求太低太低了

    我的要求是参数组里,PF的卡夫曼选择指数>1.3