关于Walk Forward Analysis (WFA)的回复_Wenyan、novaavon两位大侠请进

Discussion in 'Philosophy and Strategy' started by kuhasu, Dec 10, 2014.

  1. 问题引出帖于此:http://www.oceantribe.org/vb/showthread.php?p=362742#post362742

    关于WFA有必要解释一下先天缺陷后天补还是不足的问题:

    首先,Walk Forward Analysis (WFA)作为前测/向前走分析,以及Walk Forward Optimization (WFO)中国人比较早接触到实务使用的概念的,这里面排除部分英语非常好的,绝大部分是从Amibroker的一次升级后发现的新功能及说明Help里了解到的,而Amibroker之所以添加WFA,是因为一个叫Robert E. Pardo的人早先提出来的一种方法,之后台湾的同行和交易者在这方面进行了了解和应用,最典型的就是蓝色投机客大侠的帖子,里面有介绍,之后大陆的一些从事量化交易和系统化交易的同仁才接触和被应用。

    然后,Robert E. Pardo这个人跟我倒是有些渊源,更准确的说是他之前成立然后倒闭的公司,公司倒闭是在WFA和WFO在应用后。但是实际上,如果是统计出身,或者数学素养比较宽泛的,就会发现WFA与k-fold Cross Validation K折交叉验证一样,都是利用对样本数据的部分重叠重复使用来进行交叉验证。而说到本质的话,此类交叉验证是以最大利用有效数据为出发点的,也就是说,是为了解决有效验证数据不足,来进行直接的验证样本数据扩展的一种“折中”的方法。而这种方法,实际是对于有固定人为设定模式的函数挖掘还有些效果,就是说根据y=ax+b生成的数列进行拟合,但对于交易这种非函数挖掘则实际效果基本等于0。

    那么问题就来了,如果是非有效样本数据,本身进行数量层级的直接扩展,实际上对于验证效果是不会有任何帮助的。与蒙特卡罗方法进行扩展数据不同的是,蒙特卡罗方法是根据历史数据分布来随机生成数据进行拓展,当然实际上还是采用的伪随机数生成器,但是这里面真伪随机意义都不大,因为本质道理一样。而WFA则是直接的进行重复利用。可以说用的方法完全不对,得到的是虚假稳定性。

    这也就是WFA先天缺陷而后天怎么补补不足的原因。那么现在把WFA视为有效方法的机构和个人,实际上就存在相当大的漏洞。形象的比喻就是皇帝的新衣,看起来稳定安全有心理安慰作用,实际上裸着呢~:p
     
    rok, myb7107 and yangyutj like this.
  2. 过来围观的。

    WFA与DataMining中的CV过程本质是一样,但DM中CV方法很有效,可以在一定程度上避免over fitting问题,但是DM中的数据形式算是比较固定化的,CV折数的确定也可以进行可列的尝试。

    但在量化中,情形却大不通,策略类型的多样化(主要是长、中、短周期的不通导致不通模型的平仓持仓周期不通),那么问题就来了,在使用WFA的过程中,无法有效的给出针对不同类型的模型的一个合理的滑动窗口的确定方案,所以WFA仅仅是看上去很美。

    到具体测试环节,以前针对一些常见的模型(ORB,均线等等),我系统性的详细做过一些WFA的测试,结果也不尽人意,由于金融市场中的行情都是人交易出来的,所以量化交易系统要比DM中的模型复杂很多,参数的分布区域也是随时间变化的一个函数,WFA并不能非常有效的避免过拟合 和 选出合理参数区间。

    anyway,WFA作为参数鲁棒性的辅助测试方法工具还是可以使用。
     
    yangyutj likes this.
  3. 同意,虽然WFA并不能非常有效的避免过拟合和选出合理参数区间, 但为参数鲁棒性的辅助测试方法工具还是可以使用。 不然还能怎样,反正现在我手上也没有更好的方法。:D

    Ku说的也有道理基本上开发策略就是Shit in, Shit out!
     
  4. xde

    xde

    ku大所说的monte carlo模拟是不是更好的方法?

     
  5. 我以前在大学里所在的组不使用Monte Carlo, 我自己的导师也总说你实在没办法使才用Monte Carlo. :)

    Monte Carlo法有些固有弱点。首先,Monte Carlo模拟假定采样的可能性分布准确但这点在现实中很难满足。其次,Monte Carlo收敛速度慢, 模拟计算量大。再次,Monte Carlo模拟的结果取决于所使用的随机数。还有一点,有些交易系统的设计不适合应用Monte Carlo法!
     
  6. 1、蒙特卡罗方法同WFA在测试样本数据的扩充方面本质上是一样的,只是采取的方式不同;
    2、蒙特卡罗方法因为采用单因子随机模拟,而且假设生成的数据间不具有相关性,脱离了实际数据意义;
    3、现在的计算机技术对于蒙特卡罗的收敛速度已经不是问题,但是如果加入大数据就是大问题~
    4、蒙特卡罗是全样本拟合之后生成随机数,那么原始数据噪音问题就是大问题;
    5、几年前华尔街流行基于蒙特卡罗和基于定价的策略,因为判断依据部分甚至完全脱离了真正的行情信息数据而导致很多自营机构倒闭,资管部门撤消全体裁员。
     
  7. 如果真是在市场中作为直接交易对手,我坚决支持你用~:p
     
  8. 不做优化的策略就不用WFA,直接都是out of sample test
     
  9. 也可以将WFA的idea用于validation,不一定直接就out-of-sample,取决于你模型的设计。:)
     
  10. 谢谢您的支持 :p
     
  11. WFA, 蒙特卡罗模拟都是自欺欺人的做法。
    蓝色投机客还有另一个自欺欺人的方法《交易自己的资金曲线》
     
    myb7107 likes this.
  12. WFA, Monte Carlo simulation算不上自欺欺人,要看你怎么用,那个"交易自己的资金曲线"才真是自欺欺人呢。
     
  13. 交易自己的资金曲线,或者不同策略之间资金的动态分配,听说有些量化基金是这么干的
     
  14. 不要管是不是有基金采用此法,统计学意义不显著/存疑的方法能不用就不用,要有自己的原则。
     
  15. volatility pumping 就是基于不相关或负相关的资产的 dynamic rebalancing,这个没有实用价值吗?
     
  16. 与Volatility Pumping类似的概念还有Parrondo's Paradox, Two-envelope problem, Kelly Criterion/Formula/Betting, Rebalancing Strategy, Shannon's Demon, Constant Rebalanced Portfolios(CRP)等等。这些基于information theory的东西理论证明很完美,但实际应用有些问题,风险也大, 个人不推荐。比如说在现实中做volatility pumping,你频繁买卖的话你的收益可能会被交易成本吃掉,你只是在为broker不断送钱而已。另外,你应该先考虑一下为这些方法所做的一些假设在现实中能不能满足。比如说你想用Volatility Pumping,但你找不到一支股票涨100%和跌50%的概率相同,这个假设不成立的话所有基于这个的东西全是废话, 在大牛市或大熊市的情况下你会死的很惨。:)
     
    myb7107 likes this.
  17. 请问能解释一下这个《交易自己的资金曲线》和自欺欺人之处吗?
     
  18. 如果是持有已有证券期货等的 Rebalancing 频率要降低,每周或更长时间周期进行,或者CRP资产偏离常数比例达到一定的threshold后Rebalancing交易费用的影响会比较小。如果是在交易系统或策略之间的 Rebalancing 就没有交易费用的问题,策略的edge已经cover掉交易费用,当然 Rebalancing 频率受到交易系统交易频率的限制。实际使用如何建构相关资产是关键,比如不同策略交易系统资金曲线的相关性是否稳定。风险控制很关键,增加回报的同时风险也会提高。Elwyn Berlekamp 提到他对 medalion fund的贡献不知道具体是什么内容?相关资料

    https://math.berkeley.edu/~berlek/bus.html

    In 1986, in an effort to learn more about futures and derivatives, I began spending a couple days a month consulting for Axcom, a small company whose sole business was to devise computer-based systematic trading strategies and use them to manage all trading of the Medallion Fund, of which Jim Simons was then the Pool Operator. My interactions with them lapsed for several months in the spring in 1989 while I was preoccupied with revising my part of the Kodak organization chart to optimize it after my impending exit. When I visited Axcom again that summer, I was surprised to find that their performance had deteriorated badly. Several of my earlier recommendations had been implemented incorrectly or ignored. Believing this to be a turnaround opportunity, I bought the biggest share of Axcom and became its CEO......

    https://math.berkeley.edu/~berlek/fineng.html

    In 1986, Berlekamp began applying his experience in statistical information theory to technical studies of the price histories of a variety of financial and commodity markets. These studies were undertaken on behalf of Axcom, a company which used models and algorithms based on such studies to manage a portfolio of futures contacts.

    Following a slump in Axcom's performance between June 1988 and June 1989, Berlekamp bought out the founder's controlling interest, became President of Axcom in August 1989, and moved the company to Berkeley. Algorithms were soon revised. Trading resumed in November 1989, and, as shown in the chart above, performance improved markedly. Returns to all investors in calendar 1990 exceeded 55%, net of all trading costs and steep performance fees.

    On December 31, 1990, Berlekamp sold out his interest. As shown below, the trading algorithms, with a continual series of further enhancements and improvements, continued to perform very well for the remainder of the decade, yielding an annualized net rate of return to investors of about 30%. This fund has almost no correlation with any of the stock indices. Although the volume of trading is quite high, the volatility is surprisingly low. When the return/risk ratio of this fund is quantified by Sharp ratios, this fund is seen to have achieved an enviable sequence of record-breaking successes.

    Elwyn Berlekamp 《Fortune's Formula》book review Bettor Math
    http://www.americanscientist.org/bookshelf/pub/bettor-math
     
  19. 学习研究中......