volkit.pricing¶
- volkit.pricing.price_euro_future(F, K, T, r, sigma, cp=1)[source]¶
Price of a European option on a futures contract (Black-76).
- Parameters:
F (float or array-like) – Futures price today.
K (float or array-like) – Strike price.
T (float or array-like) – Time to maturity in years.
r (float or array-like) – Continuously-compounded risk-free rate (annualized).
sigma (float or array-like) – Black volatility per √year (e.g., 0.20 for 20%).
cp ({+1, -1, 'c', 'p', 'call', 'put'}, optional) – Call/put flag (broadcastable). Default is +1 (call).
- Returns:
Option present value(s), broadcasted to the common shape.
- Return type:
- volkit.pricing.delta_euro_future(F, K, T, r, sigma, cp=1)[source]¶
Futures delta ∂V/∂F.
- Returns:
Delta with broadcasted shape.
- Return type:
- volkit.pricing.gamma_euro_future(F, K, T, r, sigma, cp=1)[source]¶
Futures gamma ∂²V/∂F².
- Returns:
Gamma with broadcasted shape.
- Return type:
- volkit.pricing.vega_euro_future(F, K, T, r, sigma, cp=1)[source]¶
Vega ∂V/∂σ (per 1.00 volatility, not per 1%).
- Returns:
Vega with broadcasted shape.
- Return type:
- volkit.pricing.theta_euro_future(F, K, T, r, sigma, cp=1)[source]¶
Theta ∂V/∂T (calendar time theta, holding F constant).
- Returns:
Theta with broadcasted shape (per year).
- Return type:
- volkit.pricing.rho_euro_future(F, K, T, r, sigma, cp=1)[source]¶
Rho ∂V/∂r (assumes F independent of r).
- Returns:
Rho with broadcasted shape.
- Return type:
- volkit.pricing.dual_delta_euro_future(F, K, T, r, sigma, cp=1)[source]¶
Strike sensitivity ∂V/∂K (a.k.a. dual delta).
- Returns:
Dual delta with broadcasted shape.
- Return type:
- volkit.pricing.vanna_euro_future(F, K, T, r, sigma, cp=1)[source]¶
Vanna ∂²V/(∂F ∂σ).
- Returns:
Vanna with broadcasted shape.
- Return type:
- volkit.pricing.vomma_euro_future(F, K, T, r, sigma, cp=1)[source]¶
Vomma (volga) ∂²V/∂σ².
- Returns:
Vomma with broadcasted shape.
- Return type: