interface
InverseFuture
The coin economics of an inverse-margined futures/perp position.
/** The coin economics of an inverse-margined futures/perp position. */
export interface InverseFuture {
/** Coin PnL since entry: `s · notionalUsd · (1/entry − 1/mark)`. */
coinPnl: number;
/** USD value of that coin PnL at the mark (`coinPnl · markPrice`). */
usdPnl: number;
/** `∂coinPnl/∂mark = s · notionalUsd / mark²` — coin per $1 move; NOT constant (inverse convexity). */
coinDelta: number;
/** `∂²coinPnl/∂mark² = s · (−2·notionalUsd / mark³)` — a LONG inverse future is SHORT gamma in coin. */
coinGamma: number;
/** Coin-equivalent size at the mark (`s · notionalUsd / mark`) — how many coins the position is long. */
coinExposure: number;
}
Fields, parameters & returned members (5)
Stability, warnings & conventions
stable-by-law (pre-1.0; not a 1.0 stability guarantee)
Declared field units are shown above. “Unitless by name” means the name alone does not establish a unit, not that a financial quantity has none. Check source descriptions, conventions, and the returned diagnostics. Errors and warnings are part of the result contract.
interface
InverseFutureInput
Input for {@link inverseFuture}.
// ── inverseFuture ───────────────────────────────────────────────────────────────
/** Input for {@link inverseFuture}. */
export interface InverseFutureInput {
/** USD notional (= contracts × contract multiplier, e.g. $10/contract on Deribit). */
notionalUsd: number;
/** Entry price (USD per coin). */
entryPrice: number;
/** Current mark price (USD per coin). */
markPrice: number;
/** Position side. Default 'long'. */
side?: InverseSide;
}
Fields, parameters & returned members (4)
Stability, warnings & conventions
stable-by-law (pre-1.0; not a 1.0 stability guarantee)
Declared field units are shown above. “Unitless by name” means the name alone does not establish a unit, not that a financial quantity has none. Check source descriptions, conventions, and the returned diagnostics. Errors and warnings are part of the result contract.
interface
InverseHedge
The inverse future/perp trade that neutralizes a coin delta.
/** The inverse future/perp trade that neutralizes a coin delta. */
export interface InverseHedge {
/** USD notional of the inverse future to trade. */
notionalUsd: number;
/** Which way to trade it. */
side: InverseSide;
/** The hedge future's coin delta — equal and opposite to the input `coinDelta` (combined ⇒ 0). */
hedgeCoinDelta: number;
/** Residual coin gamma after the delta hedge (`positionGamma + hedgeFutureGamma`) — iff `coinGamma` given. */
residualCoinGamma?: number;
}
Fields, parameters & returned members (4)
Stability, warnings & conventions
stable-by-law (pre-1.0; not a 1.0 stability guarantee)
Declared field units are shown above. “Unitless by name” means the name alone does not establish a unit, not that a financial quantity has none. Check source descriptions, conventions, and the returned diagnostics. Errors and warnings are part of the result contract.
interface
InverseHedgeInput
Input for {@link inverseHedge}.
// ── inverseHedge ────────────────────────────────────────────────────────────────
/** Input for {@link inverseHedge}. */
export interface InverseHedgeInput {
/** The coin delta to neutralize (e.g. `inverseOption.greeks(…).value.coin.delta`). */
coinDelta: number;
/** Mark price of the inverse future/perp used to hedge (USD per coin; a perp ≈ spot). */
markPrice: number;
/** Coin gamma of the position being hedged — supply to get the residual gamma after the delta hedge. */
coinGamma?: number;
}
Fields, parameters & returned members (3)
Stability, warnings & conventions
stable-by-law (pre-1.0; not a 1.0 stability guarantee)
Declared field units are shown above. “Unitless by name” means the name alone does not establish a unit, not that a financial quantity has none. Check source descriptions, conventions, and the returned diagnostics. Errors and warnings are part of the result contract.
type
InverseSide
Position side of an inverse contract.
/** Position side of an inverse contract. */
export type InverseSide = (typeof SIDES)[number];
Stability, warnings & conventions
stable-by-law (pre-1.0; not a 1.0 stability guarantee)
Declared field units are shown above. “Unitless by name” means the name alone does not establish a unit, not that a financial quantity has none. Check source descriptions, conventions, and the returned diagnostics. Errors and warnings are part of the result contract.
function
inverseFuture
Public declaration. Read the signature and parameter/member contracts below; no additional behavior is inferred.
export declare function inverseFuture(input: InverseFutureInput): Computed<InverseFuture>;
Fields, parameters & returned members (9)
Stability, warnings & conventions
stable-by-law (pre-1.0; not a 1.0 stability guarantee)
Declared field units are shown above. “Unitless by name” means the name alone does not establish a unit, not that a financial quantity has none. Check source descriptions, conventions, and the returned diagnostics. Errors and warnings are part of the result contract.
function
inverseHedge
Public declaration. Read the signature and parameter/member contracts below; no additional behavior is inferred.
export declare function inverseHedge(input: InverseHedgeInput): Computed<InverseHedge>;
Fields, parameters & returned members (8)
Stability, warnings & conventions
stable-by-law (pre-1.0; not a 1.0 stability guarantee)
Declared field units are shown above. “Unitless by name” means the name alone does not establish a unit, not that a financial quantity has none. Check source descriptions, conventions, and the returned diagnostics. Errors and warnings are part of the result contract.