Risk Parameters
This page documents all Aegis risk parameters, with type, valid range, default, and behavioral effect. The Buffer semantics by bot section is required reading before configuring triggerBufferPct.
Parameter Reference
Section titled “Parameter Reference”capitalBufferPct
Section titled “capitalBufferPct”| Field | Value |
|---|---|
| Type | Float |
| Valid range | 0.0 – 1.0 |
| Default | 0.1 (10%) |
A multiplier applied to the pool value to compute the effective operated capital before sizing a hedge position:
effectiveCapitalUsd = poolValueUsd × (1 + capitalBufferPct)marginPerLeg = effectiveCapitalUsd / leverageThe bot opens a position sized against effectiveCapitalUsd, not just poolValueUsd. Setting capitalBufferPct = 0.1 means the bot tries to open a position notional that is 10% larger than the pool value, which in turn increases the margin required by the same proportion.
Numeric example: Pool value = $1,000, capitalBufferPct = 0.1, leverage = 5×
| Step | Calculation | Result |
|---|---|---|
| Effective capital | $1,000 × (1 + 0.1) | $1,100 |
| Margin per leg | $1,100 / 5 | $220 |
| Minimum balance (worst-case group) | See Capital Reservation | ≥ $220 |
Contrast with capitalBufferPct = 0 (no buffer): effectiveCapitalUsd = $1,000, marginPerLeg = $200.
triggerBufferPct
Section titled “triggerBufferPct”| Field | Value |
|---|---|
| Type | Float (fractional scale 0..1) |
| Valid range | See per-bot defaults below |
| Default | Bastion/Vanguard: 0.005 (0.5%) · Orbit: 0.001 (0.1%) |
A fractional offset applied to the LP range edge to determine the entry trigger price. The formula and semantic differ by bot — see Buffer semantics by bot below.
| Bot | Default | Valid range |
|---|---|---|
| Bastion | 0.005 (0.5%) | 0 – 0.05 |
| Vanguard | 0.005 (0.5%) | 0 – 0.05 |
| Orbit | 0.001 (0.1%) | 0 – 0.10 |
stopLossPct
Section titled “stopLossPct”| Field | Value |
|---|---|
| Type | Float |
| Valid range | 0.001 – 0.5 |
| Default | 0.03 (3%) |
The maximum loss allowed on a futures position before it is closed automatically. Measured as a fraction of the entry price.
Example: Entry at $3,000, stopLossPct = 0.03 → stop-loss at $3,000 × (1 − 0.03) = $2,910 for a long position.
trailingStopMultiplier (Vanguard only)
Section titled “trailingStopMultiplier (Vanguard only)”| Field | Value |
|---|---|
| Type | Float |
| Valid range | 0.5 – 5.0 |
| Default | 1.5 |
| Applies to | Vanguard |
Multiplier applied to stopLossPct to calculate the trailing stop distance after the first take-profit is hit. A higher multiplier gives the position more room to run after an initial TP. This field is Vanguard-only — the strategy API rejects it for Bastion and Orbit strategies.
Example: stopLossPct = 0.02, trailingStopMultiplier = 1.5 → trailing stop distance = 0.02 × 1.5 = 0.03 (3%).
takeProfitPct (Vanguard only)
Section titled “takeProfitPct (Vanguard only)”| Field | Value |
|---|---|
| Type | Float |
| Valid range | 0.001 – 1.0 |
| Default | 0.02 (2%) |
| Applies to | Vanguard |
A single fractional profit target for the Vanguard breakout position, expressed as a percentage of margin. This field is Vanguard-only — the strategy API rejects takeProfitPct for Bastion and Orbit strategies.
- Bastion does not use
takeProfitPct. Bastion’s take-profits are the buffer take-profits (bufferTpConfig) and the escalated take-profit (escalatedTpConfig); see Bots — Bastion. - Orbit does not use
takeProfitPct. Orbit usestieredTakeProfitinstead (see below).
tieredTakeProfit (Orbit only)
Section titled “tieredTakeProfit (Orbit only)”| Field | Value |
|---|---|
| Type | Array of { rangePct, closePct } objects |
| Max levels | 3 intermediate levels |
| Scale | Integer percent 0..100 (not fractional 0..1) |
| Default | [(25,25),(50,25),(75,25)] |
| Applies to | Orbit |
Orbit’s take-profit system closes portions of the position as price moves through the LP range. Each level specifies:
rangePct— how far through the LP range (0..100, exclusive endpoints) before the partial close firesclosePct— what percentage of the remaining open position to close at that level (0..100)
The sum of all closePct values must not exceed 100. After all defined levels fire, the remaining position closes at the opposite range edge (TP100 by the exit resolver).
Default profile: [(25,25),(50,25),(75,25)] — three partial closes of 25% each at the 25%, 50%, and 75% interior marks of the range. The remaining 25% closes at the opposite range boundary.
Example (custom 2-level profile):
tieredTakeProfit = [ { rangePct: 33, closePct: 50 }, { rangePct: 66, closePct: 50 }]TP1: close 50% of position when price is 33% through the range. TP2: close remaining 50% when price is 66% through the range.
Empty array ([]): disables partial closes — the entire position closes only at the opposite range edge (TP100-only mode).
autoRearm
Section titled “autoRearm”| Field | Value |
|---|---|
| Type | Boolean |
| Default | true |
When true, after a position closes (by TP, SL, or manual close), the leg automatically re-arms and monitors for the next trigger event. When false, the leg remains inactive after closing until manually re-enabled.
Buffer Semantics by Bot
Section titled “Buffer Semantics by Bot”triggerBufferPct does not have a single universal formula. The offset is applied differently depending on which bot is configured.
Bastion
Section titled “Bastion”Bastion uses exterior triggers — the trigger fires after price has already exited the LP range by a buffer margin.
| Leg | Formula | Type |
|---|---|---|
lower_short | P_lower × (1 − triggerBufferPct) | Below lower bound |
upper_short (reentry) | P_upper | At upper bound reentry |
Numeric example: P_lower = $2,000, triggerBufferPct = 0.005 → lower_short fires when price falls below $2,000 × (1 − 0.005) = $1,990.
For full Bastion parameter context see Bots — Bastion.
Vanguard
Section titled “Vanguard”Vanguard uses an exterior breakout trigger — the trigger fires after price has broken above the LP range upper bound by a buffer margin.
| Leg | Formula | Type |
|---|---|---|
upper_long | P_upper × (1 + triggerBufferPct) | Above upper bound |
Numeric example: P_upper = $3,000, triggerBufferPct = 0.005 → upper_long fires when price rises above $3,000 × (1 + 0.005) = $3,015.
For full Vanguard parameter context see Bots — Vanguard.
Orbit uses interior triggers derived from the full range width — the trigger fires while price is still inside the range, approaching an edge.
| Direction | Formula | Type |
|---|---|---|
| LONG | P_lower + triggerBufferPct × (P_upper − P_lower) | From inside, near lower bound |
| SHORT | P_upper − triggerBufferPct × (P_upper − P_lower) | From inside, near upper bound |
Numeric example: P_lower = $2,000, P_upper = $3,000 (range width = $1,000), triggerBufferPct = 0.05 (5%)
| Direction | Trigger |
|---|---|
| LONG | $2,000 + 0.05 × $1,000 = $2,050 |
| SHORT | $3,000 − 0.05 × $1,000 = $2,950 |
For full Orbit parameter context see Bots — Orbit.
Stop-loss and Take-profit
Section titled “Stop-loss and Take-profit”Stop-loss (stopLossPct)
Section titled “Stop-loss (stopLossPct)”The stop-loss limits the maximum loss on a futures leg. It is calculated from the entry price:
- Long position SL:
entry_price × (1 − stopLossPct) - Short position SL:
entry_price × (1 + stopLossPct)
| Scenario | Entry | stopLossPct | Stop-loss price |
|---|---|---|---|
| Long, ETH | $2,050 | 0.03 | $2,050 × 0.97 = $1,988.50 |
| Short, ETH | $2,950 | 0.03 | $2,950 × 1.03 = $3,038.50 |
Take-profit formulas
Section titled “Take-profit formulas”Each bot uses a different take-profit mechanism. takeProfitPct is Vanguard-only.
Vanguard (takeProfitPct)
Section titled “Vanguard (takeProfitPct)”For Vanguard, the take-profit price is based on the entry price and leverage:
- Long TP:
entry_price × (1 + takeProfitPct / leverage) - Short TP:
entry_price × (1 − takeProfitPct / leverage)
| Scenario | Entry | takeProfitPct | Leverage | Take-profit price |
|---|---|---|---|---|
| Long, ETH (Vanguard) | $2,050 | 0.05 | 15x | $2,050 × (1 + 0.05/15) = $2,050 × 1.003333 = $2,056.83 |
| Short, ETH (Vanguard) | $2,950 | 0.05 | 15x | $2,950 × (1 − 0.05/15) = $2,950 × 0.996667 = $2,940.17 |
See Bots — Vanguard for the full take-profit scenario.
Bastion (bufferTpConfig / escalatedTpConfig)
Section titled “Bastion (bufferTpConfig / escalatedTpConfig)”Bastion does not use takeProfitPct. Bastion has two take-profit mechanisms, both Bastion-only:
- Buffer take-profits (
bufferTpConfig) — up to 3 limit-order levels that realize profit from the capital-buffer portion of the lower short as price falls belowP_lower. Available only when the capital buffer is greater than 0%. The sum of buffer close percentages cannot exceed 100%. - Escalated take-profit (
escalatedTpConfig) — partial closes of the upper short as price travels back down through the range (interior milestones such as 25%, 50%, 75%, then the remainder at the opposite edge).
See Bots — Bastion for the full take-profit detail.
Orbit (tieredTakeProfit)
Section titled “Orbit (tieredTakeProfit)”Orbit uses a tiered system of partial closes rather than a single price target. Each level in tieredTakeProfit fires as price moves through the LP range interior. See tieredTakeProfit above for the full contract.
Trailing stop (trailingStopMultiplier)
Section titled “Trailing stop (trailingStopMultiplier)”trailingStopMultiplier is Vanguard-only. For Vanguard, after the first TP is hit, the stop-loss is moved to breakeven and a trailing stop activates at stopLossPct × trailingStopMultiplier distance from the current price.