自主选择号码的受试者,认为手中的彩票平均值为8.16美元。由实验者随机分发彩票的受试者,平均估值只有1.96美元。两组彩票的中奖概率没有差异。差异只来自一个动作:是否由自己选择。
8.16美元对1.96美元。约4.16倍。
交易员每天都在重复这个实验。只是彩票号码换成了入场点、止损位、指标参数和复盘笔记。自主选择越多,参与感越强。参与感越强,控制感越容易被误判为能力。
问题不在于复盘无效。问题在于复盘很容易从规则校验,滑向事后解释。随后,事后解释又会被包装成预测能力。最终结果通常是过度交易、风险警告失效,以及交易成本持续上升。
深夜复盘的心理陷阱:当“勤奋”演变为控制幻觉
交易结束后,市场数据已经固定。
K线完成。成交量完成。盘口变化完成。盈亏结果完成。复盘者拥有一组完整的历史路径。此时再回看图表,任何波动都可以被解释。
均线交叉之前,价格已经出现了某种结构。
突破之前,成交量已经发生了变化。
趋势反转之前,某个指标已经进入了极端区域。
这些说法在历史图表上通常成立。问题是,它们只描述了已经发生的路径。它们不能自动转化为当时可执行、可重复、可交易的规则。
复盘最危险的阶段,就是把“我现在能解释”误认为“我当时能识别”。
这两个命题不等价。
可以把交易复盘拆成三个状态:
1. 事前信息集:下单时真正可获得的数据,包括当时已经收盘的价格、成交量、指标值和账户状态。
2. 事后完整路径:交易结束后看到的全部价格轨迹,包括未来波动、最高点、最低点和最终结果。
3. 规则输出:基于事前信息集生成的明确动作,例如开仓、减仓、止损或不交易。
控制幻觉通常发生在第二步。交易员利用事后完整路径寻找结构,再把结构反向投射到第一步。这个过程不需要恶意,也不需要主观夸张。只要在图表上拖动几条线,选择几个指标,认知偏差就已经开始运行。
复盘不是解释过去,而是约束下一次决策
有效复盘的输出不是“这笔交易为什么涨了”,而是:
- 当时哪些变量已经进入策略数据集;
- 哪些信号满足预先定义的条件;
- 哪些信息只在收盘后才出现;
- 如果删除交易结果,规则是否仍然给出同样的动作;
- 这条规则在样本外是否具有稳定表现;
- 交易成本、滑点和延迟是否改变了结果。
这是一种程序化区分。
无效复盘倾向于围绕结果组织叙事。盈利交易被解释为判断正确。亏损交易被解释为执行偏差。连续亏损被解释为市场环境变化。连续盈利被解释为模型升级。
有效复盘围绕输入和输出组织记录。输入固定。规则固定。输出可重现。结果只是样本,不是能力证明。
复盘的目标不是让未来变得可控,而是让下一次决策不依赖临场解释。
这一区分很冷。也很必要。
控制幻觉的基本结构
控制幻觉指个体在面对随机或不可控事件时,高估自身影响力和控制力。
交易市场不是纯粹随机过程。价格序列可能存在趋势、波动聚集、期限结构、流动性差异和风险溢价。但局部存在统计特征,不代表个体可以控制单笔交易结果。
策略只能改变条件概率。不能直接决定结果。
一个趋势跟踪模型可以在特定样本中获得正期望。它不能保证下一笔交易盈利。一个均值回归模型可以在震荡阶段有效。它不能阻止极端行情继续扩散。一个低延迟系统可以减少执行误差。它不能消除模型风险。
如果把“降低不确定性”写成“控制结果”,模型就会发生概念越界。
兰格的彩票实验:为什么主动选择会让我们高估胜算
兰格的实验提供了一个非常清晰的机制。
自主选择会增加主观估值。彩票号码本身没有获得额外信息。中奖概率没有改变。选择行为却改变了参与者对彩票价值的判断。
交易中的自主选择更多。
选择交易品种。
选择时间周期。
选择指标。
选择参数。
选择入场点。
选择止损距离。
选择加仓方式。
选择复盘角度。
每一个选择都可能提供额外的“技能暗示”。技能暗示不是实际优势。它只是让人感觉自己参与了更多过程。
参与过程越多,结果越容易被归因于个人能力。
主动选择不等于信息增益
量化交易中,信息增益可以被形式化。一个变量只有在样本外带来稳定的预测改善,才具备策略价值。改变变量名称、颜色、显示周期,或者把入场点手工移动到更合理的位置,都不构成信息增益。
可以从下面几个层面区分二者:
| 行为 | 主观感受 | 实际统计含义 |
|---|---|---|
| 自主选择交易品种 | 更熟悉、更有把握 | 可能只是增加了资产熟悉度,不代表收益分布改善 |
| 手工调整入场点 | 规避了明显错误 | 可能引入未来信息,形成前视偏差 |
| 增加多个技术指标 | 分析更完整 | 变量数量增加,过拟合概率上升 |
| 频繁修改止损 | 风险控制更细 | 可能把随机波动解释成可管理结构 |
| 延长复盘时间 | 准备更充分 | 时间投入增加,不等于期望收益增加 |
| 反复筛选历史样本 | 找到更多规律 | 多重检验后,偶然相关会被误认为有效信号 |
| 亲自确认每笔交易 | 控制执行过程 | 人工干预可能破坏策略的一致性 |
表格中的关键项不是“努力”本身,而是努力是否改变了可验证的统计性质。
如果一个变量在样本内有效,样本外失效,它不是稳定因子。它可能是噪声,也可能是过拟合。即使加入更多解释,也不能自动提高模型质量。
彩票实验如何映射到交易系统
把彩票实验映射到交易过程,可以得到一个简化模型:
- 随机分配的彩票,对应系统自动生成的交易信号;
- 自主选择的彩票,对应交易员手工筛选后的交易;
- 彩票价格估值,对应交易员对策略质量的主观评价;
- 实际中奖结果,对应真实交易绩效。
自主筛选后的交易,往往更容易被赋予更高的主观权重。因为交易员知道自己为什么选择它。知道理由,会被误认为拥有优势。
但理由可能只是事后构造的分类标签:
“波动结构更干净。”
“位置更合理。”
“量价关系更协调。”
“这个品种更熟。”
这些词只有在规则定义、样本统计和样本外验证之后才有意义。否则,它们只是不可复现的描述。
选择权会制造虚假的精细化
交易员常常认为,选择越精细,系统越精准。
从日线筛选到小时线。从小时线筛选到15分钟。从15分钟筛选到盘口。时间分辨率不断提高。指标不断增加。过滤条件不断扩展。
结果不一定更好。
当策略参数数量增加时,模型可以适应更多历史细节。适应能力上升。泛化能力可能下降。样本内曲线更加平滑。样本外表现更加脆弱。
这是过拟合的典型结构。
控制幻觉在这里提供了额外推动力。交易员看到自己对每个细节都有解释,于是认为自己已经接近市场机制。实际上,只是对历史噪声进行了更高维度的拟合。
技能暗示与微观勤劳:交易员如何自我欺骗
控制幻觉容易被几类技能暗示激活。
自主选择权
可以自己选择交易对象、信号和参数。于是更容易认为结果与个人判断有关。
自动化策略减少了这类选择。很多交易员因此感到“不够专业”或“不够主动”。他们开始手工干预系统。删除一笔不喜欢的信号。推迟一次开仓。提前平掉一部分仓位。
每次干预都可能被记录为“经验”。
但如果干预没有独立规则,它就无法进入稳定的回测框架。无法回测,就无法区分技能与噪声。
对资产和指标的熟悉度
长期观察某个品种,会积累大量记忆。某个价格区间、某类K线、某种波动节奏,都可能被识别出来。
熟悉度有用。它可以帮助发现数据异常、交易规则变化和流动性问题。但熟悉度不等于预测优势。
交易员最容易犯的错误,是把“我能描述它”当成“我能预测它”。
对历史走势的叙述能力,与未来收益的统计显著性没有必然关系。
前置准备时间
准备时间越长,沉没成本越高。
深夜整理数据。重画图表。重新计算指标。查看多个周期。阅读更多观点。等待更多确认。
准备过程可能提升数据质量。也可能只是在增加心理承诺。
当准备时间已经投入数小时,交易员会更难接受“不交易”这个输出。因为不交易意味着前面的努力没有转化为动作。于是系统被迫产生交易。
这就是控制幻觉与过度交易的连接点。
策略没有给出信号。交易员给出了信号。
竞争环境
交易员之间的排名、收益比较和账户展示,会强化主动性。
别人正在交易。自己不能空仓。
别人抓住了波段。自己必须解释为什么错过。
别人修改了参数。自己也要寻找新的参数。
竞争环境将交易变成连续的选择任务。每一次不操作,都会被感知为能力不足。于是交易频率上升,信号门槛下降,风险预算被临时调整。
在程序化系统中,这等价于修改约束条件。约束条件被修改后,原始回测结论不再适用。
微观勤劳的统计幻觉
微观勤劳,是对局部细节进行大量人工操作,并把操作数量误认为分析质量。
常见形式包括:
1. 在同一段历史区间反复放大和缩小图表,寻找价格结构。
2. 同时叠加大量指标,寻找不同指标之间的共振。
3. 对亏损交易进行长时间解释,却不检查整体收益分布。
4. 反复调整入场点和止损点,使历史曲线更平滑。
5. 把每次人工干预都写成新规则,却不保留原始版本。
6. 只观察成功样本,忽略未触发信号和被过滤掉的样本。
7. 将市场噪声分成更多类别,再为每个类别设置专属处理逻辑。
这些行为不一定完全错误。错误在于没有测量它们的边际收益。
如果增加一个指标没有改善样本外夏普比率、最大回撤、收益稳定性或尾部风险,那么它只是增加了系统复杂度。复杂度本身不是优势。
如果手工调整后的交易表现更好,但调整过程依赖完整走势,那么结果不具备可交易性。它只是事后最优解。
绩效的悖论:为何控制感越强,交易表现反而越差
针对金融交易员的研究显示,控制幻觉程度越高的交易员,真实交易绩效越差。他们更容易过度交易,也更容易忽略潜在风险警告。
这不是“自信导致失败”的简单道德判断。
机制更具体。
控制感提高后,交易员会改变行为参数:
- 增加交易频率;
- 缩短决策时间;
- 降低入场门槛;
- 放宽策略限制;
- 延后止损执行;
- 提高仓位;
- 忽略异常波动;
- 将警告解释为暂时噪声。
这些变化都会影响收益分布。
过度交易首先侵蚀的是成本项
交易频率上升,不一定立刻表现为亏损。短期内,更多交易可能带来更多盈利机会。问题在于成本是确定发生的,而优势并不确定。
手续费、买卖价差、滑点、冲击成本和执行延迟,都会从毛收益中扣除。
如果一笔交易的预期优势低于交易成本,它即使方向判断正确,也可能无法形成净收益。控制幻觉会让交易员忽略这一点,因为每笔交易都被赋予了一个主观理由。
交易数量增加后,累计摩擦成本上升。模型的有效信号没有同步增加。净绩效自然下降。
可以把净收益简单写成:
净收益 = 毛收益 − 手续费 − 买卖价差 − 滑点 − 冲击成本 − 执行误差
公式不复杂。复杂的是交易员往往只复盘毛收益。
风险警告为什么容易被忽略
风险警告通常不是一个单独数字。它可能表现为:
- 波动率突然扩大;
- 相关性结构改变;
- 流动性下降;
- 价差扩大;
- 信号连续失效;
- 最大回撤接近历史极值;
- 订单执行偏离回测假设;
- 策略持仓暴露超过预设范围。
如果交易员认为自己理解市场,就会对这些警告进行解释,而不是执行。
“这只是短期噪声。”
“指标暂时失真。”
“下一笔会修复。”
“当前环境与历史不同。”
这些句子都可能正确。但它们不应当由持仓中的交易员临时决定。因为临时决定已经受到结果影响。规则应当在没有仓位压力时定义,在执行阶段直接运行。
否则,风险控制就从约束变成了意见。
盈利交易同样会强化偏差
控制幻觉不只在亏损后出现。
连续盈利更危险。
盈利交易会提供正反馈。交易员回顾图表,发现自己提前识别了结构。随后扩大解释范围。原本只适用于一个品种、一个周期和一组条件的规则,被推广到其他品种和其他阶段。
盈利被归因为能力。随机性被排除在解释之外。
但单笔盈利不能证明策略有效。连续盈利也不能自动证明控制能力。需要观察完整收益分布、样本量、样本外结果以及不同市场状态下的表现。
如果盈利主要来自少数极端交易,均值可能看起来不错,尾部风险却没有被正确建模。如果盈利依赖单一阶段,策略可能只是暴露在某种特定趋势或波动环境中。
控制幻觉会压缩对不确定性的估计。风险因此被低估。
连续盈利不会证明你控制了结果。它只证明样本中出现了连续盈利。
从事后解释到前视偏差:复盘如何污染回测
控制幻觉最容易通过回测进入系统。
回测本来是为了检验规则。问题是,规则经常在看过结果之后被修改。修改后的规则再回到同一段历史数据中测试。曲线变好。交易员认为模型升级。
实际上,测试集已经被使用过多次。
这不是严格意义上的独立验证。它是数据挖掘。
常见的事后污染路径
第一步,观察历史走势。
第二步,发现某些亏损点“本来可以避免”。
第三步,增加过滤条件。
第四步,重新回测。
第五步,删除新的异常交易。
第六步,再次调整参数。
第七步,直到曲线符合预期。
此时模型已经不再检验市场结构。它在检验交易员对这段历史的记忆能力。
如果同一数据集被反复用于参数选择,样本内指标会越来越好看。策略对未知数据的表现则可能下降。
前视偏差不只来自未来价格
很多人只把前视偏差理解为使用未来收盘价。实际问题更广。
以下行为都可能带来未来信息污染:
- 使用当天最终成交量决定当天早盘是否入场;
- 用完整K线计算指标,再假设在K线开始时执行;
- 根据交易结束后的最高点重新定义入场位置;
- 用包含未来样本的滚动统计量;
- 根据后续回撤调整此前的止损参数;
- 先筛选表现好的品种,再报告策略结果;
- 忽略已经退市、暂停交易或流动性消失的标的;
- 用最终可见的指数成分股测试历史策略。
这些问题未必源于欺骗。多数来自时间索引管理不严谨。
量化系统不接受“当时大概知道”这种表述。只有时间戳。
复盘记录需要保留不可修改版本
交易员可以建立三个版本的记录:
1. 原始决策记录
在下单前保存输入数据、信号状态、参数版本、账户暴露和预期风险。
2. 执行记录
保存订单发送时间、成交时间、成交价格、数量、滑点、撤单和异常日志。
3. 事后分析记录
在不覆盖原始记录的前提下,添加对结果的解释和规则修改建议。
三个版本不能混成一个文件。
如果事后修改了原始判断,系统就失去了审计能力。无法知道当时真正看到了什么,也无法区分预测与解释。
这是最基础的数据工程问题。不是心理学问题。
重构复盘逻辑:从追求确定性到拥抱概率本质
复盘不需要被取消。需要被重新定义。
复盘的功能至少包括四项:
- 检查规则是否按预期执行;
- 检查数据和订单是否存在异常;
- 估计策略在不同阶段的收益与风险分布;
- 根据新证据更新模型,而不是根据单笔结果修改叙事。
这四项都不要求控制未来价格。它们只要求控制流程。
第一步:把结果从决策质量中剥离
一笔盈利交易,可能是好决策,也可能是坏决策。
一笔亏损交易,可能是好决策,也可能是坏决策。
评价决策时,先删除结果字段。只看当时的信息集和规则输出。
可以使用下面的记录结构:
- 信号是否满足预设条件;
- 入场是否在允许的时间窗口;
- 仓位是否符合风险预算;
- 止损是否按规则设置;
- 执行价格是否偏离预期;
- 是否发生人工干预;
- 干预是否有事前定义;
- 交易成本是否在模型假设范围内。
如果所有流程都正确,即使结果亏损,也不代表执行失败。
如果流程明显违反规则,即使结果盈利,也不代表策略有效。
这一步会削弱结果带来的控制幻觉。
第二步:为人工判断设置“可编码边界”
不是所有判断都能立即量化。但不能因此允许判断无限扩张。
可以为人工干预设置边界:
- 只允许修改哪些参数;
- 哪些条件下可以暂停策略;
- 需要什么数据才能触发人工复核;
- 人工复核的最长时间;
- 是否允许重新入场;
- 是否需要第二人确认;
- 何时必须恢复自动执行。
边界的作用不是消灭人工判断,而是阻止判断变成事后自由度。
如果一个判断无法描述,就无法稳定执行。无法稳定执行,就不能直接纳入策略绩效。
第三步:把复盘指标从“命中率”扩展到收益分布
命中率很容易成为控制幻觉的入口。
高命中率不等于正期望。低命中率也不等于策略无效。
至少需要同时观察:
- 单笔收益分布;
- 盈亏比;
- 最大连续亏损;
- 最大回撤;
- 回撤持续时间;
- 收益的偏度与峰度;
- 不同波动状态下的表现;
- 不同品种和周期的相关性;
- 交易成本占毛收益的比例;
- 样本内与样本外差异;
- 参数扰动后的稳定性。
如果只看胜率,交易员很容易把少数盈利交易解释成识别能力。完整分布则会迫使系统面对尾部风险和样本不确定性。
第四步:使用时间切分,而不是随机切分
金融时间序列具有顺序结构。
训练集、验证集和测试集应当按照时间推进。不能把未来样本随机分配到训练数据中。随机切分会破坏时间依赖,也可能泄露未来分布信息。
更稳妥的结构是:
- 早期数据用于开发;
- 中间数据用于参数选择;
- 后期数据用于最终验证;
- 验证完成后不再根据测试结果反复修改规则。
如果策略在测试集表现不佳,不能立即调整参数再回到测试集。应当回到开发阶段,重新定义假设,再使用新的验证区间。
测试集一旦被读取,就不再是纯粹的测试集。
第五步:进行参数扰动
控制幻觉喜欢精确参数。
均线周期是17,而不是18。
止损距离是1.37%,而不是1.4%。
波动率阈值是0.82,而不是0.8。
这些精确数字通常需要证据。若参数在很窄的范围内有效,在相邻参数下迅速失效,模型可能存在过拟合。
参数扰动不是为了寻找最优点。是为了观察性能曲面是否连续。
可以测试参数附近的一组区间:
- 入场阈值上下调整;
- 持有周期增加或减少;
- 止损比例进行小幅变化;
- 交易成本提高;
- 执行延迟增加;
- 信号减少一部分;
- 删除部分数据。
如果策略只有在一个精确点上表现良好,不能把它解释为精确控制。更合理的解释是,模型对历史噪声过度敏感。
第六步:建立“不交易”作为合法输出
控制幻觉通常迫使系统行动。
没有信号,也要找信号。
风险扩大,也要维持仓位。
连续亏损,也要提高交易频率追回结果。
这说明策略输出空间不完整。一个成熟系统至少应允许三种结果:
- 交易;
- 减少暴露;
- 不交易。
“不交易”不是空白。它是经过风险约束后的输出。
如果当前数据不足以支持正期望交易,空仓比强行寻找解释更符合概率逻辑。
交易员的健康管理:问题不只在认知,也在执行状态
深夜复盘会改变认知,但影响不止于认知。
长时间盯盘和反复修改图表,会增加决策次数。决策次数增加后,人工干预概率上升。睡眠不足、注意力下降和执行疲劳,都会降低规则一致性。
这里不需要使用无法测量的心理描述。只看日志即可。
检查以下记录:
- 交易是否集中在连续工作时段的后半段;
- 手工撤单是否在深夜明显增加;
- 止损修改是否集中于亏损扩大之后;
- 交易频率是否在长时间复盘后上升;
- 是否出现重复下单、漏单或参数版本错误;
- 是否有未保存的策略改动直接进入实盘;
- 是否在非计划时段扩大风险暴露。
如果异常行为与工作时长、交易时间和休息间隔存在稳定关联,就应当把它视为执行风险。
交易员健康管理不必写成生活方式宣言。它本质上是系统可靠性管理。
一个人在疲劳状态下更容易相信自己的解释。自动化系统则不会因为解释更完整而变得正确。因此,应当减少疲劳状态下的自由度。
给深夜复盘设置硬约束
可以采用几条简单规则:
1. 深夜只允许记录,不允许修改实盘参数。
2. 参数修改必须在下一个交易窗口前完成,并保留版本号。
3. 任何新规则至少经过独立回测和样本外验证,不能直接上线。
4. 亏损后的临时加仓、提前止损和追单,必须单独归类。
5. 当日交易结果不能作为下一次参数修改的唯一依据。
6. 复盘结束时记录“不确定事项”,而不是强行给出结论。
7. 如果无法确认某个信号是否使用未来信息,默认该信号不可用,直到完成时间索引检查。
这些规则不涉及行情预测。只降低系统被临时判断污染的概率。
控制幻觉的量化检测
认知偏差可以通过行为数据间接观察。
不需要为每个交易员设计复杂心理测验。先检查行为是否偏离原始系统。
检测维度一:自由度增长
统计一个策略在上线后的变化:
- 参数修改次数;
- 新增指标数量;
- 删除交易数量;
- 人工覆盖信号次数;
- 新增例外条件数量;
- 交易品种和周期扩张情况。
如果自由度持续增长,而样本外绩效没有同步改善,说明系统正在向解释模型转化。
检测维度二:交易频率偏离
比较计划交易频率和实际交易频率。
如果计划每天只允许少量信号,实际交易数量却不断增加,需要检查是否出现了手工放宽条件。交易频率上升时,不能只看收益是否增加,还要看净收益、成本和回撤是否同步变化。
检测维度三:人工干预后的结果
将交易分为两组:
- 自动执行组;
- 人工干预组。
分别计算收益、成本、回撤和收益波动。
不能预先假设人工组更好,也不能因为某段时间人工组盈利就得出技能结论。需要观察多个阶段和样本外表现。
如果人工干预组只在特定历史区间有效,或收益依赖少数交易,应当降低对人工判断的信任度。
检测维度四:警告触发后的处理
统计风险警告出现后,系统采取了什么动作:
- 减仓;
- 停止开仓;
- 维持仓位;
- 增加仓位;
- 修改阈值;
- 忽略警告。
再比较这些动作与后续风险分布的关系。
如果风险警告频繁被解释为“暂时噪声”,而不是触发预定动作,说明风险模块已经被主观判断接管。
检测维度五:复盘文字中的不可编码词汇
交易日志中出现以下表达时,应当要求进一步定义:
- 盘感;
- 结构很强;
- 位置舒服;
- 走势健康;
- 量价配合;
- 主力洗盘;
- 市场情绪;
- 庄家意图;
- 资金在试盘;
- 价格被控制。
这些词不是天然错误。问题是它们缺少操作定义和数据边界。
例如,“波动率扩大”可以定义。可以使用历史波动率、实现波动率或隐含波动率,并指定窗口和阈值。
“走势健康”无法直接执行。除非把它拆解成趋势斜率、回撤比例、成交量条件和波动约束。
没有定义,就没有回测。没有回测,就没有证据。
不同策略中的控制幻觉
控制幻觉不局限于主观交易。
趋势跟踪
趋势跟踪策略容易在盈利阶段强化控制感。
交易员看到趋势形成,认为自己识别了方向。随后提前加仓、缩短确认窗口或扩大信号适用范围。
但趋势跟踪的收益通常依赖少数大行情。单个阶段的连续盈利不能证明每一次趋势判断都正确。需要保留完整亏损样本,检查策略在震荡和快速反转阶段的表现。
均值回归
均值回归策略容易在价格偏离后制造“回归必然发生”的错觉。
历史上价格经常回到均值,不代表当前偏离一定会回归。极端行情可能持续扩散。均值、波动和相关结构都会变化。
控制幻觉会让交易员提前接刀。止损被解释为“暂时偏离”。仓位被扩大,用于等待均值回归。
此时策略已经从均值回归变成了方向性补仓。
高频和低延迟交易
低延迟系统减少了执行时间。它不等于掌握价格方向。
交易员可能把基础设施优势误认为预测优势。延迟下降后,收益改善可能来自更低的滑点或更高的成交概率,而不是信号质量提升。
需要分别测量:
- 信号产生延迟;
- 订单发送延迟;
- 市场确认延迟;
- 实际成交偏差;
- 订单取消率;
- 交易成本;
- 延迟变化前后的净收益。
如果只看最终收益,无法知道优势来自哪里。
主观基本面交易
基本面分析的信息周期更长。报告、估值和行业判断都可能形成复杂叙事。
叙事越完整,控制感越强。问题在于,完整叙事不等于可验证预测。需要明确发布日期、可获得时间、变量定义和持有期限。
如果分析使用了事后修订数据,或把后来发生的事件加入此前判断,就存在信息污染。
复盘中的“正确答案”通常不存在
交易员希望在复盘结束时得到一句确定结论:
这笔交易应该买。
这笔交易不该买。
这个参数最优。
这个指标有效。
这个形态可靠。
但市场数据通常只提供概率证据,不提供单笔交易的正确答案。
更合理的复盘结论是分层的:
- 规则是否按设计执行;
- 交易结果是否位于历史分布范围内;
- 当前样本是否足以支持参数变化;
- 是否出现了新的数据异常;
- 是否需要扩大样本;
- 是否需要暂停策略;
- 哪些问题暂时无法判断。
“无法判断”是合格的统计结论。
它比强行解释更接近真实。
如果一个复盘系统要求每笔交易都必须写出完整原因,它会鼓励交易员制造因果关系。随机结果需要叙事。叙事越流畅,错误归因越难被发现。
因此,复盘日志应当允许保留空白:
- 原因未知;
- 信号有效性未知;
- 当前样本不足;
- 需要更多样本;
- 无法排除随机性;
- 需要检查前视偏差;
- 需要重新估计交易成本。
空白不是偷懒。是避免伪精确。
最小可执行的复盘框架
如果把流程压缩成一个可执行版本,可以保留以下五个模块。
模块一:时间一致性
记录所有输入数据的时间戳。确认每个变量在决策时已经可用。确认指标没有使用未来数据。确认成交价格和执行时点符合实际规则。
模块二:规则一致性
记录信号是否满足条件。记录是否出现人工覆盖。人工覆盖必须单独标记,不能混入原始策略结果。
模块三:成本一致性
记录手续费、价差、滑点、冲击成本和执行延迟。回测使用的成本假设需要定期与实盘数据比较。
模块四:分布一致性
观察收益、回撤、连续亏损和波动是否仍然处于历史分布范围。单笔结果不触发参数修改。只有分布变化达到预设条件,才进入模型审查。
模块五:版本一致性
保存数据版本、代码版本、参数版本和报告版本。任何改动都要可回滚。不能使用覆盖式修改。
这五个模块没有预测功能。它们只负责限制控制幻觉的操作空间。
参数优化的边界:不要把稳定性误读为最优点
参数优化可以改善模型。也可以制造最精确的过拟合。
建议优先寻找稳定区间,而不是单一最优参数。
例如,一个策略在多个相邻参数下都保持相近的风险收益特征,说明它对参数变化不敏感。这样的系统更容易承受执行误差和市场状态变化。
如果只有一个参数点产生最高收益,其他点迅速失效,首先应当怀疑数据挖掘,而不是赞美精度。
优化时至少保留以下约束:
- 不根据单笔交易修改参数;
- 不根据单一品种确定通用规则;
- 不把样本内最高收益作为唯一目标;
- 不忽略交易成本和滑点;
- 不重复使用最终测试区间;
- 不删除不符合叙事的交易;
- 不把人工经验直接伪装成自动化规则;
- 不用更多指标掩盖更差的样本外表现。
目标函数也不应只有收益最大化。最大回撤、尾部损失、收益稳定性、换手率和成本敏感度,都需要同时纳入。
一个净收益更低但参数稳定、回撤可控、执行一致的系统,通常比样本内收益更高但高度敏感的系统更适合长期运行。
这里仍然不涉及行情预测。
只讨论模型是否具备持续运行的工程条件。
结语:能控制的是流程,不是市场结果
控制幻觉不会因为交易员读懂了一个概念就消失。
它会随着自主选择、连续盈利、长时间复盘和复杂参数不断出现。人类倾向于为结果寻找原因。交易系统则要求原因能够被定义、记录和复现。
兰格的彩票实验已经说明:主动选择会显著抬高主观估值,但不会改变随机事件的实际概率。交易中的手工筛选、指标叠加和深夜分析,也不会因为投入更多注意力就自动产生可验证优势。
复盘仍然必要。
但复盘应当检查规则、数据、执行和风险分布。不能把事后完整路径当成事前信息。不能把解释能力当成预测能力。不能把交易频率当成勤奋程度。不能把参数精度当成模型质量。
最可靠的改进通常不来自增加一个指标,而来自减少一个没有证据的自由度。
保留原始记录。分离事前与事后信息。执行时间切分。检查前视偏差。进行参数扰动。计算真实成本。允许不交易。保留模型的失败边界。
市场结果不受复盘者控制。
代码版本、数据质量、执行规则和风险上限可以控制。
这已经足够。
Related reading: 夜盘交易员的生物钟重建:长期熬夜对决策能力的生理侵蚀与修复 and 量化策略回测指标的虚与实:如何看穿超高收益率背后的陷阱.
