期货程序化很容易得到一个看似收益率惊人的公式,己包含手续费、滑点等因素,是不是可以认定公式是有效的? 小须弥咩,期货小学生 先说我的观点: 1. 程序化确实可以获得很优秀的利润。 2. 然这样的程序并不像题主所说的那么常见。 程序化系统的构建,有以下几个流程: 第一,程序主体的设计: 这通常又有两种思路:其一是,自上而下的构建,也就是现有交易理念,再通过理念推导出交易系统,并将其程序化。比如索罗斯的交易系统,便是由他的反射理论,推导构建出的交易程序。 其二是,自下而上的构建,也就是通过反复的观察,得出经验,并将其程序化。比如题主说的单纯用指标,或者指标的混合。 显而易见,第一种思路的可靠性要远远高于第二种思路。其后会慢慢说道。 第二,交易程序的初步检验: 交易系统的检验,原则是“接近实战”,也就是必须考虑手续费和滑点的影响。 在初步检验里,因为没有进行任何优化,检验的结果是比较能够反映出上一步所设计的交易系统是否具有持续盈利的潜力,如果在这一步就已经失败,那么说明交易思路或者经验是错误的,不具备持续盈利的能力。 个人认为,在这一步,系统的胜率应该在 50% 以上,最大回撤时间不能超过 90 个周期(不同级别的交易系统不能统一按时间计算),连续亏损次数不能超过 5 次,那么这个系统基本具备持续盈利的能力。 第三,交易系统的优化: 经过初步检验的交易系统,可以进入优化阶段,很多程序化交易者反对优化,因为优化会使交易系统适用于过去而无用于将来,即优化陷阱。 我认为主要还是交易者优化的时候,是采用了数据优化,还是理念优化。 打个比方,一个交易系统设计的理念是顺势突破交易法,如海龟交易法(突破 N 周高点做多,跌破 N 周低点做空)数据优化就是寻找 N 的最合适数值,而理念优化,就是寻找比单纯的突破法更优秀更高效的交易思维。 这里就可以看出程序设计时候的两种思路之优劣了。 第四,交易系统的外推检验: 通过了优化的系统,已经初步成熟,外推检验就像生产线中的质检一样,一个产品能否上市,这是最重要的一个环节,具有一票否决权。 外推检验分两种,一种是时间外推,即用更多的数据进行回测,观察交易系统是否稳定。 二种是品种外推,如题主的螺纹程序,拿去橡胶,铜,豆粕,股指这些大品种上进行回测,甚至在外汇,国外商品,国外股市上进行检验。 一套具备实盘盈利前景的系统,必须适用于绝大部分品种的交易。 如果不能经过外推检验,那么这个系统很可能只是一个偶然,或者已经过度优化了。 第五,交易系统的实盘使用和维护: 很少有系统是能经过第四条检验的,如果走到这一步,恭喜了,你可以安心的用它来赚钱了。 当然也不是睡睡觉数数钱那么简单,电脑有时候也是会出问题的,这个问题暂且不讨论,一个非常严重的现象是,行情波动的特征是会变的。 其变化表现在:其一,波动特性改变了。 举例来说:2002 到 2009 年,你只要有个最简单最简单的均线系统,你就发财了。但是 2005 年以后,这样简单的系统获利已经不稳定,而 09 年以后,基本就不可能再用来获利了。又如前几年,做股指高频交易的人都发财了,我听到最高的一年有 30 倍,但是现在呢,高频交易都已经开始自相残杀了。为什么?因为市场上精明的交易者越来越多了,当你的对手还在用肉搏的时候,你有一把手枪就可以称王,但是现在,别人都开上飞机坦克了。 其二,交易环境变化。 比如今年,期货夜盘的大量推出,导致不同时间段的交易分布不再均匀,很多交易系统便不能适应了。 前两年大合约的变动,也导致了很多微观波动结构的改变。 所以交易系统必须时时进行维护和修补,甚至必要时直接宣布它死亡。 从这一点上看,又可以发现,第一步设计交易系统的两种方式的优劣。自下而上开发的系统,永远只是根据开发时期的数据作为样本,日后修改起来也将非常困难,而自上而下开发的系统,它是基于本质的,而市场波动的本质特征,几百年来都未曾改变,只是表现方式变了而已。 这几年我也开发过几个程序化系统,比如今年年初开发的白银程序化,投入实盘也半年多了,收益也超过 300%,这是一个自下而上的交易系统,只能通过白银,股指,这些震荡特性明显的品种测试。胜率 50%,赔率 1.8 倍,它是靠数量累计获胜的。贴张最近一年的资金曲线,但回撤期太长,所以不算是一个优秀有活力的系统 交易要成功,必须是走系统化交易的路线的,程序化只是系统化交易的一种方式。 最后说一点我认为最重要的: 任何一个交易系统,一定要有客观、明确的界定其失效(死亡)的方法。 没有任何一个系统是可以一劳永逸的,所以必须要有界定其死亡的标准。比如上图的白银系统,最近半年我都没有修改,中间经历了 2 个多月的调整,我当时判断它死亡的标准是,回撤掉前期利润总和的 1/10 或者超过 3 个月,判断为留院观察,再等 2 月资金曲线不能创新高直接宣布死亡。 我主要是在研究一个分段交易系统,基于必须具备明确的判断死亡的方法,我建立了一个数据库,用来跟踪整个市场的波动变化趋势,因为那是我的交易系统的基石,如果基础不存在了,那也就是脑死亡了。 交易系统的设计是一件很好有乐趣的事情,以上是个人浅见,欢迎指正和探讨! 查看知乎原文