ETH 模拟盘风险体检(2026-10-21,UTC+8)
角色:ETH 模拟盘风控官执行助手。只读:没有修改任何程序、配置、风控参数或账本,没有读取任何密钥/凭据文件,没有下单。 范围:仅模拟盘研究。各账户是独立的 $100 模拟账户,分别测试策略,不是合并组合。 文中所有建议都是提交 Codex 审批的建议,不是已做的改动。查不到或无法确定的写 UNKNOWN。
0. 三句话结论
- 截至 14:26(UTC+8)账本快照,73 个账户共平仓 78 笔,只赢 4 笔,合计净亏 $5.60。去掉跨账户重复后,只有 37 笔独立交易、2 笔独立盈利,每个账户都不足 30 笔,统计上不能证明任何策略有效。
- 亏损约 76% 来自交易成本(手续费约 $2.83,即 51%;滑点约 $1.42,即 25%)。15m 策略单个来回成本约 0.6%,是 15m ATR(0.20%)的 3 倍。另据 14 天历史对照,15m 的 28 个变体全部为负,这是结构性的成本侵蚀,不是近期突然失效。
- 风险集中在 local_mix 15m(both 账户 14 连亏、回撤 0.797%,为全场最大)、同一信号在多个账户里重复计数,以及 15m 与 240m 方向经常相反:两个周期同时持仓的 bar 中,84.6% 方向相反。明日模拟盘红线:单笔风险不超过权益的 0.5%,单仓不超过 10%,不加杠杆;10/22 01:00、04:00–05:30、20:30(UTC+8)前后不开新仓。
1. 数据来源、新鲜度与「哪套是最新」
| 数据 | 路径 | 数据时间(UTC+8) | 用途 |
|---|---|---|---|
| 当前账本快照(主依据) | 〔内部文件〕 → 〔内部文件〕(zip:eth_ledger_snapshot_20261021_1426.zip),汇总 〔内部文件〕 |
快照 14:26:15;账本内最新 last_book.time = 14:26:12;最新 15m 已收盘 K 线 14:00;240m 最新 last_bar 08:00 |
权益、盈亏、回撤、连亏、持仓 |
| 12:31 快照 | 〔内部文件〕(〔内部文件〕 = 12:31:05) | 心跳 12:31:00;15m K 线到 12:00 | K 线 CSV、〔内部文件〕、runtime_health、早期对比 |
| 11:39 快照 | 〔内部文件〕、〔内部文件〕、〔内部文件〕(内容一致;〔内部文件〕 最后一行 11:39:19) | 11:39 | 历史回测、fair_comparison、多因子/新闻账本配置 |
| 运行报告 | 〔内部文件〕、〔内部文件〕、〔内部文件〕、〔内部文件〕 | 12:29–13:46 | 部署与运行状态 |
| 公开行情 | HTX 〔内部文件〕(ethusdt,60min/1day/15min,各 500 根,无密钥) | 拉取于 14:24(服务器 ts 14:24:16) | 波动率、成交量 |
如何判断哪套是最新(box 上文件 mtime 全部是 13:29 的解压时间,不能用于判断,所以改用文件内的时间戳):
- eth_work、eth_r2、eth_r3、eth_work2 的 auto_runtime 内容相同,〔内部文件〕 都停在 11:39:19,属于 11:39 的副本。
- r2_pull 的 〔内部文件〕 为 12:31:05,heartbeat 为 04:31Z(12:31 UTC+8)。
- 〔内部文件〕 的账本内 last_book.time 为 06:26:12Z(14:26:12 UTC+8),所以它最新。R4/R5 报告显示,运行中的是笔记本上的「指挥官2.0」(auto_bot PID ***,13:25:05 启动)。
- 注意:账本实时运行在本地电脑上。本报告数字都对应 14:26:15 这个快照时刻,不代表此后的状态;14:26 之后的权益、回撤和连亏 = UNKNOWN。
2. 核实上级通报
| 通报内容 | 核实结果 | 依据 |
|---|---|---|
| 每个策略 $100 虚拟账户 | 已核实:73 个账户的 settings.capital 都是 100 |
〔内部文件〕 |
| 使用 HTX 公开数据 | 已核实:K 线来自 〔内部文件〕,盘口来自 〔内部文件〕 | 〔内部文件〕、〔内部文件〕 |
| 截至 11:39 共 38 笔平仓、只赢 1 笔 | 在 11:39 快照的 44 账户口径下复算属实(38/1),但已是旧口径,不再引用 | 〔内部文件〕 |
| 新口径:73 账户、78 笔平仓、赢 4 笔、净亏 $5.60 | 已核实:78 / 4 / −$5.6036 | 自算,〔内部文件〕 |
| 最大回撤 0.797%(local_mix_both,14 连亏) | 已核实:max_dd_pct=0.797,14 笔全为负 |
〔内部文件〕 |
| 所有账户不足 30 笔 | 已核实:最多的是 local_mix_both,14 笔 | 同上 |
| 亏损主要来自手续费(每次开平约 0.6%) | 基本属实,口径需细分:配置为 fee 0.2%/边、slip 0.1%/边,所以一个来回 = 0.4% 手续费 + 0.2% 滑点 ≈ 0.6%。0.6% 是「手续费+滑点」,纯手续费是 0.4%。成本合计约占净亏 75.8%,纯手续费约 50.6% | 68 个账户 settings fee=0.002, slip=0.001;5 个 book 账户 fee=0.002, entry_impact=0.001, exit_slip_budget=0.001 |
| 多因子、新闻策略 0 笔交易 | 已核实:multifactor_book_v1、news_book_v1 的 trades=0,reason =「没有技术权重组合通过门槛,空仓观察」 | 〔内部文件〕、〔内部文件〕 |
| 资金费率/持仓量/爆仓/链上数据未接入 | 已核实:代码中 external_factors='NEWS_ONCHAIN_FUNDING_NOT_CONNECTED';directional 账户 funding_modelled=false, liquidation_modelled=false |
〔内部文件〕、〔内部文件〕 |
真实配置参数(来自快照,未改动):risk 0.5%/笔,单仓上限 cap 10%,止损 5%,最小名义 $5;回撤熔断 warn 10% / freeze 15% / lock 20%(directional 和主机器人)。
3. 账户体检(快照 14:26:15,非 14:26 之后的状态)
3.1 汇总
| 指标 | 数值 | 说明 |
|---|---|---|
| 账户数 | 73 | 有平仓的 26 个;有持仓的 8 个 |
| 平仓笔数 / 盈利笔数 | 78 / 4(胜率 5.1%) | |
| 独立交易(按 入场时间+出场时间+方向 去重) | 37 / 2 独立盈利 | 例:同一笔 keltner 盈利(10-20 22:00→10-21 02:45 UTC+8)同时出现在 directional_15/keltner_both、keltner_long、strategy_pool_15/keltner 三个账户;独立入场时点只有 25 个 |
| 已实现净盈亏 | −$5.6036 | |
| 手续费 / 滑点(估) | $2.83 / $1.42 | directional 和 book 账户有逐笔 fee 记录;strategy_pool 无逐笔 fee,按配置 0.2%、0.1% 估算 |
| 未平仓浮亏(按 HTX 14:24 价 2438.60 计) | −$1.155(8 个持仓合计,单个账户 −0.08~−0.19) | 估值价不是快照里的 mark,属近似 |
| 最大回撤 | 0.797%(local_mix_both) | 其他:ema_both_15 0.626%,strategy_pool_15/local_mix 0.578%,ema_15 0.447% |
| 最长连亏 | 14(local_mix_both);10(pool_15/local_mix);8(local_mix_long_15) | |
| 杠杆 | 无(现金抵押,单仓名义约 $9.07–9.12 = 权益的 9.1%) | 不模拟资金费率和强平 |
| 资产集中度 | 100% ETH 单品种 | 所有账户相同 |
| 风控模式 | 全部 NORMAL(离 warn 10% 还很远) |
3.2 独立交易的价格移动(36 笔,不含 book_paper15)
- 成交价到成交价(已含 0.1% 滑点)的价格移动:中位数 −0.214%,均值 −0.475%。只有 2 笔超过 +0.4%(能覆盖来回手续费)。全部是
SIGNAL平仓,没有一笔是止损出场。 - 持仓时间很短:12:31 快照的 51 笔中位数为 1.0 小时,最短 15 分钟。
3.3 历史回测与近期对照(是否失效)
| 对照 | 结果 | 来源 |
|---|---|---|
| 15m 公平对照(10-07 11:30 → 10-21 11:30 UTC+8,14 天,28 个变体) | 28 个全部 ≤0;local_mix both 202 笔 −10.06%,胜率 3.5%;local_mix short 138 笔 −7.08% | 〔内部文件〕(11:39 快照) |
| 240m 公平对照(04-24 → 10-21) | 结果有正有负;pullback both +1.68%,donchian both +1.59%,local_mix both −7.42%(164 笔) | 〔内部文件〕 |
| 主机器人 4h EMA_FILTERED_200 历史回测 | +4.88%,回撤 3.94%,26 笔,胜率 26.9%(约 2.8 年) | 〔内部文件〕 |
| FAST15 历史回测 | −1.57%,14 笔,胜率 7.1% | 〔内部文件〕 |
| - 结论:15m 前向胜率(2/37 独立)和 15m 历史一致,都很差。这不是近期突变,而是这些 15m 策略在 0.6% 来回成本下本来就没有优势。240m 前向只有 2 笔平仓,样本太少,是否失效 = UNKNOWN。 |
3.4 数据缺失与时间戳断档
- runtime_health(12:31 快照)记录的心跳空档:10-21 03:25(6113s)、05:46(8459s)、11:27(20458s)。book 类实时盘口账本的 equity_history 在 10-21 01:43→05:46、05:46→11:27(UTC+8)出现断档,共约 9.7 小时(〔内部文件〕、
multifactor_book_v1)。 - 按收盘 K 线记账的账户事后补算,所以 equity_history 没有断档。但 R2 报告证实其中 25 个开平仓事件是「延迟补算(快照证实)」,另有 15 个是日志推断的延迟补算。这些前向记录中有一部分不是实时决策,不能当作实时可成交的证据。
- 〔内部文件〕 中 3 次
WinError 5 拒绝访问(〔内部文件〕 原子替换失败):11:39:12、11:42:07、11:57:25(〔内部文件〕 第 2720、2752、2785 行)。 - book 账户的 reason 多次出现「新K线发现过晚,跳过入场(超过收盘后5分钟)」(11:39 快照的 book_paper_v1、book_paper15_v1 status)。
- 频繁重启:10-20 共 23 次 CLEAN_CLOSE(〔内部文件〕);10-21 13:10 被关闭,13:25 重启(R4 报告)。
- book 账户 equity_history 上限 5000 条,旧记录被截断(12:31 快照起点 10-20 19:15,14:26 快照起点 10-20 21:06)。审计轨迹会丢失。
- K 线 CSV 本身完整:〔内部文件〕(2166 根,09-28→10-21 12:00)和 〔内部文件〕(6067 根)都没有缺口,也没有重复。
- 夜间连续运行仍未验证(R4、R5 报告自述)。
4. 市场:近期波动率与成交量(HTX 公开 API,拉取于 2026-10-21 14:24 UTC+8,仅用已收盘 K 线)
| 窗口 | 已实现波动(年化) | 均量 | 来源 |
|---|---|---|---|
| 1h,近 24h | 60.8% | 1.52M USDT/h | HTX 60min |
| 1h,近 7 天 | 51.2% | 1.52M/h | 同上 |
| 1h,近 ~20 天(499 根) | 45.0% | 1.65M/h | 同上 |
| 15m,近 24h | 63.0%(本地 CSV 62.8%) | — | HTX 15min;〔内部文件〕 |
| 15m,近 20 天 | 44.8%(本地 CSV) | — | 本地 CSV |
| 日线,近 7 天(收盘到收盘) | 20.0% | 35.4M USDT/日 | HTX 1day |
| 日线,近 30 天 | 33.2% | 57.4M/日 | 同上 |
| 日线,近 365 天 | 56.6% | 96.3M/日 | 同上 |
- 日内波动突变:近 24h 的 1h/15m 已实现波动比 20 天基线高约 35–40%。最大 1h 振幅出现在 10-20 22:00–23:00(UTC+8):2409.76→2477.71,振幅 2.75%,成交 6.11M(约 4 倍常态)。随后 23:00 回落到 2428。
- 量能萎缩:近 7 日日均成交比 30 日均值低约 38%;tech 简报中 1h 量能为 0.54x。低流动性加上脉冲行情,实际滑点可能超过模型假设的 0.1%(UNKNOWN,未接入盘口滑点统计)。
- 日线收盘到收盘波动反而偏低(7 天年化 20%),说明行情是日内来回抽、日线收盘不动。这种环境对频繁进出的 15m 策略最不利。
5. 当前最大的 5 个风险(建议均需 Codex 审批)
R1|15m 策略被交易成本结构性吞噬(最严重)
- 证据:来回成本约 0.6%(0.4% 手续费 + 0.2% 滑点)= 15m ATR(0.20%)的 3 倍、1h ATR(0.60%)的 1 倍。前向 37 笔独立交易只有 2 笔赢;36 笔中只有 2 笔价格移动超过 0.4%。亏损中 75.8% 是成本。14 天历史对照中 15m 的 28 个变体全部为负。
- 最坏情况:按 local_mix_both 目前的速度(约 26 小时 −0.797%,约 −0.73%/天),约 13–14 天触发 warn 10%,约 20 天触发 freeze 15%。在历史对照中,同一策略 14 天 −10.06%(202 笔)。研究结论被成本噪音污染,选不出任何策略。
- 建议(提交 Codex):① 15m 系列先转为「只记信号、不记成交」的观察模式,或加入入场门槛:预期移动(例如 ATR×k)≥ 2× 来回成本(口径见 §7.1 第 1 条);② 每个账户设每日开仓次数上限;③ 在报表里单列「毛收益 / 手续费 / 滑点」三列,并加一列 maker 费率(或 0.1%/边)情景,评估费率敏感性。
R2|信号高度相关:样本重复计数 + 风险集中在同一信号
- 证据:78 笔平仓只对应 37 笔独立交易,独立入场时点只有 25 个。directional_15/X_both、X_long(或 X_short)、strategy_pool_15/X 三个账户经常记录同一笔交易。当前 8 个持仓实际只有 3 个独立信号:15m EMA 多 @2461.20(fast15、ema_both_15)、15m EMA 多 @2470.00(ema_long_15、pool_15/ema)、240m EMA/回调空 @2388.75(4 个账户)。
- 最坏情况:报表显示「4 胜」「73 个账户」,给人「多策略验证」的错觉。实际上一个信号出错,会同时在 3–4 个账户里出现相同亏损,比较排名和胜率都会失真。如果以后把多个策略合成一个组合,同一信号的风险会被放大 3–4 倍。
- 建议:报表增加「独立交易 ID / 信号指纹」,并分别给出去重后的胜率和笔数;对照组账户(_long/_short 与 _both、strategy_pool 与 directional)标注为「镜像」,不参与独立计数。
R3|样本不足 + 14 连亏:现在不能下任何「有效/失效」结论
- 证据:所有账户都不足 30 笔,最多 14 笔。local_mix_both 14 连亏,全部是 15–60 分钟的短持仓,单笔 −$0.014~−$0.11。fair_comparison 自己也标注「样本不足30笔,仅描述」。
- 最坏情况:① 拿 1–3 笔的账户做排名、晋级或淘汰,会错杀或错选;② 连亏期间没有任何规则会暂停:现在的熔断只按回撤(10/15/20%)触发,按单笔约 0.05% 的失血速度,14 连亏也离 warn 很远。
- 建议:① 晋级门槛:独立样本 ≥30 笔,且双倍成本敏感性测试仍为正;② 增加「连亏 N 笔(例如 6)或单日亏 0.5%」进入冷却期的研究记录型规则,只记录、不改原账户,用于观察。
R4|运行连续性与数据完整性(前向记录可信度)
- 证据:10-21 01:43–11:27(UTC+8)实时盘口账本断档约 9.7 小时;25+15 个开平仓事件属延迟补算;3 次 WinError 5 原子写失败;book 账户多次「新K线发现过晚,跳过入场」;10-20 重启 23 次;夜间连续运行未验证;账本只在笔记本上,风控方看到的只是快照。
- 最坏情况:断档期间有持仓时,止损只能在下次运行时按开盘价成交(代码里有
STOP_GAP分支:〔内部文件〕)。以 240m 空单为例,止损 2508.19 离现价只有 2.85%,而 10-20 22:00 一根 1h 就涨了 2.75%,夜里断档时可能直接跳空越过止损。补算会让前向表现看起来像实时,研究结论建立在不可成交的价格上。 - 建议:① 心跳空档超过 30 分钟时告警,并在报表中把补算交易单列;② 修复
.tmp替换失败(WinError 5)的重试与告警(代码改动需 Codex 审);③ 评估常驻机器或云端运行(〔内部文件〕 已有迁移方案);④ 每晚自动把账本快照同步到 〔内部文件〕,让风控能看到当天数据。
R5|外部因子未接入 + 波动/流动性错配
- 证据:资金费率、持仓量、爆仓、链上、新闻都未接入。multifactor 和 news 两个账本实际只靠技术权重,0 笔交易,没有任何证据能说明「因子」或「新闻」策略有效。directional 空单不模拟资金费率和强平。近 24h 日内波动比基线高 35–40%,7 日日均成交量却低 38%。
- 最坏情况:① 把 0 笔交易的 multifactor/news 误读为「稳健」;② 如果以后把空单研究迁到永续合约口径,资金费率成本被系统性低估(数值 UNKNOWN);③ 低量脉冲行情下,实际滑点超过 0.1% 的假设,所有成本估计都偏乐观。
- 建议:① 在面板和报表中把 multifactor/news 标为「外部因子未接入,结果不代表因子有效」;② 接入外部数据前,先完成时间戳和历史覆盖核验(代码中 〔内部文件〕 已有类似原则);③ 增加「双倍成本」和「滑点 0.2%/边」两档压力测试。
6. 现象:15m 与 240m 信号经常相反(研究发现,不是风险项)
各账户是独立的 $100 账户,分别测试策略,这里不把多空并存当作风险,只记录这个现象,供以后构建组合时参考。
- 量化方法:对 7 个策略族的 〔内部文件〕 和 〔内部文件〕,用 15m equity_history 的每根 bar,取同一时刻 240m 账户的方向(240m 记录区间为 10-20 16:00 → 10-21 12:00 UTC+8,共 90 根 15m bar × 7 族 = 630 个观测)。
- 结果:两个周期同时有持仓的 130 个观测中,110 个方向相反(84.6%),只有 20 个同向。
- EMA 族:同时持仓 73 个观测,其中 63 个相反(86%)
- 回调(pullback)族:49 个中 45 个相反(92%)
- local_mix 族:8 个中 2 个相反
- bollinger、donchian、keltner、rsi 四族:240m 没有持仓,无法比较
- 快照时点的实例:15m EMA 多单(入场 2461.20/2470.00,止损 2338.14/2346.50),与 240m EMA/回调空单(入场 2388.75,止损 2508.19)同时存在,按 2438.60 估值两边都浮亏(多单约 −0.08~−0.12,空单约 −0.19)。
- 局限:240m 前向只有约 1 天,几乎全程只有一笔空单(10-20 16:00 开)。上面的比例主要反映「240m 空单持有期间,15m 反复做多」,样本极小,不能推广。
给 Codex 的建议(仅当以后要把多个策略合成一个模拟「组合」时): 1. 高周期定方向:240m(或 1d)的持仓方向作为组合的允许方向;15m 只能做同向入场,或用来择时加减仓。 2. 冲突时观望:15m 信号与 240m 方向相反时,组合层不开新仓(各独立研究账户照常记录,不受影响)。 3. 净额与成本:组合层先按净头寸计算再下单,避免同一组合里一多一空各付一次来回成本。 4. 研究验证:先在影子账户里同时跑「无过滤」与「高周期过滤」两版,比较独立样本 ≥30 笔后的去重胜率和扣双倍成本后的净值,再决定是否采用。
7. 简报挑刺
7.1 技术简报 〔内部文件〕(文件 14:26 版)
- 「区间宽度 0.89% < 2×0.6% = 1.20%」——疑似重复计算,口径不确定。 上级口径是「每次开平(一个来回)约 0.6%」。在一个区间里高抛低吸,一次完整波段只需要 1 个来回,盈亏平衡线应是 0.6%,不是 1.2%。如果 2× 指的是「要求利润 ≥ 成本的 2 倍」作为安全边际,必须写明,否则就是把一次来回算了两遍。另外,0.6% 在系统中是 0.4% 手续费 + 0.2% 滑点,标题写「手续费」不准确。结论本身仍然成立:现实中拿不到整段区间,0.89% − 0.6% 最多剩 0.29%,不值得做。
- 第 81 行「0.89% = 1.49 倍单次开平手续费」的算法与第 83 行的 2× 口径前后不一致,应统一。
- EMA200 暖机偏差:只请求 300 根 K 线,1d EMA200 = 2289.49;我用 HTX 499 根日线复算为 2313.45(差约 24,约 1%)。4h EMA200 = 2527.65;本地 6067 根 4h CSV 全量复算为 2513.64(差 14)。应拉更长历史,或注明暖机误差。新闻简报写的「200 日 EMA ~$2,326」也和它对不上。
- 「波动率状态:常态」与实际数据不符:近 24h 的 1h/15m 已实现波动年化 61–63%,比 20 天基线高 35–40%;10-20 22:00 出现 2.75% 的 1h 振幅。带宽分位只看 120 根,没能反映这次跳升,且 15m 带宽分位 19%(挤压)没有写进波动结论。
- 信心度 55% 的算法有问题:四个周期都判「震荡」也被算作「一致 4/4」来加分。没有方向的一致不应提高方向信心;而且这是规则分,不是概率,写「约 55%」容易被误读。
- 4h 均线是空头排列(EMA20 2421 < EMA50 2444 < EMA200 2528,价格在 EMA200 下方),趋势得分却是 +0,评分规则对排列的权重偏低,值得复核。
- 关键支撑 2,424.65 离现价只有约 0.6%(= 1 个 1h ATR = 1 个来回成本),用「4h 收盘跌破」作为下修触发,假信号概率高。建议加上幅度或时间过滤。
- 「止损按 1–2×ATR(4h)」(约 1.5–2.9%)与系统配置的 5% 固定止损不一致,应注明这只是参考,不是系统参数。
- 未包含资金费率、持仓量、爆仓数据(与系统现状一致,但应列入数据缺口)。
7.2 新闻简报 〔内部文件〕(文件 14:27:38 版)
- E4「10/21 ETH 1 小时内由约 $2,419 拉到 $2,462,约 $27.21M 空单被爆」: - 日期和价位与 HTX 不符:HTX 1h 线上的挤空发生在 10-20 22:00–23:00(UTC+8),从 2409.76 到 2477.71。10-21(UTC+8)全天最低 2426.95,没有出现「2419→2462」。 - 来源:我读到的 14:27 版附有链接,但只有 CMC AI(AI 生成的摘要页),属于二手来源,无法核实,也没有交易所或 Coinglass 等原始爆仓数据。群里指出「无来源链接」,可能针对的是更早的版本。无论哪种情况,这条都应降级为「未核实」。第 0 节三句话结论第 3 条和第 1 节都引用了它。
- BitMine 604 万 ETH(E3):14:27 版附有 The Block 和 SEC 8-K 链接;第 0 节第 3 条引用时没有链接。8-K 附件我没有打开核对,具体数字的核实状态 = UNKNOWN。「约占流通量 4.9%」需要注明分母口径。
- 第 1 节价格「$2,445–2,452,24h +1.7%~+2%」:HTX 14:24 价格为 2438.60,24h 涨跌 +1.68%(从 2398.39 起算)。数值大致吻合,但未注明数据时刻,且已经偏离价格区间下沿。
- 风控提示「降低杠杆或放宽止损」与风控原则冲突:放宽止损而不同时减仓,会增大单笔亏损;模拟账户本身没有杠杆。应改为「不开新仓 / 减仓,止损不放宽」。
- 「置信度约 55%」与技术简报碰巧相同,两者都是主观或规则分,应注明不是概率,也不要互相印证。
- ETF 流量(10/20 −$26.1M、30 日 −$389M)、FedWatch 概率(84%/16%)都来自二手聚合站,未见 Farside/SoSoValue 或 CME 原始数据。10Y 收益率 5.116%、DXY 101.70 我没有独立核对 = UNKNOWN。
- 「参考区间 $2,326–2,560」宽约 10%,对模拟盘没有操作意义,建议给出与 ATR 挂钩的区间。
- 10/22 时间表中的 13:48 LMTS 解锁、EIA 天然气等与 ETH 无关,属于噪音,可以删除。
- 时区换算我抽查了:20:30(初请 08:30 ET,EDT=UTC−4)和 01:00(20Y 拍卖 13:00 ET)都正确。Tesla 发布时刻 UNKNOWN,简报已如实标注。
8. 给 ETH 操盘手的明日(10/22,UTC+8)模拟盘红线
仅限模拟盘;数值取自现行配置,不额外放宽。如需收紧,提交 Codex 审批。
| 项 | 上限 / 规则 | 依据 |
|---|---|---|
| 单笔风险上限 | ≤ 权益 0.5%($100 账户 ≤ $0.50),含来回成本 | 配置 risk=0.005 |
| 单仓名义上限 | ≤ 权益 10%(约 $10),不加杠杆 | 配置 cap=0.1 |
| 止损 | 不放宽;入场前确认止损距离 ≥ 2× 来回成本(≥1.2%) | §7.1 第 1 条;口径待定 |
| 15m 策略 | 建议只观察、不新开(待 Codex 审批);如继续运行,单账户每日新开 ≤3 笔(建议值) | R1 |
| 连亏 / 日亏 | 连亏 6 笔或当日亏损 0.5% 时停止新开,次日复核(建议值,待审批) | R3 |
| 不开新仓窗口 | 10/22 00:30–01:30(美 20Y 国债拍卖结果 01:00);04:00–05:30(Tesla 财报,发布时刻 UNKNOWN,电话会 05:30);20:00–21:00(美初请失业金 20:30) | 新闻简报 §5;MarketWatch/eOption 日历 |
| 次级留意(可不禁) | 22:00 领先指标、23:00 KC Fed / 财政部发行规模;每日 08:00(日线和 4h 收盘)、每 4h 收盘时刻 | 同上;本地 K 线时区为 UTC |
| 运行风险时段 | 01:00–11:30 历史上曾出现心跳断档(10-21 01:43–11:27)。夜间运行未验证,夜间不留新开的 15m 仓位 | §3.4 |
| 资金费率结算时刻 | UNKNOWN(未接入) | — |
| 加密专属事件(ETF 流量公布时刻等) | UNKNOWN | 新闻简报 §8 |
| 远期提示 | 10/27 01:42 Glamsterdam 测试网激活;10/29 02:00 FOMC 决议(窗口外,届时另行发出红线) | 新闻简报 §6 |
9. UNKNOWN 清单
- 14:26:15 之后的权益、回撤、连亏和持仓(账本在笔记本上)。
- 实际滑点(未接入盘口成交统计);资金费率、持仓量、爆仓、链上数据。
- 240m 策略是否失效(前向只有 2 笔平仓)。
- 夜间运行连续性;14:26 快照之后是否又出现断档。
- 新闻简报中 ETF 流量、FedWatch、10Y、DXY、$27.21M 爆仓的原始数据核实。
- strategy_pool 账户逐笔手续费(按配置估算)。
10. 复算脚本与只读声明
- 计算脚本(box 临时目录,均为只读输入):〔内部文件〕(账户统计)、〔内部文件〕(HTX 波动率),HTX 原始 JSON 在 〔内部文件〕。
- 只写入了本文件。没有修改任何代码、配置、参数或账本;遇到 〔内部文件〕/env 类文件一律跳过;没有进行任何交易。
补充(14:38 UTC+8):账本断档定性与数据完整性
- 断档 10/21 01:43–11:27(MYT)已查明:笔记本合盖断交流电,先待机,05:46 转休眠,11:27 开盖恢复,不是崩溃(来源:〔内部路径〕,Codex Q-010)。
- 统计口径:这一段按「无观测」处理,不算成「没有交易」。连亏、回撤、胜率的统计都要注明这一段没有覆盖,跨断档的连亏计数不能拿来证明「已经止住」。
- 最坏情况:断档期间持仓的止损没人检查。如果价格在这段时间穿过止损,账本恢复后只会按恢复时的价格结算,实际亏损会被低估或者变形。这段时间的价格是否穿过止损记 UNKNOWN,需要用 HTX 历史 K 线核对。
- 新增数据完整性风险:〔内部文件〕 改名时多次报 WinError 5(拒绝访问),约 5 秒后自动恢复。最坏情况是某次写入失败,状态文件停在旧值,导致重复开仓或漏记平仓。
- 给 Codex 的建议(只是建议,不改代码):(1) 写状态文件用原子写入加有限次重试,每次失败都记日志并统计次数;(2) 恢复后对账,把恢复前后的持仓和成交逐笔比对;(3) 运行期间禁止系统休眠或合盖待机,或者在恢复时把断档期间的止损按 K 线回放检查一遍。
补充(14:39 UTC+8):休眠期间出现的入场记录
- 技术分析师发现:信号 K 线时间在 10-21 02:15–09:15 的入场共 23 笔(第 20–25 组),合计净亏 -1.2745$,全部落在休眠期间。原因 UNKNOWN,已建议放进 Q-010。
- 风险等级上调为「高」。如果是恢复后按历史 K 线补单,那就是用已经知道的价格回头开仓,属于前视偏差,模拟盘的成交价和时机都不能代表实盘能做到的结果。
- 本简报里涉及这一段的统计(连亏、回撤、胜率、独立交易数、成本占比)全部标为「待核实」,等 Codex 查清后重算。
- 给 Codex 的建议:确认程序休眠恢复后会不会补跑错过的 K 线;如果会,补出来的信号只记录、不成交,或者单独标记,不计入绩效。
补充(14:40 UTC+8):断档期间止损回放结果(来源:技术分析师,HTX 15m,01:30–11:30 共 40 根)
- 这段时间最高 2,465.00(09:45),最低 2,426.95(03:15)。现有持仓的止损(多单 2,338.14 和 2,346.50,空单 2,508.19)都没有被触及,所以「穿过止损后按恢复时价格结算」这一项风险对现有持仓不成立,可以关掉。
- 仍然记 UNKNOWN:断档期间有没有平仓或新开仓,需要逐笔成交来核对。这一项和那 23 笔入场一起放进 Q-010。
补充(14:45 UTC+8):补记成交拆分统计
数据:14:26:15 账本快照 〔内部文件〕(73 个账户),只读。补记定性依据:〔内部文件〕。脚本:〔内部文件〕。
补记识别口径:11:39 唤醒后重跑的 40 根 15m K 线,开盘时间为 10-20 17:30Z – 10-21 03:15Z(= 10-21 01:30–11:15 MYT)。entry_time 落在这个区间的算「断档内入场」;entry_time 在区间之前、exit_time 落在区间内的算「休眠前开、补跑里平」。 - 定位结果:入场 23 笔,合计 −1.27447 USD;平仓 8 笔,合计 −0.82563 USD;共 31 笔,与主管核实一致。入场合计按 4 位小数是 −1.2745,和技术分析师的数一致;主管写的 −1.2743 差 0.0002,属于舍入或口径差。 - 现有 8 个持仓都不是在断档内开的。240m 账本在补跑时段没有成交。book_paper15_v1 那 1 笔是实时盘口成交,不在 31 笔里,但它持仓跨过了断档,期间没有观测。 - 要特别注意:8 笔「补跑里平」中有 3 笔是盈利的 keltner 多单(10-20 22:00 → 10-21 02:45 MYT),也就是此前 4 笔赢单中的 3 笔、2 笔独立赢单中的 1 笔。
| 指标 | 含补记(78 笔) | 去掉补记(47 笔) | 备注 |
|---|---|---|---|
| 已平仓笔数 | 78 | 47 | 剔除 31 笔 |
| 赢单 / 胜率 | 4 / 5.1% | 1 / 2.1% | 剩下的唯一赢单是 strategy_pool_15/rsi(+$0.0096) |
| 独立交易 / 独立赢单(按 入场时间+出场时间+方向 去重,同 §3.1) | 37 / 2(5.4%) | 26 / 1(3.8%) | 补记 31 笔去重后是 11 笔独立交易,含 1 笔独立赢单 |
| 独立入场时点 | 26 | 19 | 本次复算是 26;§3.1 写的 25 差 1,原因未查明 |
| 最大连亏:全局(独立交易按平仓时间排序) | 18 | 20 | 去掉补记后反而变长,因为剔除了 keltner 赢单。这是跨账户合并的序列,只当描述 |
| 最大连亏:最差账户 | 14(directional_15/local_mix_both) | 9(同一账户) | 这 9 笔里,8 笔在断档前,1 笔在断档后,中间跨过了剔除的那段。只算断档前连续的是 8 |
| 最大回撤:最差账户 | 0.797%(local_mix_both,账本 max_dd_pct,按盯市计) | 约 0.54%(同一账户,只算已平仓的近似值) | 见下文说明。准确的盯市回撤记 UNKNOWN |
| 已实现净盈亏 | −$5.6036 | −$3.5035 | 补记 31 笔合计 −$2.1001 |
| 手续费 / 占净亏 | $2.8336 / 50.6% | $1.7070 / 48.7% | directional 用逐笔 entry_fee+exit_fee;strategy_pool 按配置 0.2%/边估算;book 用 execution_fills |
| 滑点 / 占净亏 | $1.3991 / 25.0% | $0.8359 / 23.9% | 按配置 slip 0.1%/边×名义估算。book_paper15_v1 没有 slip 字段(它用 entry_impact 和 exit_slip_budget 各 0.001),没算进去;按这两项估约 $0.018,加上后两口径分别是 75.8% 和 73.1% |
| 成本合计占净亏 | 75.5% | 72.6% | 两口径下成本侵蚀的结论都成立 |
回撤为什么不能准确重算:仓位按当时权益的 0.5% 风险和 10% 上限来定,账户状态是前后连着的。去掉补记以后,后面每笔的仓位、持仓路径和盯市权益都会变,而且这段时间如果程序是实时在线的,会怎么成交本身就不知道。所以去掉补记后的盯市回撤记 UNKNOWN。上表的 0.54% 是近似值:从 $100 起,只把剩下 47 笔的已实现盈亏逐笔累加,算峰谷回撤,不含浮动盈亏,也不重算仓位。同样的方法用在含补记口径上,结果也是 0.797%,和账本字段一致,可以作为参照。连亏也有类似问题:剔除补记后,断档前后的序列被直接接在一起,跨断档的连亏只当参考。
更正 14:39 补充里的说法:之前写的「前视偏差」不准确,现更正为:补记成交混进了前向样本,信号本身没有用到未来数据(第 i 根收盘出信号,按第 i+1 根的历史开盘价×1.001 成交)。问题在于,这些成交当时并没有实时发生,却和实时样本记在同一个账本里,而且没有任何标记。风险等级仍然是高:受影响的是 31/78 笔已平仓、11/37 笔独立交易,以及 2 笔独立赢单中的 1 笔,足以改变胜率和独立赢单数。
统计口径:在 Codex 答复 Q-010 之前,这 31 笔单列,不进前向统计和规则优化证据。本简报和以后的风控统计以「去掉补记」作为前向口径,「含补记」只作对照。§0、§3.1、R1–R3 里引用的 78/4、37/2、14 连亏、0.797% 都是含补记的数字。
给 Codex 的建议(只是建议,不改代码和参数):
1. 账本的每笔成交和每个事件都加上 recorded_at(写入时的挂钟时间)和 〔内部文件〕,区分实时成交和补跑成交。
2. 休眠或断线恢复后补跑的 K 线,只更新指标和信号,并记录成「补跑信号」,不生成成交;如果为了延续状态必须成交,就单独标记,不计入绩效和胜率。
3. 报表默认按「去掉补记」统计,同时给出含补记的对照;历史上这 31 笔是追溯标注还是剔除,由 Codex 决定。
4. 补跑以后,要把账户状态(持仓、止损、last_bar)和对应实时口径逐笔对账,避免剔除补记后状态对不上。
补充(15:08 UTC+8):基线回撤与总闸模拟
数据:14:26:15 快照 〔内部文件〕(73 个账户,
settings.capital都是 100),只读。主口径是「去掉补记」,剔除的就是上一节认定的那 31 笔;「含补记」只作对照。脚本:〔内部文件〕。时间均为 MYT(UTC+8)。
1. 基线回撤(已实现口径)
算法:从 $100 起,按平仓时间把每笔已实现盈亏累加,算峰谷回撤。不含浮动盈亏,也不按剔除后的权益重算仓位,所以和账本里按盯市算的 max_dd_pct 不是一个口径。
| 排名 | 去掉补记:账户(笔数) | 回撤 | 含补记对照:账户(笔数) | 回撤 |
|---|---|---|---|---|
| 1 | directional_15/local_mix_both(9) | 0.542%($0.5418) | directional_15/local_mix_both(14) | 0.797% |
| 2 | directional_15/ema_both(3) | 0.484% | strategy_pool_15/local_mix(10) | 0.578% |
| 3 | directional_15/ema_short(2) | 0.366% | directional_15/ema_both(3) | 0.484% |
| 4 | directional_15/local_mix_short(6) | 0.362% | directional_15/local_mix_long(8) | 0.436% |
| 5 | strategy_pool_15/local_mix(5) | 0.322% | directional_15/ema_short(2) | 0.366% |
- 这些账户几乎没有赢单,所以每个账户的已实现回撤就等于它的累计净亏。
- 全部账户合计的已实现曲线(73×$100 = $7,300):去掉补记,最大回撤 $3.5035,占 0.048%;含补记,$5.6036,占 0.077%。合计曲线从起点开始就没有创过新高,所以回撤等于累计净亏。各账户是独立测试账户,这个合计数只作描述,不代表真实组合。
- ema_both 有一笔未平仓多单,浮亏没算进去(见 §3.1,约 −$0.08 到 −$0.12),按盯市算回撤会更大。
2. 总闸模拟(研究用的回放,不改账户)
规则:同一账户连亏 6 笔,或者当天(MYT 00:00 起算)已实现亏损达到当天开盘时已实现权益的 0.5%,就停止开新仓,一直停到当天 MYT 24:00。已经开的仓照原样平仓,只拦新开仓。 口径: - 连亏计数不按天重置,赢一笔才清零。被拦下的单不计入连亏。 - 停机期间平掉一笔亏损单,或者第二天又亏一笔,只要连亏仍然≥6,就会再次触发,停到那一天的 24:00。 - 拦截的判定是:入场时间 ≥ 触发时刻,并且和触发在同一个 MYT 自然日。 - 账户之间互相独立。 - 近似处理:拦掉一笔以后,后面的成交都按原账本的记录不变。实际上 local_mix 这类多空反手的策略,拦掉一笔会改变后面的持仓状态和仓位,所以「挡掉的亏损」只是一阶近似,真实的反事实结果记 UNKNOWN。
触发清单 | 口径 | 账户 | 触发时间 | 原因 | 被拦的新开仓(入场→平仓,盈亏) | |---|---|---|---|---| | 去掉补记 | directional_15/local_mix_both | 10-20 22:30 | 连亏 6 | 22:45→23:00(−0.0143)、23:15→23:30(−0.0472) | | 去掉补记 | directional_15/local_mix_both | 10-21 13:45 | 连亏 7(跨断档、跨天累计) | 当天后面没有新开仓 | | 去掉补记 | directional_15/local_mix_short | 10-20 23:30 | 连亏 6 | 当天后面没有新开仓 | | 含补记 | directional_15/local_mix_both | 10-20 22:30;10-21 03:15(这次是补记单平仓) | 连亏 6;连亏 7 | 10-20 拦 2 笔(同上),10-21 拦 5 笔(其中 4 笔是补记单) | | 含补记 | directional_15/local_mix_short | 10-20 23:30 | 连亏 6 | 无 | | 含补记 | directional_15/local_mix_long | 10-21 08:30 | 连亏 6 | 拦 2 笔(09:30 那笔是补记单,另一笔是 13:15) | | 含补记 | strategy_pool_15/local_mix | 10-21 04:45 | 连亏 6 | 拦 4 笔(其中 3 笔是补记单) |
- 日亏 0.5% 这一条,两个口径都没有触发。 单日已实现亏损最大的是 directional_15/ema_both 10-20 的 −$0.4844,阈值约 $0.50;第二是 local_mix_both 10-20 的 −$0.4634。
结果 | 口径 | 触发账户数 | 被拦笔数 | 被拦单合计盈亏 | 挡掉赢单数 | 全部账户已实现净盈亏:原 → 模拟 | |---|---|---|---|---|---| | 去掉补记 | 2 | 2 | −$0.0614 | 0 | −$3.5035 → −$3.4421(少亏 1.8%) | | 含补记 | 4 | 13 | −$0.6774 | 0 | −$5.6036 → −$4.9262(少亏 12.1%) |
- 解读:在去掉补记的前向样本里,总闸只能挡掉 $0.06。原因是亏损主要是单笔成本侵蚀,散落在很多账户里,每个账户的笔数都很少,很难攒够 6 连亏。含补记口径下效果更大,但被拦的 13 笔里有 8 笔本身就是补记单,不能拿来证明总闸有效。
- 样本问题:触发全部集中在 local_mix 族,被拦单都在 15m。样本极小,只能作为描述,不能当作规则有效的证据。两个口径都没有挡掉赢单。
- 给 Codex 的建议(不改代码):总闸可以作为「研究记录型」规则继续影子观察,只记录触发和被拦单,不改原账户;等独立样本≥30 笔以后再评估。根本问题仍然是 R1 的成本门槛,总闸替代不了它。
15:25 策略研究员回测初审要点(待晚间简报展开核实)
- 日线唐奇安:25 笔,样本不足;样本内 -6.5% 和样本外 +80.4% 差距大,依赖 2024–2025 年的大趋势,有体制依赖风险。
- 最大回撤 -49%,最长约 575 天没有回到前高;按 10% 名义仓位算,收益 +8.5%,回撤 -6.1%,需要对照红线核实。
- 4h 用的是永续价格当现货代理(均差 0.044%),资金费率没计,要确认结论不受影响。
- 一共试了 291 组参数,样本外 +94.1% 要按多重检验打折扣;「网格 90% 组合为正」要核实这些组合之间是否高度相关。
- 「15m 只在日线持仓时开多」未测,结果是 UNKNOWN,不能作为依据。
16:00 4h 收盘检查
- 数据来源是 HTX 公开接口 〔内部文件〕(ethusdt,4hour),16:06 MYT 拉取。12:00–16:00 MYT 这根 4h:开盘 2,444.81,最高 2,459.00,最低 2,437.88,收盘 2,455.90,成交量 1,603.9 ETH。前 20 根已收盘 4h(10/18 08:00 到 10/21 08:00)的均量是 2,186.4 ETH,这根是均量的 0.73 倍,没到 1.5 倍。
- 四条线都没触发:收盘 2,455.90 低于上修线 2,464.38,量也不够;没有收在 2,406.72 下方。上一根(08:00–12:00)收盘 2,445.07,低于 2,446.45,所以「连续两根收在 2,446.45 上方」不成立(04:00 那根收 2,449.72,但中间被 08:00 那根打断了)。连续两根收在 2,424.65 下方也不成立。另外,08:00 那根最高打到 2,465.00,盘中刺穿了上修线,但收盘没站住,属于盘中假突破,不能算确认。
- 预案 B(做空)没触发:下修条件不满足,不进场。16:00 收盘不在回避时段,所以回避规则这次不涉及。
- 对明天计划和红线的影响:维持区间观望,不新开仓;目前没有触碰任何红线。现在价格在区间上沿附近,比预案 B 的固定止损 2,458 只低约 2 美元。这说明如果晚些时候跌破下修线,那就是一次急跌,反抽到 2,418–2,423 的过程中可能会有较大波动,要盯住跳空风险(见第 5.5 节的最坏情况)。下一次检查点是 20:00 收盘,那根落在回避时段 20:00–21:30 内,即使触发也要等窗口结束、价格仍在入场区间才进,不补进。