MOM-11 · BTC-USD

动量崩溃保护 · 策略证据

查看公开成绩对应的数据标识、实际参数和收益计算记录。

运行编号cf2c8cdbfe34
最后纳入的价格日期2026-11-10
证据包生成时间(UTC)2026-11-11 10:55 UTC
计算模型模拟每日目标配置 · 第 3 版
下载以下材料,可复核记录的收益与净值。重算策略决策需使用一致的原始输入,重新下载的行情可能不同。这里记录的是模拟仓位,不是券商成交。

下载复核材料

仅在点击下载时加载并校验压缩文件。负权重表示空头敞口;浏览器不会执行归档代码。

1. 下载完整复核包

下载上方 Python 工具后运行此命令。工具校验共享文件并生成 replay.zip,无需克隆代码仓库。

python e0543584b55263609cc8fd38cd032cb8432af6c2b48da3f53599e6e68c922f59.py https://quantarenas.com/data/evidence/runs/cf2c8cdbfe3422567f78cb51524df5912a92081478e10dcd9cf5efbf5ffdba1b/manifest.json --bundle replay.zip

2. 复核收益计算

解压 replay.zip,在解压目录用 Python 运行。仅需标准库,即可校验已记录权重、收益贡献和净值;此步骤不重算策略决策。

python scripts/replay_evidence.py data/evidence/runs/cf2c8cdbfe3422567f78cb51524df5912a92081478e10dcd9cf5efbf5ffdba1b/manifest.json

3. 获取并比对输入

在解压目录中使用记录的 Python 版本并安装锁定依赖。此命令将行情输入下载到本地,报告 inputHashMatches。只有哈希一致才能支持精确重算;供应商修订的数据可能不匹配。也可自行提供一致的原始快照,命名为 private-input.json。

python -m pip install -r requirements-lock.txt
python scripts/recompute_evidence.py data/evidence/runs/cf2c8cdbfe3422567f78cb51524df5912a92081478e10dcd9cf5efbf5ffdba1b/manifest.json --fetch-input private-input.json

4. 重算原始策略

需要完全一致的原始输入快照和记录的依赖版本,才能运行归档策略并重新滚动选参。原始行情输入不公开;重新下载的数据如有修订,将无法通过哈希匹配,不能声称精确复现。

python scripts/recompute_evidence.py data/evidence/runs/cf2c8cdbfe3422567f78cb51524df5912a92081478e10dcd9cf5efbf5ffdba1b/manifest.json --input private-input.json
收益计算假设

当日收益使用前一日收盘时的目标仓位计算;新的目标仓位在当日收盘时确定。这是模拟收盘价模型,不是实际测得的成交价格。

现金余额权重
现金权重等于一减去净资产权重;使用空头或杠杆时,现金可能超过百分之百或为负。
决策时间
目标权重使用截至当日收盘的行情;前一日目标权重获得本日收盘到收盘的收益。
交易费用(基点)
0
成交假设
模拟每日目标配置,不是券商订单或成交;未计融资和借券费用。
模拟调仓换手
将目标权重与当日收益后漂移的权重比较,按差的绝对值求和;表示收盘时风险资产单边调仓金额占交易前净值的比例。
收益区间
将各资产的前一日目标权重乘以本日收盘到收盘的收益,再求和;现金收益为零。
目标权重变化
各资产新旧目标权重差的绝对值之和,仅衡量策略目标变化。
滚动选参切换
候选策略保留其假设历史状态;测试段首日收益使用此前已发布的目标权重。

实际参数

{
  "active": {
    "dd_threshold": 0.1,
    "mom_lookback": 252,
    "recovery_pct": 0.5,
    "scale_factor": 0.5,
    "severe_dd": 0.2
  },
  "defaults": {
    "dd_threshold": 0.1,
    "mom_lookback": 252,
    "recovery_pct": 0.5,
    "scale_factor": 0.5,
    "severe_dd": 0.2
  }
}

