|
第三部分:开发策略 (Developing a Strategy) 在这一部分,作者详细拆解了构建算法交易策略的每一个具体步骤,从设定目标到处理数据,再到具体的测试方法。 第九章:策略开发——目标与目的在开始写代码之前,你必须知道你要去哪里。没有地图的旅行通常以迷路告终。 SMART 目标原则
作者借用了管理学中的 SMART 原则来设定交易目标: Specific(具体): 不要说“我想赚大钱”。要说“我想开发一个针对欧元期货的日内策略”。 Measurable(可衡量): “年回报率50%,最大回撤不超过25%”。 Attainable(可实现): 不要设定“年赚500%且回撤只有2%”这种不切实际的目标,那会导致你造假或过度优化。 Relevant(相关): 目标必须与你的交易风格和生活方式相关。如果你还要上班,就不要设计需要全天盯盘的系统。 Time-bound(有时限): “我给自己一个月的时间来开发这个策略”。
愿望清单(The "Wish List")
除了硬性目标,你还应该有一个“软性”愿望清单。例如: 第十章:交易理念有了目标,下一步是构思交易逻辑。 入场(Entries):被高估的部分
很多新手沉迷于寻找完美的入场点。但实际上,对于长线策略,入场的精确度并没有那么重要。 出场(Exits):被低估的关键
出场决定了你赚多少或亏多少。常见的出场方式: 选择市场与时间框架 第十一章:以此谈谈数据数据是回测的基石,垃圾进,垃圾出(Garbage In, Garbage Out)。 你需要多少数据?
越多越好。对于日线系统,作者建议至少10年。这能涵盖牛市、熊市和震荡市。 场内数据 vs. 电子盘数据
以前期货是人工喊价(场内),现在是电子撮合。如果你用20年前的场内数据回测,要注意那时的交易时间很短,波动特性与现在24小时交易的电子盘完全不同。作者建议尽量统一交易时段。 连续合约(Continuous Contracts)的陷阱
期货有到期日,回测需要拼接数据。 外汇数据的特殊性
外汇没有中央交易所,每家经纪商的数据都不一样。此外,回测软件通常只用Bid(买价)画图。如果你挂Limit单买入,图表上价格到了,但实际上Ask(卖价)没到,你根本成交不了。 第十二章:有限测试 (Limited Testing)不要一开始就用所有历史数据进行测试!一旦你看了所有数据的结果,你就“污染”了数据,失去了验证系统真实能力的样本。 初步筛选
只拿出历史数据的一小部分(例如20%或最近2年)进行快速测试。 猴子测试(The Monkey Test)
这是作者最喜欢的环节。 原理: 既然我要开发一个有优势的策略,那它必须比随机交易(猴子扔飞镖)强。 做法: 保持你的出场规则不变,用随机信号代替入场信号,运行几千次模拟。 标准: 你的策略表现必须击败90%以上的随机策略。如果你的策略还不如猴子乱做,那就别浪费钱了。
第十三章:深度测试/前向步进分析 (Walk-Forward Analysis)通过了初步筛选和猴子测试后,进入核心验证阶段。作者强烈推荐前向步进分析(Walk-Forward Analysis, WFA),而不是传统的全样本优化。 什么是前向步进分析?
它模拟了一个交易员在真实时间轴上的行为: 优化窗口(In-Sample): 取过去一段数据(如2010-2012年),找到最佳参数。 测试窗口(Out-of-Sample): 用这组参数,在紧接着的未来一段数据(如2013年)上进行交易。 滚动: 将时间轴向前推,取(2011-2013年)优化,在(2014年)交易。 拼接: 把所有“测试窗口”的结果拼接起来,这就是你真实的预期资金曲线。
为什么这么做? 第十四章:蒙特卡洛分析与孵化这部分在第二部分已有简述,但在开发流程中,它是最后一道防线。 蒙特卡洛模拟
利用前向步进测试得到的交易记录,进行随机重排。 孵化(Incubation)
当你终于完成了一个通过所有测试的系统,不要马上用真钱交易! 第十五章:分散投资这是交易的“免费午餐”。 相关性(Correlation)
如果你有两个策略,一个做多欧元,一个做空美元指数,它们本质上是一样的。同时交易它们不会降低风险,只会加倍风险。
作者的目标是寻找低相关性甚至负相关性的策略组合。 第十六章:头寸规模与资金管理如果你有一个好系统,资金管理决定了你是赚大钱还是破产。 由小做起
作者建议从交易1手合约开始。哪怕你有几百万资金,新策略上线也先做1手。 固定比例资金管理(Fixed Fractional)
随着账户资金增长,逐渐增加手数。
公式:交易手数 = 账户权益 * 风险比例 / 最大止损 第十七章:记录流程开发系统是一个漫长且容易混乱的过程。作者提供了一个Excel表格模板来管理这一切。 你需要记录:
|