Skip to content

Commit 886e205

Browse files
committed
Broaden market regime control compatibility
1 parent 34c9734 commit 886e205

3 files changed

Lines changed: 20 additions & 2 deletions

File tree

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,10 @@ send notifications; plugin research and signal generation live here.
3737
opt in through mounted metadata. OSINT-style fields such as a Pentagon pizza
3838
index are kept as watch-only evidence and do not contribute to the actionable
3939
trading score.
40+
- `market_regime_control`: unified deterministic facade for crisis, macro, and
41+
TACO signals. Levered strategies can consume position controls directly;
42+
stock/ETF rotation strategies should consume the same artifact through their
43+
local risk-scaling policy and keep TACO as notification-only.
4044
- `taco_rebound_shadow`: TQQQ-only event-rebound context notifier. It writes
4145
manual-review artifacts and never recommends position size or changes
4246
allocations. Softening/de-escalation events stay watch-only until post-event

src/quant_strategy_plugins/strategy_plugin_runner.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,14 @@
4040
SUPPORTED_PLUGIN_MODES = (SHADOW_MODE,)
4141
PLUGIN_COMPATIBLE_STRATEGIES: dict[str, tuple[str, ...]] = {
4242
PLUGIN_CRISIS_RESPONSE_SHADOW: ("tqqq_growth_income", "soxl_soxx_trend_income"),
43-
PLUGIN_MARKET_REGIME_CONTROL: ("tqqq_growth_income", "soxl_soxx_trend_income"),
43+
PLUGIN_MARKET_REGIME_CONTROL: (
44+
"tqqq_growth_income",
45+
"soxl_soxx_trend_income",
46+
"global_etf_rotation",
47+
"russell_1000_multi_factor_defensive",
48+
"tech_communication_pullback_enhancement",
49+
"mega_cap_leader_rotation_top50_balanced",
50+
),
4451
PLUGIN_MACRO_RISK_GOVERNOR: ("tqqq_growth_income",),
4552
PLUGIN_TACO_REBOUND_SHADOW: ("tqqq_growth_income",),
4653
}

tests/test_strategy_plugin_runner.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -306,7 +306,14 @@ def test_strategy_plugin_runner_runs_unified_market_regime_control_for_soxl(tmp_
306306

307307

308308
def test_strategy_plugin_runner_contract_registry_prefers_unified_plugin() -> None:
309-
assert SOXL_STRATEGY_NAME in PLUGIN_COMPATIBLE_STRATEGIES[PLUGIN_MARKET_REGIME_CONTROL]
309+
assert set(PLUGIN_COMPATIBLE_STRATEGIES[PLUGIN_MARKET_REGIME_CONTROL]) == {
310+
STRATEGY_NAME,
311+
SOXL_STRATEGY_NAME,
312+
"global_etf_rotation",
313+
"russell_1000_multi_factor_defensive",
314+
"tech_communication_pullback_enhancement",
315+
"mega_cap_leader_rotation_top50_balanced",
316+
}
310317
assert PLUGIN_SCHEMA_VERSIONS[PLUGIN_MARKET_REGIME_CONTROL] == ("market_regime_control.v1",)
311318
assert PLUGIN_DEPRECATED_SUCCESSORS[PLUGIN_CRISIS_RESPONSE_SHADOW] == PLUGIN_MARKET_REGIME_CONTROL
312319
assert PLUGIN_DEPRECATED_SUCCESSORS[PLUGIN_MACRO_RISK_GOVERNOR] == PLUGIN_MARKET_REGIME_CONTROL

0 commit comments

Comments
 (0)