mid_zone_very_weak_b1goal: test whether the current problem is early exit treatment after followthrough reentry
Implemented new OpenSpec change:
openspec/changes/followthrough-mid-exit-shadow-probe/
Added:
dragon_glued_followthrough_exit.py
dragon_followthrough_mid_exit_review.py
tests/test_followthrough_mid_exit_probe.py
openspec/changes/followthrough-mid-exit-shadow-probe/acceptance-summary.md
Strategy change is shadow-only:
new config gates in dragon_strategy_config.py are default-off
new branch config alpha_first_glued_followthrough_mid_exit_probe_config() lives in dragon_branch_configs.py
dragon_strategy.py now has a branch-gated hold for:
entry code entry_glued_followthrough_reentry
kdj_sell=True
ql_sell=False
early holding window
mild positive repair state
this prevents immediate knife_take_profit_2_glued only in the new shadow branch
Added the new branch to dragon_daily_signal_pipeline.py so it is visible in daily and forward observation outputs.
Historical result from the new branch:
original mid probe:
2020-12-01 -> 2020-12-09
sell reason knife_take_profit_2_glued
return -0.24%
new mid exit probe:
2020-12-01 -> 2021-02-19
sell reason high_regime_confirmed_exit:kdj_sell
holding 80 days
return +26.65%
Trade-path difference versus the old mid probe:
removed:
2020-12-01 -> 2020-12-09 followthrough reentry loss
2020-12-15 -> 2021-02-19 later glued re-buy
added:
one merged trend trade 2020-12-01 -> 2021-02-19
interpretation:
the repaired trend was real
the old branch was cutting it too early and then buying back later
Review artifact conclusions from dragon_followthrough_mid_exit_review.md:
same_close compounded return:
base 1424.12%
mid_probe 1420.41%
mid_exit_probe 1460.02%
next_open compounded return:
base 1295.54%
mid_probe 1288.52%
mid_exit_probe 1332.91%
this makes alpha_first_glued_followthrough_mid_exit_probe the only currently promising shadow extension worth monitoring
but promotion is still not justified because the evidence is still one repaired-trend path
Validation:
py -3 -m py_compile dragon_glued_followthrough_exit.py dragon_followthrough_mid_exit_review.py tests/test_followthrough_mid_exit_probe.py dragon_daily_signal_pipeline.py
py -3 -m unittest tests.test_followthrough_mid_exit_probe -v
py -3 dragon_followthrough_mid_exit_review.py
py -3 -m unittest discover -s tests -v -> 26 tests passed
py -3 dragon_daily_signal_pipeline.py passed
py -3 dragon_forward_observation_pipeline.py passed
Also fixed a weekend-sensitive test failure unrelated to the strategy logic:
updated tests/test_data_fetcher_tday_cache.py to use an effective business day when testing snapshot-merge writeback
this keeps the full suite green even when current date falls on a weekend