Stage 06 | 风控决策
in signals + analysis + portfolio state -> out position plan (direction, entry, stop, target, sizing)
Rule-based risk engine with 以损定仓 (size-from-stop-loss) position sizing. Asset-aware adapters for different market mechanics.
01 kline -> 02 intel -> 03 signal -> 04 copilot -> 05 backtest
-> [06 risk] -> 07 executor -> 08 journal
- Position sizing:
risk_amount / stop_loss_distance * entry_price - Risk rules: max position %, max portfolio exposure, drawdown limits
- Asset-aware adapters:
- A-shares: T+1, 100-share lots
- US equities: margin rules
- Crypto: 24/7, leverage limits
- Commodities: contract rolls
- Rejects signals with
signal_data_ageexceeding threshold - Outputs: approved/rejected verdict + adjusted position size
Adapted from tradinghouse/src/risk/risk_engine.py + position_sizer.py. Risk engine is already asset-agnostic. Position sizer uses 以损定仓 formula.
No credentials in this repo. Risk engine is pure computation, no external API calls.
Python 3.11+ | Pydantic (frozen models)
Scaffolding. Core logic exists in tradinghouse, migration pending.