abaquant.derivatives.analytics.parity

Import path: abaquant.derivatives.analytics.parity

Domain: Derivative pricing, simulation, calibration, diagnostics, and strategy analysis.

Purpose

Parity and deterministic option-pricing analytics.

When to use it

This module computes derived diagnostics from prices, returns, or model outputs. Ensure inputs use the frequency and units stated by each function.

Public objects

  • function: parity_check — Evaluate put–call parity and report the residual under continuous carry.

  • function: intrinsic_time_value — Decompose an option premium into intrinsic value and non-negative time value.

  • function: forward_price_continuous — Compute a continuously compounded cost-of-carry forward price.

Detailed reference

Parity and deterministic option-pricing analytics.

Purpose

The module checks put–call parity, decomposes an option premium into intrinsic and time value, and computes a continuous-carry forward price.

Conventions

Rates and yields are continuously compounded decimal annual rates; maturity is in years.

References

[ 1 ] Black, F., and M. Scholes (1973), “The Pricing of Options and Corporate Liabilities”; Merton, R. C. (1973), “Theory of Rational Option Pricing”.

abaquant.derivatives.analytics.parity.parity_check(call, put, S, K, T, r, q=0.0)

Evaluate put–call parity and report the residual under continuous carry.

Parameters:
  • call (float or array-like) – Observed call premium in currency units for the parity calculation.

  • put (float or array-like) – Observed put premium in currency units for the parity calculation.

  • S (float or array-like) – Current underlying spot price in currency units.

  • K (float or array-like) – Option strike price in the same currency units as the underlying.

  • T (float or array-like) – Time to maturity in years.

  • r (float or array-like) – Continuously compounded risk-free annual rate in decimal units.

  • q (float, default=0.0) – Continuous dividend or carry yield in decimal annual units.

Returns:

Dictionary of named model outputs, metrics, or workflow results defined by the current public schema.

Return type:

dict[str, object]

abaquant.derivatives.analytics.parity.intrinsic_time_value(price, S, K, option_type='call')

Decompose an option premium into intrinsic value and non-negative time value.

Parameters:
  • price (float or array-like) – Price or option premium in currency units.

  • S (float or array-like) – Current underlying spot price in currency units.

  • K (float or array-like) – Option strike price in the same currency units as the underlying.

  • option_type (str, default='call') – Option type label, normally "call" or "put".

Returns:

Dictionary of named model outputs, metrics, or workflow results defined by the current public schema.

Return type:

dict[str, object]

abaquant.derivatives.analytics.parity.forward_price_continuous(spot, r, q, T)

Compute a continuously compounded cost-of-carry forward price.

Parameters:
  • spot (float) – Current underlying or asset spot price in currency units.

  • r (float) – Continuously compounded risk-free annual rate in decimal units.

  • q (float) – Continuous dividend or carry yield in decimal annual units.

  • T (float) – Time to maturity in years.

Returns:

Computed forward price continuous as a scalar in the units implied by the input values.

Return type:

float

Notes

Model inputs are interpreted according to the module-level rate, maturity, and volatility conventions. Numerical outputs depend on the validity of those assumptions.