← 返回博客 · 2026年08月20日 · 约4分钟读完
各位交易者朋友,大家好。今天咱们不聊虚的,聊聊一本在量化圈被翻烂了的书——《量化投资策略》。很多朋友跟我抱怨:“这书里的策略我都跑过回测了,年化收益看着特别美,怎么一到实盘就原形毕露,甚至爆仓出局?”其实,这并不是书里的策略不行,而是大家在看书和写代码的时候,把最核心、最容易被忽视的细节给漏掉了。
做中国期货,不管是主观还是量化,最怕的就是“想当然”。回测曲线上天,实盘账户入地,这种落差感我懂。今天我就以一个老交易员的视角,结合这本经典著作,跟大伙儿掏心窝子聊聊,那些藏在字里行间、决定生死存亡的量化投资策略细节。这些内容,不仅是我的交易心得,更是无数真金白银砸出来的教训。
幸存者偏差与未来函数:你以为的圣杯其实是陷阱
《量化投资策略》里反复强调过一个概念,但很多人看一眼就翻过去了,那就是“未来函数”。什么是未来函数?简单说,就是你在计算今天的交易信号时,用到了明天才能知道的数据。这种错误在回测里极其隐蔽,却能让你的策略变成“神算子”,实盘却变成“接盘侠”。
举个最常见的例子。有些朋友喜欢用当日最高价作为突破买入信号,代码写成:“如果价格突破当日最高价,则以最高价买入”。听起来没毛病对吧?但仔细想想,当价格突破当日最高价的那一瞬间,当日的最高价就已经被刷新了,你永远不可能在“当日最高价”那个点成交,因为那个点是走完一天后回头才能确认的。这就是典型的未来函数。
再比如财务数据的发布。如果你在回测时,用某公司年报的数据(比如净利润大增)去匹配当年1月1日的股价,这也是未来函数。因为年报通常要到次年3、4月份才发布。在期货里,比如农产品的USDA报告,如果你用报告公布后的数据去测算报告公布前的仓位,同样是作弊。
书中还提到了“幸存者偏差”。你在回测股票池时,只用了现在还活着的股票,那些退市的、ST的都被你剔除了,那你的策略当然表现好。期货虽然没有退市,但主力合约的移仓换月同样存在这个问题。如果你只看主力合约的连续指数,而没有考虑移仓时的升贴水损耗,你的回测收益就是虚胖的。
参数孤岛与过度拟合:少即是多的哲学
咱们做量化的,最容易犯的毛病就是“调参强迫症”。写好一个均线交叉策略,跑一下回测,发现收益一般。于是开始遍历参数,短期均线从5测到20,长期均线从20测到60。最后发现,短期均线用13,长期均线用47的时候,年化收益最高,夏普比率爆表。你以为你找到了财富密码,其实你只是把历史数据拟合得完美无缺。
《量化投资策略》里特别警告过“过度拟合”。怎么判断你的参数是不是过度拟合?看“参数平原”。如果你发现13和47的收益很高,但改成12和46,或者14和48,收益就断崖式下跌,甚至变成负的,那这个13和47就是“参数孤岛”。这种孤岛在未来的实盘行情中,稍微一点波动就会失效。
真正稳健的量化参数,应该是一片“平原”。比如短期均线在10到15之间,长期均线在40到50之间,收益虽然不是最高,但都比较稳定,没有出现剧烈的跳跃。这就说明你的策略捕捉的是市场的某种底层逻辑,而不是特定历史片段的巧合。
解决过度拟合的一个有效方法是前向分析。把你的历史数据分成两段:样本内(比如2015-2020年)和样本外(比如2021-2023年)。只在样本内数据上调参,找到参数平原后,直接放到样本外数据去跑。如果样本外表现依然稳健,这个策略才算及格。千万别用全部数据去优化参数,那叫自欺欺人。
滑点与手续费的隐形吞噬:别让利润在摩擦成本中蒸发
很多新手在写策略时,回测设置里手续费填0,滑点填0。这简直是耍流氓。在中国期货市场,滑点和手续费是决定日内策略生死的命门。书里虽然讲了交易成本的概念,但只有你真正算过账,才会觉得肉疼。
咱们拿螺纹钢(rb)举个具体的例子。螺纹钢1手是10吨,最小变动价位是1元/吨。假设你做一个高频的动量突破策略,每天交易5次。交易所手续费加上期货公司佣金,算它万分之1(约0.0001),开平仓各收一次。如果价格在4000元/吨,一手合约价值40000元,手续费双边大约是8元。
接下来算滑点。你用市价单去追突破行情,往往遇到的是盘口单薄的真空期,买入价可能比信号触发价高1-2个跳动点,卖出时又低1-2个跳动点。假设单边滑点1个点,双边就是2个点,对应金额是20元。
| 项目 | 单次交易成本(1手) | 每日交易5次成本 |
|---|---|---|
| 手续费(双边) | 8元 | 40元 |
| 滑点(双边2个点) | 20元 | 100元 |
| 合计摩擦成本 | 28元 | 140元 |
看到了吗?每天光摩擦成本就要吃掉140元。如果你的策略每天平均赚不到140元,那在回测里看着是赚钱的,实盘必亏无疑。这就是为什么很多看着胜率70%的日内策略,实盘却亏得底掉。
所以,在回测时,一定要把滑点设置得保守一点。对于螺纹钢,至少设置1个跳动点的滑点;对于波动大的铁矿石(i,1手100吨,1个跳动点50元),滑点甚至要设置2个点。只有把最坏的情况考虑进去,你的交易心得才是扎实的。
实战应用:将量化细节落地中国期货市场
理论说完了,咱们来看看怎么把这些细节落实到具体的中国期货品种上。量化投资策略不是放之四海而皆准的,必须因地制宜。
螺纹钢(rb)的均线策略参数平原测试
螺纹钢是中国的国民品种,趋势性很好,但震荡起来也很要命。如果你用双均线交叉策略,千万别用网上随便抄来的“5日和20日”金叉死叉。你把参数在5-15和20-40的区间内做个三维图,你会发现,在螺纹钢上,短期均线10-12,长期均线30-35这片区域是一个比较平缓的高原。这说明这个参数组合对螺纹钢的日线级别趋势捕捉比较稳定。实盘中,你可以在这个区间内定期微调,而不是死守一个孤岛参数。
铁矿石(i)的波动率突破与滑点控制
铁矿石的波动率比螺纹钢大得多,经常出现跳空和长阳长阴。做铁矿石的突破策略,如果用市价单,滑点能把你亏哭。我的经验是,对于铁矿石,尽量用限价单。比如突破关键阻力位时,不追涨,而是挂一个比突破价稍微低一点点的限价单,等价格回踩时成交。这会牺牲一定的成交率(可能错过20%的机会),但能把你剩下的80%交易的滑点成本降到最低。在回测时,一定要模拟这种“部分成交”的情况,这样你的期望收益才是真实的。
豆粕(m)与原油(sc)的跨品种对冲细节
豆粕受外盘大豆影响大,原油受国际地缘政治影响大。这两个品种都有夜盘,且夜盘经常出现跳空。如果你做这两个品种的均值回归策略,千万不要用盘中均价(VWAP)作为信号触发点。因为夜盘的跳空会瞬间击穿你的止损,而你的盘中均价信号根本来不及反应。正确的做法是,对于这类容易跳空的品种,用日线收盘价作为信号源,第二天开盘后根据开盘价的偏离度再决定是否入场。这虽然会晚一天,但能避开跳空带来的致命一击。
从纸面回测到实盘执行:心态与系统的双重考验
《量化投资策略》这本书最后其实点到了一个核心:策略是人执行的。回测里你的最大回撤是20%,你可能觉得“没问题,我能扛住”。但在实盘里,当账户从100万跌到80万的时候,你看着每天跳动的浮亏,真的能面不改色地继续下单吗?
大多数人在实盘回撤到10%的时候,心态就崩了,开始手动干预策略,结果往往是刚平仓行情就反转了。这就是实盘和回测最大的区别:回测没有情绪,实盘全是人性。这也是为什么很多量化交易者最后变成了“手工量化”——策略是量化的,手是自己的,管不住手,再好的策略也白搭。
要解决这个问题,唯一的办法就是逐步建立对系统的信任。不要一上来就上重资金。先用小资金跑三个月,看看实盘和回测的偏差有多大。如果偏差在合理范围内(比如收益相差不超过15%),再慢慢加仓。记住,活下来比赚得多更重要。
另外,系统的健壮性也很重要。不要把所有资金押在一个策略上。你可以配置一个趋势跟踪策略(比如螺纹钢和铁矿石),再配置一个对冲套利策略(比如豆粕和原油的跨期)。当趋势策略震荡回撤时,套利策略可能正好赚钱,平滑整体资金曲线。这也是书里强调的分散化投资原则。
读完《量化投资策略》,我最大的感触是:量化交易不是寻找一个印钞机,而是建立一套严谨的工程体系。每一个代码的细节、每一个参数的选择、每一笔成本的核算,都是这座大厦的砖瓦。忽视细节,大厦将倾;敬畏市场,方能长远。
各位朋友,量化这条路不好走,但走通了就是一片天。如果你已经打磨出了自己的交易系统,想检验它在真实行情压力下的表现,可以参加模拟考核实战验证。在真金白银投入之前,用考核的标准来逼自己遵守纪律,测试系统的稳定性,这绝对是一个性价比极高的选择。祝大家在中国期货市场里,都能找到属于自己的那片参数平原。