滚动前推选参记录

默认参数或首次滚动前推之前的历史不是样本外证据。各折分别记录训练和测试边界;选中的候选规则保留自身的假设状态。

1 · 2017-09-17T00:00:00 → 2018-03-17T00:00:00
{
  "config": {
    "dd_threshold": 0.08000000000000002,
    "mom_lookback": 202,
    "recovery_pct": 0.5,
    "scale_factor": 0.5,
    "severe_dd": 0.2
  },
  "isSharpe": 1.2437726310503028,
  "run": 0,
  "testEnd": "2018-03-17T00:00:00",
  "testStart": "2017-09-17T00:00:00",
  "trainEnd": "2017-09-16T00:00:00",
  "trainStart": "2014-09-17T00:00:00"
}
2 · 2018-03-18T00:00:00 → 2018-09-18T00:00:00
{
  "config": {
    "dd_threshold": 0.08000000000000002,
    "mom_lookback": 202,
    "recovery_pct": 0.5,
    "scale_factor": 0.5,
    "severe_dd": 0.2
  },
  "isSharpe": 1.6231315577669656,
  "run": 0,
  "testEnd": "2018-09-18T00:00:00",
  "testStart": "2018-03-18T00:00:00",
  "trainEnd": "2018-03-17T00:00:00",
  "trainStart": "2015-03-18T00:00:00"
}
3 · 2018-09-19T00:00:00 → 2019-03-19T00:00:00
{
  "config": {
    "dd_threshold": 0.08000000000000002,
    "mom_lookback": 202,
    "recovery_pct": 0.5,
    "scale_factor": 0.5,
    "severe_dd": 0.2
  },
  "isSharpe": 1.6961933519503372,
  "run": 0,
  "testEnd": "2019-03-19T00:00:00",
  "testStart": "2018-09-19T00:00:00",
  "trainEnd": "2018-09-18T00:00:00",
  "trainStart": "2015-09-19T00:00:00"
}
4 · 2019-03-20T00:00:00 → 2019-09-20T00:00:00
{
  "config": {
    "dd_threshold": 0.08000000000000002,
    "mom_lookback": 202,
    "recovery_pct": 0.5,
    "scale_factor": 0.5,
    "severe_dd": 0.2
  },
  "isSharpe": 1.727512079063552,
  "run": 0,
  "testEnd": "2019-09-20T00:00:00",
  "testStart": "2019-03-20T00:00:00",
  "trainEnd": "2019-03-19T00:00:00",
  "trainStart": "2016-03-20T00:00:00"
}
5 · 2019-09-21T00:00:00 → 2020-03-21T00:00:00
{
  "config": {
    "dd_threshold": 0.08000000000000002,
    "mom_lookback": 202,
    "recovery_pct": 0.5,
    "scale_factor": 0.5,
    "severe_dd": 0.2
  },
  "isSharpe": 1.6309194120391084,
  "run": 0,
  "testEnd": "2020-03-21T00:00:00",
  "testStart": "2019-09-21T00:00:00",
  "trainEnd": "2019-09-20T00:00:00",
  "trainStart": "2016-09-21T00:00:00"
}
6 · 2020-03-22T00:00:00 → 2020-09-22T00:00:00
{
  "config": {
    "dd_threshold": 0.08000000000000002,
    "mom_lookback": 202,
    "recovery_pct": 0.5,
    "scale_factor": 0.5,
    "severe_dd": 0.2
  },
  "isSharpe": 1.4955082355728266,
  "run": 0,
  "testEnd": "2020-09-22T00:00:00",
  "testStart": "2020-03-22T00:00:00",
  "trainEnd": "2020-03-21T00:00:00",
  "trainStart": "2017-03-22T00:00:00"
}
7 · 2020-09-23T00:00:00 → 2021-03-23T00:00:00
{
  "config": {
    "dd_threshold": 0.08000000000000002,
    "mom_lookback": 252,
    "recovery_pct": 0.5,
    "scale_factor": 0.5,
    "severe_dd": 0.2
  },
  "isSharpe": 1.072134581394241,
  "run": 3,
  "testEnd": "2021-03-23T00:00:00",
  "testStart": "2020-09-23T00:00:00",
  "trainEnd": "2020-09-22T00:00:00",
  "trainStart": "2017-09-23T00:00:00"
}
8 · 2021-03-24T00:00:00 → 2021-09-24T00:00:00
{
  "config": {
    "dd_threshold": 0.08000000000000002,
    "mom_lookback": 202,
    "recovery_pct": 0.5,
    "scale_factor": 0.5,
    "severe_dd": 0.2
  },
  "isSharpe": 0.8788997819680776,
  "run": 0,
  "testEnd": "2021-09-24T00:00:00",
  "testStart": "2021-03-24T00:00:00",
  "trainEnd": "2021-03-23T00:00:00",
  "trainStart": "2018-03-24T00:00:00"
}
9 · 2021-09-25T00:00:00 → 2022-03-25T00:00:00
{
  "config": {
    "dd_threshold": 0.08000000000000002,
    "mom_lookback": 202,
    "recovery_pct": 0.5,
    "scale_factor": 0.5,
    "severe_dd": 0.2
  },
  "isSharpe": 0.6006824336613606,
  "run": 0,
  "testEnd": "2022-03-25T00:00:00",
  "testStart": "2021-09-25T00:00:00",
  "trainEnd": "2021-09-24T00:00:00",
  "trainStart": "2018-09-25T00:00:00"
}
10 · 2022-03-26T00:00:00 → 2022-09-26T00:00:00
{
  "config": {
    "dd_threshold": 0.08000000000000002,
    "mom_lookback": 202,
    "recovery_pct": 0.5,
    "scale_factor": 0.5,
    "severe_dd": 0.2
  },
  "isSharpe": 0.5359472294339547,
  "run": 0,
  "testEnd": "2022-09-26T00:00:00",
  "testStart": "2022-03-26T00:00:00",
  "trainEnd": "2022-03-25T00:00:00",
  "trainStart": "2019-03-26T00:00:00"
}
11 · 2022-09-27T00:00:00 → 2023-03-27T00:00:00
{
  "config": {
    "dd_threshold": 0.08000000000000002,
    "mom_lookback": 202,
    "recovery_pct": 0.5,
    "scale_factor": 0.5,
    "severe_dd": 0.2
  },
  "isSharpe": 0.5359472294339548,
  "run": 0,
  "testEnd": "2023-03-27T00:00:00",
  "testStart": "2022-09-27T00:00:00",
  "trainEnd": "2022-09-26T00:00:00",
  "trainStart": "2019-09-27T00:00:00"
}
12 · 2023-03-28T00:00:00 → 2023-09-28T00:00:00
{
  "config": {
    "dd_threshold": 0.08000000000000002,
    "mom_lookback": 202,
    "recovery_pct": 0.5,
    "scale_factor": 0.5,
    "severe_dd": 0.2
  },
  "isSharpe": 0.5361919540826506,
  "run": 0,
  "testEnd": "2023-09-28T00:00:00",
  "testStart": "2023-03-28T00:00:00",
  "trainEnd": "2023-03-27T00:00:00",
  "trainStart": "2020-03-28T00:00:00"
}
13 · 2023-09-29T00:00:00 → 2024-03-29T00:00:00
{
  "config": {
    "dd_threshold": 0.08000000000000002,
    "mom_lookback": 202,
    "recovery_pct": 0.5,
    "scale_factor": 0.5,
    "severe_dd": 0.2
  },
  "isSharpe": 0.5361919540826506,
  "run": 0,
  "testEnd": "2024-03-29T00:00:00",
  "testStart": "2023-09-29T00:00:00",
  "trainEnd": "2023-09-28T00:00:00",
  "trainStart": "2020-09-29T00:00:00"
}
14 · 2024-03-30T00:00:00 → 2024-09-30T00:00:00
{
  "config": {
    "dd_threshold": 0.08000000000000002,
    "mom_lookback": 252,
    "recovery_pct": 0.5,
    "scale_factor": 0.5,
    "severe_dd": 0.2
  },
  "isSharpe": 0.32198792844896323,
  "run": 3,
  "testEnd": "2024-09-30T00:00:00",
  "testStart": "2024-03-30T00:00:00",
  "trainEnd": "2024-03-29T00:00:00",
  "trainStart": "2021-03-30T00:00:00"
}
15 · 2024-10-01T00:00:00 → 2025-04-01T00:00:00
{
  "config": {
    "dd_threshold": 0.08000000000000002,
    "mom_lookback": 252,
    "recovery_pct": 0.5,
    "scale_factor": 0.5,
    "severe_dd": 0.2
  },
  "isSharpe": 0.2631261653903129,
  "run": 3,
  "testEnd": "2025-04-01T00:00:00",
  "testStart": "2024-10-01T00:00:00",
  "trainEnd": "2024-09-30T00:00:00",
  "trainStart": "2021-10-01T00:00:00"
}
16 · 2025-04-02T00:00:00 → 2025-10-02T00:00:00
{
  "config": {
    "dd_threshold": 0.08000000000000002,
    "mom_lookback": 252,
    "recovery_pct": 0.5,
    "scale_factor": 0.5,
    "severe_dd": 0.2
  },
  "isSharpe": 0.4555237558168387,
  "run": 3,
  "testEnd": "2025-10-02T00:00:00",
  "testStart": "2025-04-02T00:00:00",
  "trainEnd": "2025-04-01T00:00:00",
  "trainStart": "2022-04-02T00:00:00"
}
17 · 2025-10-03T00:00:00 → 2026-04-03T00:00:00
{
  "config": {
    "dd_threshold": 0.1,
    "mom_lookback": 252,
    "recovery_pct": 0.5,
    "scale_factor": 0.5,
    "severe_dd": 0.2
  },
  "isSharpe": 0.7099008289011692,
  "run": 4,
  "testEnd": "2026-04-03T00:00:00",
  "testStart": "2025-10-03T00:00:00",
  "trainEnd": "2025-10-02T00:00:00",
  "trainStart": "2022-10-03T00:00:00"
}
18 · 2026-04-04T00:00:00 → 2026-10-04T00:00:00
{
  "config": {
    "dd_threshold": 0.1,
    "mom_lookback": 252,
    "recovery_pct": 0.5,
    "scale_factor": 0.5,
    "severe_dd": 0.2
  },
  "isSharpe": 0.568247057169755,
  "run": 4,
  "testEnd": "2026-10-04T00:00:00",
  "testStart": "2026-04-04T00:00:00",
  "trainEnd": "2026-04-03T00:00:00",
  "trainStart": "2023-04-04T00:00:00"
}
19 · 2026-10-05T00:00:00 → 2026-11-10T00:00:00
{
  "config": {
    "dd_threshold": 0.1,
    "mom_lookback": 252,
    "recovery_pct": 0.5,
    "scale_factor": 0.5,
    "severe_dd": 0.2
  },
  "isSharpe": 0.7475380228176578,
  "run": 4,
  "testEnd": "2026-11-10T00:00:00",
  "testStart": "2026-10-05T00:00:00",
  "trainEnd": "2026-10-04T00:00:00",
  "trainStart": "2023-10-05T00:00:00"
}

