← 返回 v3 主报告

PyTrendline v3 breakout side audit

Generated: 2026-03-13 18:44 UTC

这页只回答一个问题:为什么 support_breakout_*resistance_breakout_* 在 purged 样本里会长得像同一批事件?

结论先说:当前证据强烈支持:breakout 的 side 标签还没有通过几何审计。最新 artifacts 里,“同一 bar 被同时记成 support / resistance breakout”的 exact-match 配对只剩极少数;但更关键的问题还在——support_breakout_* 的 support 线在事件时仍系统性位于价格上方,resistance_breakout_* 的 resistance 线也系统性位于价格下方。

Plain-language summary

本轮没声称的东西:我们还没有证明修复一定只需要一个几何 gate;也还没正式重跑修复后的最小样本。所以这轮完成的是 审计定位,不是修复关闭。

What was found / not found / reliability

Pair summary

看三组 breakout 事件在 raw / purged 样本里,support 与 resistance 是否落在同一批 bar 上。

Raw sample

sample family support_rows resistance_rows same_bar_groups groups_with_both_sides both_side_share exact_match_rows support_only_rows resistance_only_rows
raw breakout_raw 930 991 1906 15 0.007870 15 915 976
raw breakout_confirm_1 733 764 1491 6 0.004024 6 727 758
raw breakout_confirm_2 657 672 1326 3 0.002262 3 654 669

Purged sample

sample family support_rows resistance_rows same_bar_groups groups_with_both_sides both_side_share exact_match_rows support_only_rows resistance_only_rows
purged breakout_raw 48 50 97 1 0.010309 1 47 49
purged breakout_confirm_1 47 50 96 1 0.010417 1 46 49
purged breakout_confirm_2 46 50 95 1 0.010526 1 45 49

Geometry audit

如果一个 support_breakout 在事件时 support 线竟然还在价格上方,这就说明当前标签和几何位置已经脱节。这里 support_above_price_share / resistance_below_price_share 里的 price 默认指事件 bar 收盘价;同时保留更严格的 support_above_high_share / resistance_below_low_share 供复查。

Purged sample

event_type rows support_above_price_share support_above_close_share support_above_high_share resistance_below_price_share resistance_below_close_share resistance_below_low_share
resistance_breakout_confirm_1 50 1.0 1.0 0.18
resistance_breakout_confirm_2 50 1.0 1.0 0.18
resistance_breakout_raw 50 1.0 1.0 0.22
resistance_rebound_confirm_1 51 0.098039 0.098039 0.0
resistance_rebound_confirm_2 50 0.2 0.2 0.0
resistance_touch_raw 52 0.134615 0.134615 0.0
support_breakout_confirm_1 47 1.0 1.0 0.234043
support_breakout_confirm_2 46 1.0 1.0 0.23913
support_breakout_raw 48 1.0 1.0 0.1875
support_rebound_confirm_1 48 0.083333 0.083333 0.020833
support_rebound_confirm_2 48 0.0625 0.0625 0.0
support_touch_raw 48 0.083333 0.083333 0.0

Raw sample

event_type rows support_above_price_share support_above_close_share support_above_high_share resistance_below_price_share resistance_below_close_share resistance_below_low_share
resistance_breakout_confirm_1 764 1.0 1.0 0.196335
resistance_breakout_confirm_2 672 1.0 1.0 0.21131
resistance_breakout_raw 991 1.0 1.0 0.162462
resistance_rebound_confirm_1 1164 0.092784 0.092784 0.000859
resistance_rebound_confirm_2 926 0.086393 0.086393 0.00108
resistance_touch_raw 1800 0.148333 0.148333 0.001111
support_breakout_confirm_1 733 1.0 1.0 0.173261
support_breakout_confirm_2 657 1.0 1.0 0.190259
support_breakout_raw 930 1.0 1.0 0.13871
support_rebound_confirm_1 988 0.07996 0.07996 0.001012
support_rebound_confirm_2 774 0.077519 0.077519 0.0
support_touch_raw 1569 0.140854 0.140854 0.001912

Pair-level geometry audit

这张表把“同一 bar 被双边 breakout 记账”的配对事件单独拿出来看,避免把单边统计和配对统计混在一起。

当前 purged breakout raw(paired_rows = 1):crossed_lines_share = 100.0%close_between_lines_share = 0.0%both_inverted_share = 100.0%

Purged sample

family paired_rows support_above_close_share resistance_below_close_share support_above_high_share resistance_below_low_share crossed_lines_share close_between_lines_share both_inverted_share
breakout_raw 1 1.0 1.0 1.0 1.0 1.0 0.0 1.0
breakout_confirm_1 1 1.0 1.0 1.0 1.0 1.0 0.0 1.0
breakout_confirm_2 1 1.0 1.0 1.0 1.0 1.0 0.0 1.0

Raw sample

family paired_rows support_above_close_share resistance_below_close_share support_above_high_share resistance_below_low_share crossed_lines_share close_between_lines_share both_inverted_share
breakout_raw 15 1.0 1.0 0.733333 0.333333 1.0 0.0 1.0
breakout_confirm_1 6 1.0 1.0 0.833333 0.666667 1.0 0.0 1.0
breakout_confirm_2 3 1.0 1.0 1.000000 0.666667 1.0 0.0 1.0

Artifacts