Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,9 @@ send notifications; plugin research and signal generation live here.
- `market_regime_control`: unified deterministic facade for crisis, macro, and
TACO signals. Only strategies with positive backtest evidence should mount
position controls for automated consumption; SOXL/SOXX currently receives
broad macro/crisis signals as general notifications only. Stock/ETF rotation
strategies should consume the same artifact through their local risk-scaling
policy and keep TACO as notification-only. See the
broad macro/crisis signals through `notification_targets` only. Stock/ETF
rotation strategies should consume the same artifact through their local
risk-scaling policy and keep TACO as notification-only. See the
[Market Regime Control design plan](docs/market-regime-control-plan.md).
- `taco_rebound_shadow`: TQQQ-only event-rebound context notifier. It writes
manual-review artifacts and never recommends position size or changes
Expand Down Expand Up @@ -136,6 +136,8 @@ as `schema_version`, `canonical_route`, `suggested_action`, `reason_codes`, and
logs only. `market_regime_control.notification` mirrors the localized
notification text and reason labels so existing notification code can render a
message without translating route/action codes itself.
General notification targets are configured under `notification_targets`, not as
synthetic strategies, and never receive position-control permission.

## Local Checks

Expand Down
4 changes: 3 additions & 1 deletion README.zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ Brokers、Schwab、LongBridge、Firstrade 等平台仓库只负责加载 artifac
- `crisis_response_shadow`:面向杠杆美股策略的黑天鹅防守观察插件。它只写入 shadow-mode artifact,不调用券商接口。
可选启用 AI shadow audit:AI 只审计证据一致性和数据缺口,不改写确定性路线、不下单、不改仓位;默认优先尝试本机 Codex,失败后可走 OpenAI-compatible 或 Anthropic fallback endpoint。
- `macro_risk_governor`:面向 TQQQ 的确定性宏观降杠杆插件。它按价格趋势、实现波动、VIX 和信用 ETF 相对压力打分,输出 `leverage_scalar` / `risk_asset_scalar` 给显式 opt-in 的策略运行时消费。HY OAS、金融压力指数、五角大楼比萨指数、Fear & Greed、put/call、VVIX、SKEW、MOVE、收益率曲线、美元压力、safe-haven demand 等外部硬数据、OSINT、情绪或跨资产字段默认只作为 watch-only 证据,不进入可执行分数;只有显式研究开关开启后才允许外部压力字段参与自动分数。
- `market_regime_control`:统一确定性 facade,汇总 crisis、macro 和 TACO 信号,输出版本化的 `notification` 和 `position_control`。只有经过回测证明自动消费有效的策略才挂载仓位控制;SOXL/SOXX 这类未通过统一宏观插件复核的高波动行业杠杆策略只接收通用通知,人工决定是否干预。股票/ETF 轮动策略通过本地风险缩放策略消费;TACO 在统一插件里保持通知-only,并会被危机和宏观降风险路线 veto。设计说明见 [Market Regime Control 统一插件方案](docs/market-regime-control-plan.zh-CN.md)。
- `market_regime_control`:统一确定性 facade,汇总 crisis、macro 和 TACO 信号,输出版本化的 `notification` 和 `position_control`。只有经过回测证明自动消费有效的策略才挂载仓位控制;SOXL/SOXX 这类未通过统一宏观插件复核的高波动行业杠杆策略只通过 `notification_targets` 接收通用通知,人工决定是否干预。股票/ETF 轮动策略通过本地风险缩放策略消费;TACO 在统一插件里保持通知-only,并会被危机和宏观降风险路线 veto。设计说明见 [Market Regime Control 统一插件方案](docs/market-regime-control-plan.zh-CN.md)。
- `taco_rebound_shadow`:仅适用于 TQQQ 的事件反弹上下文通知插件。它只写入人工复核 artifact,不给仓位大小建议,也不改动配置或账户分配。缓和/降温事件会先保持 watch-only,只有事件后价格反弹确认通过后才触发人工复核通知,以减少过早抄底提醒。
该插件也可选启用同样的 shadow-only AI audit,但 AI 只复核事件来源和反弹证据质量。
- TACO panic-rebound 研究、组合回测和 overlay 对比也归属本仓库;snapshot pipeline 仓库只保留兼容入口。
Expand Down Expand Up @@ -103,6 +103,8 @@ qsp-build-taco-rebound-shadow-signal \
策略和券商运行时的交易逻辑仍应只读取 `schema_version`、`canonical_route`、
`suggested_action`、`reason_codes` 和 `position_control` 等机器字段。中英文文案只用于通知界面和日志展示,不参与策略判断。`market_regime_control.notification`
会同步包含本地化通知文案和原因标签,方便现有通知代码直接渲染,不需要在策略仓库里重复翻译 route/action code。
通用通知目标通过 `notification_targets` 配置,不再伪装成 synthetic strategy,
并且永远不会获得仓位控制权限。

## 本地检查

Expand Down
8 changes: 4 additions & 4 deletions docs/examples/strategy_plugins.example.toml
Original file line number Diff line number Diff line change
Expand Up @@ -41,15 +41,15 @@ taco_enabled = true
[strategy_plugins.outputs]
output_dir = "data/output/tqqq_growth_income/plugins/market_regime_control"

[[strategy_plugins]]
strategy = "market_regime_notification"
[[notification_targets]]
notification_target = "market_regime_notification"
plugin = "market_regime_control"
enabled = true
# General market-regime notification. This artifact is not mounted into the
# SOXL/SOXX strategy runtime; sector-levered SOXL keeps its own validated SOXX
# volatility gate and humans decide whether broad macro/crisis notices matter.

[strategy_plugins.inputs]
[notification_targets.inputs]
prices = "data/output/market_regime_control/input/soxl_price_history.csv"
external_context = "data/output/market_regime_control/input/external_context.csv"
event_set = "full"
Expand All @@ -69,7 +69,7 @@ taco_enabled = false
crisis_enabled = true
macro_enabled = true

[strategy_plugins.outputs]
[notification_targets.outputs]
output_dir = "data/output/market_regime_notification/plugins/market_regime_control"

# Deprecated compatibility mounts. They remain runnable for historical
Expand Down
6 changes: 4 additions & 2 deletions docs/market-regime-control-plan.md
Original file line number Diff line number Diff line change
Expand Up @@ -131,8 +131,10 @@ allowlist:

SOXL/SOXX is not in the strategy-level `market_regime_control` consumption
registry. It receives broad market-regime context through the general
`market_regime_notification` artifact to prevent accidental promotion from
notification into automated de-risking.
`notification_targets.market_regime_notification` artifact. That notification
target is not a strategy, cannot enter strategy runtime metadata, and cannot
affect position sizing; this prevents accidental promotion from notification
into automated de-risking.

## Indicator Tiers

Expand Down
5 changes: 4 additions & 1 deletion docs/market-regime-control-plan.zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,10 @@
- `evidence_status`:记录该策略/插件组合是 `automation_approved`、`notification_only` 还是 `deprecated_compatibility`。
- `since_version`:记录该消费权限从哪个 runner schema 开始生效。

SOXL/SOXX 不出现在 `market_regime_control` 的策略级消费 registry 中;它通过 `market_regime_notification` 接收通用通知,避免配置误用把通知信号升级成自动调仓。
SOXL/SOXX 不出现在 `market_regime_control` 的策略级消费 registry 中;它通过
`notification_targets.market_regime_notification` 接收通用通知。通用通知不是
strategy,不允许进入策略 runtime metadata,也不能影响仓位,避免配置误用把通知
信号升级成自动调仓。

当前观察指标分层:

Expand Down
Loading