Skip to Content

Risk Controls

Orien AI provides 21 configurable risk parameters to protect your capital. These are enforced by the HardRiskController before any trade is executed.

[!WARNING] CLOSE actions always bypass risk controls. This ensures agents can always exit positions to reduce exposure, even when circuit breakers are active.

Position Controls

ParameterDefaultDescription
max_position_pct50%Maximum position size as % of available balance
max_leverage5xMaximum allowed leverage
min_notional_usd$10Minimum trade value in USD
max_notional_usd$50,000Maximum trade value in USD

Stop Loss & Take Profit

ParameterDefaultDescription
stop_loss_pct2%Stop loss trigger (% from entry)
trailing_stop_pctTrailing stop distance (% from peak)
take_profit_pctTake profit trigger (% from entry)

Drawdown Protection

ParameterDefaultDescription
max_daily_loss_pct5%Maximum loss allowed per day (% of balance)
max_daily_loss_usdMaximum loss per day in absolute USD
max_drawdown_pct15%Maximum total drawdown before circuit breaker
max_drawdown_usdMaximum drawdown in absolute USD

Trading Frequency

ParameterDefaultDescription
max_trades_per_day20Maximum number of trades in 24h
cooldown_seconds60Minimum seconds between trades

Circuit Breaker

ParameterDefaultDescription
max_consecutive_losses5Number of consecutive losses before auto-pause
circuit_breaker_cooldown3600Seconds to wait after circuit breaker triggers

Open Interest & Volatility

ParameterDefaultDescription
max_open_positions1Maximum concurrent open positions
max_correlationMaximum correlation between positions
max_volatility_pctSkip trades when volatility exceeds threshold

How Risk Controls Work

Agent Decision (LONG/SHORT) Risk Evaluator (LLM advice) HardRiskController ├── Check position limits ├── Check drawdown limits ├── Check daily loss limits ├── Check trade frequency ├── Check circuit breaker └── Check leverage limits Approved? → Execute Trade Rejected? → Log reason, skip trade

The Risk Evaluator provides LLM-based risk assessment (advisory), while the HardRiskController enforces hard limits that cannot be overridden.