运行摘要

价格观测数4438
期末净值32.6102
累计收益3161.02%
目标权重变化天数760
累计目标权重变化10616.61%
累计模拟调仓换手10391.67%
目标总敞口0.00%
目标净敞口0.00%
目标现金余额权重100.00%
生效总敞口0.00%
生效净敞口0.00%
生效现金余额权重100.00%

最新资产权重

市场目标生效
BTC-USD0.00%0.00%

目标权重变化衡量策略目标本身的变化。模拟调仓换手还计入收益产生的权重漂移,因此目标不变也可能需要调仓。现金为扣除净敞口后的带符号余额。

相同输入下的计算方式差异

{
  "changedReturnDays": 0,
  "correctedTerminalEquity": 32.610249931594865,
  "legacyTerminalEquity": 32.610249931594865,
  "maximumDailyReturnDelta": 2.0816681711721685e-17,
  "model": "coherent-lagged-target-v2",
  "terminalEquityDelta": 0.0
}
完整运行标识与技术记录
{
  "inputHash": "5b3c8b854be76fa4b63c345c5aed9398c52122fb629845e8ed9de94de74eecd0",
  "ruleVersion": null,
  "sameInputAccountingCorrection": {
    "changedReturnDays": 0,
    "correctedTerminalEquity": 32.610249931594865,
    "legacyTerminalEquity": 32.610249931594865,
    "maximumDailyReturnDelta": 2.0816681711721685e-17,
    "model": "coherent-lagged-target-v2",
    "terminalEquityDelta": 0.0
  },
  "sourceHashes": {
    "scripts/build_data.py": "e3dcc988d80a46f7f5a24396bb4ffcac240da8e1249de18a5a282eacccc52320",
    "scripts/enrich_metrics.py": "05611fa9c6de11c261f631cdd8a3314212e7c567f24878a396d057d88752051c",
    "scripts/evidence_v2.py": "c4c6523dbbb9513464dca25150f42cbaac7cbfd71bd8afdc855659b2c763d72e",
    "scripts/performance_io.py": "42282ff10697ceb56dc7ca2edf79538c2e1e8344da8e6d69ceac4d16ba5c668a",
    "scripts/recompute_evidence.py": "a7f59004cb7c356940ee3748439024cd83cac434acb90c0bead2ae19f81be127",
    "scripts/replay_evidence.py": "4e04d937c19b9040da6dc9c3c80ac22181b45ffba0131f3a63a4def95865fad6",
    "scripts/requirements.txt": "7424048072a2cf3d8c3b4e4f37a5b36c1e7ff3732d893c43295d17d85c5f97d1",
    "scripts/strategies/momentum_crash_protection.py": "f900c4800cfd10f18ce3724fbbd5fc05997bd214ebb8bed6a9a8a729db7b5205",
    "scripts/strategy_evidence.py": "a3a93d62a84298470af3eb8e7d74e9f0ca0d29cf672d1d2d5449b41904e3d58c"
  },
  "runId": "cf2c8cdbfe3422567f78cb51524df5912a92081478e10dcd9cf5efbf5ffdba1b",
  "generatedAt": "2026-11-11T10:55:31.449953+00:00",
  "executionModel": {
    "cash": "1 - sum(weights); residual may exceed one or be negative for shorts/leverage.",
    "decision": "Target weights use bars through close t; previous targets earn (t-1,t].",
    "feesBasisPoints": 0,
    "fills": "Synthetic daily target allocations, not broker orders or fills; financing/borrow costs omitted.",
    "id": "synthetic-daily-target-v3",
    "rebalanceTurnover": "Sum(abs(target[t] - target[t-1]*(1+assetReturn[t])/(1+grossReturn[t]))); one-way risky notional at close t after returns, divided by pre-trade equity.",
    "return": "Sum of previous target weight times each asset close-to-close return; cash return is zero.",
    "targetChange": "Sum(abs(target[t] - target[t-1])); changes in rule targets only.",
    "wfo": "Candidate retains its own hypothetical state; first test return uses previous published target."
  }
}

订阅每周 Arena 周报

每周一封邮件:排名变化、新信号和新研究。不发垃圾邮件,随时可以退订。