【换场地】同一套趋势策略,从国内商品搬到外汇和加密,结果从0变成1.0
今天这篇讲一个我花了很久才想明白的事,可能对很多人的策略困境有用。
先说结论:**你的策略不赚钱,有时候不是策略错了,是场地错了。**
一、事情是这样开始的
我一直在国内商品期货上做趋势跟踪。做法不复杂:唐奇安通道突破,55日高点做多、55日低点做空,反向20日或者从极值回撤3倍波动率就出场,多品种分散,风险平价分配仓位。
听起来很标准吧?我拿国内33个品种、2021到2026年的数据跑,组合夏普只有 0.21。
然后我换了个场地测——把同一套规则,原封不动搬到外汇(欧元、英镑、日元、澳元、纽元、瑞郎、人民币)、原油、标普500、纳斯达克100和BTC上,用日线,1990年一路跑到2026年。
结果:夏普 0.43,最大回撤只有 6.7%,收益回撤比 5.2,而且一刀切成四个十年——1990年代、2000年代、2010年代、2020年代——全为正。
继续换到加密,BTC/ETH,2013到2026年:
BTC 单币夏普 0.96,BTC+ETH 夏普 1.16,最大回撤 40.6%。
同一个策略框架,国内是0.21,海外是0.43,加密是0.96起步。
二、为什么差这么多
我想了很久,觉得原因是三个字:**参与者结构**。
国内商品期货的参与者,很大一部分是产业套保盘和散户。产业盘有实际的交割需求,价格一到某个位置就有天然的买卖盘,趋势推不动——它更容易在区间里来回震。所以国内商品上,短周期均值回归反而有效(我测出来大概0.57),趋势跟踪很差。
而外汇、指数、原油、加密这些市场,推动价格的是宏观资金、央行政策、机构配置和情绪。这些东西一旦启动,就是几个月甚至几年的持续流动。趋势跟踪吃的就是这种"持续性"。
所以不是"趋势跟踪有效"或者"均值回归有效"这种笼统的说法,而是:
- **趋势跟踪**:在外汇/指数/大宗/加密上有效,在国内商品上很弱
- **均值回归**:在国内商品上有效,在外汇上直接是负期望(我测过,明确为负)
因子必须和场地匹配。这是我这半年最有价值的一个认知。
三、说点不好听的
我不想把这事说得太美。上面那些数字,有几个地方必须交代清楚:
1. **参数不是调出来的,是锁定验证的**。我做了样本外锁定:海外用1990到2015年的数据跑参数网格选最优,然后用选出的参数纯跑2016到2026,中途不看不调——定参期夏普0.40,验证期夏普0.89,保持224%。加密用2013到2020定参、2021到2026验证——定参期1.39,验证期0.79,保持57%。
更关键的是:**验证期里全部27组参数组合,无一例外都是正期望**(海外中位1.05最差0.84,加密中位0.77最差0.58)。这说明它不是靠某个尖峰参数活着的,是有普适边缘。
2. **回撤是真的**。加密那边回撤40%到75%,不是小数。BTC单币趋势的最大回撤74.7%。你要能扛住账户腰斩两次。上面验证期的加密回撤是44%。
3. **成本敏感**。加密按0.10%每边算,如果实际成本到0.50%每边,夏普从0.96掉到0.73。日线低频策略成本占比不高,但不是没影响。
4. **回测好得不像话的时候,先怀疑自己——这条我今天刚亲身踩过两次。**
第一次:我跑12个币的组合,夏普2.77,漂亮得不像话。查下去发现是代码错了——我在同一个盈亏流里既做了逐日盯市、又叠了一整笔平仓盈亏,等于重复计算了一遍。修正后降到0.95。
第二次:还是这12个币。修正完才意识到更根本的问题——这12个币是"今天还活着的币",2017年的人根本不知道哪些能活,这是典型的选币偏差(幸存者偏差)。所以我现在只看BTC和ETH(2017年就是市值前二,不需要预测能力),夏普1.16。
还有一个更隐蔽的:我算海外组合第一次得出的夏普是1.01,正确值是0.43,虚高一倍多。原因写在下面第四节。
**凡是回测结果好得不像话的,先怀疑自己哪里错了。我这次一天之内抓到三个。**
四、还有一个更隐蔽的坑,顺便提醒
我算海外那个组合的时候,第一次算出来的夏普是 1.01。后来发现是错的,正确值是 0.43。
错在哪?这个策略是事件驱动的,只在平仓那天产生一笔盈亏。36年历史,总共只有几百个平仓日。而我用了那条所有人都会背的公式:
夏普 = 日收益均值 ÷ 日收益标准差 × √252
这个√252假设你有一年252个连续交易日。但我手上只有几百个点,分散在36年里。等于把几百天当成了36年的日收益。
正确做法:把盈亏流补全到完整交易日历,没有交易的日子填0,再算。因为那些没交易的日子,钱也在账户里,只是没动,收益为零。把它们丢掉,你的日均收益就被系统性高估了。
夏普0.43和夏普1.01,是两个完全不同的决策。前者你会小心试仓,后者你可能直接加杠杆——那才是灾难的开始。
五、我的结论
同样的K线,同样的通道突破,同样的出场规则,换个市场从0.21变0.43变0.96。
如果你现在手上有个"怎么调都不赚钱"的策略,先别急着换参数、加过滤器、上机器学习。
先问三个问题:
1. 它跑在哪个场地?
2. 这个场地的参与者结构,适不适合这个因子?
3. 换一个场地,同样的规则还灵吗?
本文所有数字来自真实回测(数据源:FRED 官方宏观数据库、加密交易所公开行情),参数经过样本外锁定验证,成本按每边计。不构成投资建议,也不推荐任何平台。
|
|
|
|
|
|
|
|