日频历史对比研究
美股、港股和加密的 318 项固定日线回测已经完成。结果对应当前固定池的多个独立历史窗口,未来表现和执行准备情况仍待验证。
本研究用不可变日线快照比较固定策略。历史指数成分尚未重建,策略尚未通过执行验收。原有引擎、24 项结果和扩池日频快照保留各自的记账口径及结果。
输入与策略
股票需要完整的 IBKR competition.dataset_manifest.v2 日线快照、交易日网格,以及独立的 SPY 或 2800 基准。美股以 USD、港股以 HKD 计价。TRADES 价格按拆股调整,分红总回报尚未纳入。数字货币使用 Binance 现货 USDT 日线。只有验证过的连续区间才能从不完整归档中提取,起点不早于 2023-01-01,并绑定原始文件哈希。父归档仍标为 partial。不公开原始数据。
| 市场 | 固定策略 | 单边费用假设 |
|---|---|---|
| 美股 | buy_hold、每日 equal_weight、momentum_20d、sma_cross(20,60)、SPY buy_hold | 20、40 bps |
| 港股 | 相同股票方法,以 2800 buy_hold 为基准 | 30、60 bps |
| 数字货币 | 买入持有式 equal_weight、momentum_63d、trend_200d | 0、10、25 bps |
股票动量筛选过去 20 个交易日收益为正的标的并等权配置,不按动量强弱排序。SMA 筛选短均线高于长均线的标的。数字货币动量要求过去 63 天收益为正,趋势要求上一根完整日线收盘价高于过去 200 天均价。符合条件的标的等权,没有标的则持有现金。股票最多 10 个持仓,数字货币最多 20 个,总敞口不超过 1,不加杠杆,不设换手上限,不调参。股票池超过 10 个时,取符合条件且按标识排序的前 10 个。
记账与解读
每个独立窗口先用 252 个观测值计算特征,再评分股票 63 个交易日或数字货币 90 个自然日。只纳入完整且评分区间不重叠的窗口。每个窗口从现金开始,信号使用前一根完整收盘价。lagged_close_proxy 假设在该前收盘价配置仓位,是理想化日频代理,并未验证真实可执行的成交时序。评分期首次建仓计费,期末不强制平仓。
新的 self_financing_daily.v1 按实际数量盯市,按真实交易名义金额收费,求解 E_after = E_before - fee * sum(abs(weight * E_after - current_holding_value)),让满仓建仓费用由现有资金支付。旧引擎的目标权重换手与费用口径不同,历史输出保留,不悄悄替换。
净值与零费用影子组合使用相同目标规则。收益为期末归一化资产减 1,费用拖累为毛收益减净收益。回撤从初始资产 1 起计算,是非负的峰谷跌幅。波动率与零无风险利率 Sharpe 使用日收益样本标准差,股票年化 252、数字货币 365。零波动时 Sharpe 为 null。费用按归一化资产单位求和,换手按真实单边交易金额除以交易前资产后求和。超额收益只比较同窗口、同费用基准,不等于 alpha。独立窗口不能连乘为连续账户收益。
平均盯市仓位、日均单边换手和空仓天数仅为日频模型代理。分母包含全部评分日期,空仓日要求日末无仓位且当天无模型交易。它们不能证明比赛资格,也不能覆盖日内交易证据。当前固定池存在选择偏差,分红、税、融资、整手、容量、点差及真实滑点未独立建模,仅有明确列出的费用假设。账户与产品授权需另行确认。
复现
使用可编辑源码检出以记录代码身份,安装锁定的离线 team profile。根项目仅调用独立研究包 CLI 并读取版本化产物,不导入研究包 Python。v1 evaluation 不变。
python -m competition_tools.team evaluate --config /external/team.toml --spec /external/study-spec.json --output-root /external/new-study
python -m competition_tools.check_study_delivery --config /external/team.toml --output-root /external/new-synthetic-contract
v2 spec 仅包含以下三个键。
{"schema":"competition.evaluation_spec.v2","manifests":["/external/dataset/manifest.json"],"costs":{"US":[20,40],"HK":[30,60],"crypto":[0,10,25]}}
不可变私有计划在执行前绑定输入与源码哈希、代码提交、任务、日期、费用和方法。上限为 384 项任务及 3600 秒。研究包产出 competition.daily_study_result.v1 和私有 periods.json,根项目验证身份与哈希。输入变化或不可用时标为阻塞,指标为 null。结果始终为 accepted_research=false。公开结果另行按白名单投影,不包含逐日仓位或私有日志。
2026-10-21 实际运行结果
冻结的 318 项任务全部完成,美股 110 项(11 个窗口)、港股 100 项(10 个窗口)、数字货币 108 项(12 个窗口)。美股输入为 953 个交易日、10,483 条日线,港股为 933 个交易日、10,263 条日线,均为 10 只股票加一个基准,覆盖 2023-01-03 至 2026-10-20。数字货币使用 8 个产品从 2023-01-01 至 2026-09-30 的 10,952 条日线。其更大范围父归档仍为 partial,本次选取区间已验证完整。尾部不足一个评分窗口的日期不纳入评分。
两地股票均完成有界重叠刷新,未发现重叠区间修订,父快照哈希不变。这不能证明更早历史复权完全一致。休市日零成交量且 OHLC 相同的占位记录保留在原始数据和独立审计中,不算交易日。
下表分别汇总独立窗口的净收益中位数和配对超额收益中位数,并列出最严重的窗口回撤。数值保留窗口期限,未做年化或连续净值拼接。超额收益先逐窗口配对再取中位数,因此不一定等于两个收益中位数之差。Pages 研究区域 提供逐窗口指标、费用、Sharpe 和资格代理。
| 市场 | 策略 | 单边 bps | 窗口数 | 净收益中位数 | 超额收益中位数 | 窗口最大回撤的最大值 |
|---|---|---|---|---|---|---|
| US | benchmark_buy_hold | 20 | 11 | 4.04% | 0.00% | 17.71% |
| US | benchmark_buy_hold | 40 | 11 | 3.83% | 0.00% | 17.71% |
| US | buy_hold | 20 | 11 | 6.53% | 2.06% | 17.83% |
| US | buy_hold | 40 | 11 | 6.31% | 2.05% | 17.83% |
| US | equal_weight | 20 | 11 | 7.15% | 1.88% | 18.03% |
| US | equal_weight | 40 | 11 | 6.76% | 1.75% | 18.10% |
| US | momentum_20d | 20 | 11 | 0.35% | -4.55% | 22.36% |
| US | momentum_20d | 40 | 11 | -3.80% | -8.54% | 26.13% |
| US | sma_cross | 20 | 11 | 3.63% | 0.78% | 18.01% |
| US | sma_cross | 40 | 11 | 2.77% | 0.12% | 18.43% |
| HK | benchmark_buy_hold | 30 | 10 | 3.42% | 0.00% | 20.10% |
| HK | benchmark_buy_hold | 60 | 10 | 3.11% | 0.00% | 20.10% |
| HK | buy_hold | 30 | 10 | 4.58% | 1.37% | 21.31% |
| HK | buy_hold | 60 | 10 | 4.27% | 1.36% | 21.31% |
| HK | equal_weight | 30 | 10 | 3.78% | 0.92% | 20.55% |
| HK | equal_weight | 60 | 10 | 3.28% | 0.72% | 20.58% |
| HK | momentum_20d | 30 | 10 | -0.81% | -6.07% | 25.01% |
| HK | momentum_20d | 60 | 10 | -7.65% | -13.11% | 31.63% |
| HK | sma_cross | 30 | 10 | 2.81% | -0.55% | 20.55% |
| HK | sma_cross | 60 | 10 | 0.76% | -2.13% | 20.58% |
| crypto | equal_weight | 0 | 12 | -0.08% | 0.00% | 41.65% |
| crypto | equal_weight | 10 | 12 | -0.18% | 0.00% | 41.65% |
| crypto | equal_weight | 25 | 12 | -0.33% | 0.00% | 41.65% |
| crypto | momentum_63d | 0 | 12 | 2.12% | -1.86% | 45.02% |
| crypto | momentum_63d | 10 | 12 | -0.12% | -3.54% | 47.06% |
| crypto | momentum_63d | 25 | 12 | -3.38% | -6.00% | 49.98% |
| crypto | trend_200d | 0 | 12 | 0.95% | 1.03% | 41.09% |
| crypto | trend_200d | 10 | 12 | 0.66% | 0.83% | 42.24% |
| crypto | trend_200d | 25 | 12 | 0.22% | -0.74% | 43.93% |
股票买入持有和等权基线比当前频繁切换的 20 日正动量筛选更值得优先研究。动量策略在更高费用下明显恶化。SMA 可作为另一条较低频候选,但两地相对表现不一致。数字货币 200 日趋势在 10 bps 下的配对超额收益中位数为正,25 bps 下则为负,而且回撤仍大。这不足以证明可以部署或选出了最优策略。下一步应冻结向前观察的 Paper 期间,核验真实执行和资格口径,不根据这批结果反复挑参数。存档做市输入与模型未变,本次未重跑。
复现标识记录在 site/src/data/real-data-study.v1.json。源码提交为 7b0ceae3007658e7973b26c80318f30c94696ec9,冻结计划 SHA-256 为 4e7e31ed96ad3d734ad190b59a4d8787f7bcfc1cc0c9536360818f2346e005cc。私有计划、输入定位、逐日产物和日志保留在 Git 之外。公开投影重新核验私有计划、标准化输入哈希、结果身份和逐日产物哈希后,仅复制经过审查的字段。不发布券商身份或报名凭据。
验证与剩余工具问题
本地检查通过,根项目 682 项测试(45 条原有依赖警告)、美股 158 项、数字货币 205 项、19 项真实 CLI 合成数据检查、Ruff、已配置格式与锁文件检查、公开 JSON Schema、Pages 内容与隐私检查,以及覆盖语言、主题和手机宽度的 10 项浏览器测试。两个旧结果快照与干净基线检出逐字节一致。本地构建使用数据盘上的外部源码镜像,因为 Astro 中间资源重命名不能跨磁盘。默认构建配置未修改。
2026-10-21 首次 npm audit 报告 Vite launch-editor 依赖存在一个高危项(GHSA-698v-4r3x-3vcv、GHSA-r825-w8mm-5pxw 和 GHSA-587h-7wmj-h5pm)。随后安全维护将锁定的 Vite 从 8.3.1 更新至 8.3.4,并更新其所需的 PostCSS 依赖。新一次显式审计报告零个已知漏洞,静态构建、10 项浏览器测试与 Pages 内容检查通过。之前的 TLS 错误及原始漏洞记录仍保留为历史证据。项目没有独立的类型检查或 coverage 阈值,不声称额外扫描已通过。CI 与部署结果记录在发布 PR。
互动展示与站内文档
业绩看板 使用 Apache ECharts,可选择市场、策略、费用和独立窗口。悬停、图例、曲线缩放与重置只改变展示。财务指标直接选自冻结研究结果,浏览器不重跑记账,也不拼接窗口形成连续组合。收益直方图仅计算分箱计数。
八类图表分别展示净/毛净值、回撤、窗口净/超额收益、同窗口费用敏感性、收益与回撤比较、日均换手与仓位代理,以及窗口收益分布。切换语言或主题不改变币种和方法。关闭 JavaScript 后仍可阅读摘要和完整表格。
competition.public_study_series.v1 包含从已核验私有逐日产物生成的 276 条组合曲线,以及单标的股票基准的 42 条明确不可用记录。曲线在最后一个预热收盘日从归一化资产 1 开始,包含全部评分期。期末净/毛资产和最大回撤必须在 1e-10 容差内与已审查汇总一致。只公开日期、组合净/毛净值与组合回撤,不复制原始价格、个股持仓、账户金额、日志或私有定位。基准窗口收益继续公开,不发布接近行情序列的逐日基准曲线。
python -m competition_tools.evaluation.study_series --aggregate /external/study/run/study-results.json --output /external/new-public-series.json
站内文档 通过 Astro 直接渲染本篇权威 Markdown,以及选定的架构、快速上手和数据指南。语言切换保留当前文章,其他源文档继续链接 GitHub,无需第二份正文或独立 MkDocs 部署。
当前图表展示策略效果,尚未测量 IC、rank-IC、分组收益差、信号衰减或机器学习的按时间留出表现。因子、机器学习检验及可选 runtime adapter 仍属后续研究。固定股票降频规则和加密风险叠加规则现有独立版本化消融路径,详见下文。默认研究包仍可独立运行,尚未接入外部 runtime,本次展示更新没有新增策略实验。
阅读研究摘要
首页按各市场预先设定的非零单边费用(美股 20、港股 30、加密货币 10 bps)列出全部策略,展示独立窗口数、严格正超额窗口占比、净收益中位数及最差净收益。选定策略的面板还展示超额收益中位数和费用拖累中位数。缺少基准的窗口不计入超额占比的分母,零超额不算正超额。这些描述统计不对窗口做复利拼接,也不构成显著性检验。策略说明区分了股票每日等权再平衡和加密货币初始等权、此后权重漂移的持仓方式。
同条件策略与费用对比
看板新增净值叠加图和并排指标表,比较主策略及最多两个备选策略。市场、费用、准确计分窗口、币种、计划和核算基础必须一致。缺失结果保持不可用,曲线还需要相同日期网格。单标的股票基准的逐日曲线仍不公开。
费用稳健性摘要在所有预设费用都覆盖、且输入与核算条件一致的窗口上汇总主策略。加密货币零 bps 对照有明确标注。正净收益和正超额窗口数使用各自分母,缺少基准值不会被视为零。策略详解说明信号、固定资产池、失效风险和复现方法。这些视图沿用冻结结果,不构成新一轮策略实验。
版本化消融重跑
独立 v3 评估路径支持原始对照、固定股票调仓周期和加密趋势风险规则。完整矩阵为 678 个任务,包括 318 个原始对照、252 个股票调仓任务和 108 个加密叠加任务,其中 36 个是事后选定的 60% 仓位对照。新 ID 绑定实际源码及快照、规则目录、来源、输入、窗口和费用,不替换原有 318 条快照或每日曲线。
公开汇总前,正式运行必须与每个原始对照及保存的探索指标在绝对误差 1e-10 内一致,整数和空值严格相同。迁移按科学条件连接,不要求旧 ID 相等。缺失或失败任务会明确保留,不能称为完成 678 个任务。详见固定规则与 CLI和前瞻准备。新展示区提供配对净收益变化柱图、换手与仓位散点图及可检查的汇总表,不公开新的每日序列、原始输入或券商接线。
已核验的正式回放
全部 678 个任务已完成,318 个原始对照及 360 个新增任务共 8,136 个指标值与冻结证据一致,最大绝对误差为 1.9041e-14,低于 1e-10 验收限。独立计算还核对了 62 组汇总及 5,180 个值,差异为零。所有新任务与结果均通过 schema 检查,每种方法各抽取一个期间 artifact 检查 schema,共 28 个。运行器另外逐项核验了全部期间文件。
| 市场 | 信号 | 规则 | 基点 | 窗口数 | 净收益中位数 | 超额收益中位数 | 最差窗口内回撤 | 配对净收益变化(百分点) |
|---|---|---|---|---|---|---|---|---|
| US | sma_cross | baseline | 20 | 11 | 3.63% | 0.78% | 18.01% | +0.00 |
| US | sma_cross | weekly | 20 | 11 | 4.95% | 2.10% | 17.73% | +0.93 |
| US | sma_cross | baseline | 40 | 11 | 2.77% | 0.12% | 18.43% | +0.00 |
| US | sma_cross | weekly | 40 | 11 | 4.42% | 1.77% | 18.10% | +1.07 |
| HK | momentum_20d | baseline | 30 | 10 | -0.81% | -6.07% | 25.01% | +0.00 |
| HK | momentum_20d | monthly | 30 | 10 | 9.08% | 1.61% | 22.18% | +10.37 |
| HK | momentum_20d | baseline | 60 | 10 | -7.65% | -13.11% | 31.63% | +0.00 |
| HK | momentum_20d | monthly | 60 | 10 | 7.86% | 0.61% | 22.63% | +15.96 |
| crypto | trend_200d | baseline | 10 | 12 | 0.66% | 0.83% | 42.24% | +0.00 |
| crypto | trend_200d | hysteresis_2pct | 10 | 12 | 0.50% | -0.89% | 41.78% | -0.15 |
| crypto | trend_200d | vol_target_40pct | 10 | 12 | 0.75% | 0.72% | 37.51% | +0.09 |
| crypto | trend_200d | fixed_exposure_60pct | 10 | 12 | 1.05% | 1.17% | 27.29% | +0.40 |
| crypto | trend_200d | baseline | 25 | 12 | 0.22% | -0.74% | 43.93% | +0.00 |
| crypto | trend_200d | hysteresis_2pct | 25 | 12 | 0.18% | -1.43% | 42.43% | -0.04 |
| crypto | trend_200d | vol_target_40pct | 25 | 12 | 0.41% | -0.19% | 39.29% | +0.19 |
| crypto | trend_200d | fixed_exposure_60pct | 25 | 12 | 0.78% | 0.14% | 28.59% | +0.56 |
每行汇总独立窗口,连续账户收益需单独核算。配对变化是同窗口收益差的中位数,不等于两个收益中位数相减。60% 对照各费用共 36 个任务,始终属于 post_hoc_diagnostic,其余规则为 retrospective_ablation。上表只列出讨论中的规则,网页保留全部 678 条结果和全部费用。
美股每周 SMA 和港股每月正动量值得进一步验证,尚不能证明适合执行。2% 滞回区间减少了交易,但在 10 基点下,超额收益中位数由原始趋势的 0.83% 降到 -0.89%,没有改善这项指标。40% 波动率目标减小了最差窗口内回撤,同时降低了仓位。事后 60% 对照也减小了回撤,不能把减仓效果全部归因于波动率算法。25 基点下,波动率规则超额收益中位数为 -0.19%,该费用下的结果仍然偏弱。
公开汇总为 site/src/data/ablation-study.v1.json,as_of 为 2026-10-21(UTC)。实际执行源码为 0952d35a6819442fade139ced03f903af7e2a9c9,计划 SHA-256 为 df7e440cad9e3bc41c413495ee61ed6fcd91992200e52ba9fdffd8f09d0148bb。原始 318 条快照和原有每日曲线逐字节保持不变。私有输入、源码留存、期间文件和日志继续保存在仓库外。未增加新数据、前瞻样本或券商接线。