Per-account liquidation, leverage, and margin-usage metrics.
This module is pure calculation glue around DeltaCalc.Leverage, DeltaCalc.Liquidation,
and DeltaCalc.Safety; callers own account isolation, alert thresholds, exchange state,
and persistence.
API Functions
| Function | Arity | Description | Param Kinds |
|---|---|---|---|
margin_usage_pct | 2 | Calculate margin used as a percentage of account equity. | margin_used: value, equity: value |
calculate | 2 | Calculate per-account liquidation, leverage, margin usage, and safety metrics. | account: value, opts: value |
Summary
Types
Per-account inputs required for risk metric calculation.
Calculated account risk metrics.
Position side for account liquidation calculations.
Functions
Return account-level risk metrics for one isolated account.
Return margin_used / equity * 100, or zero when equity is not positive.
Types
@type account() :: %{ entry_price: Decimal.t(), notional: Decimal.t(), equity: Decimal.t(), margin_used: Decimal.t(), mmr_total: Decimal.t(), side: side(), swan_pct: Decimal.t() }
Per-account inputs required for risk metric calculation.
@type metrics() :: %{ effective_leverage: Decimal.t(), liquidation_price: Decimal.t(), liquidation_distance_pct: Decimal.t(), margin_usage_pct: Decimal.t(), safety: map() }
Calculated account risk metrics.
@type side() :: :long | :short
Position side for account liquidation calculations.
Functions
Return account-level risk metrics for one isolated account.
:safety_cfg in opts is passed through to DeltaCalc.Safety.safety/5.
Return margin_used / equity * 100, or zero when equity is not positive.