Equity Variance Swap
financepy.products.equity.equity_variance_swap
Classes
EquityVarianceSwap
EquityVarianceSwap(start_dt: financepy.utils.date.Date, maturity_dt_or_tenor: financepy.utils.date.Date | str, strike_variance: float, notional: float = 1000000, pay_strike_flag: bool = True)
Class for managing an equity variance swap contract.
Methods
value
value(self, value_dt, realised_var, fair_strike_var, libor_curve)
Calculate the value of the variance swap based on the realised
volatility to the valuation date, the forward looking implied
volatility to the maturity date using the libor discount curve.
fair_strike_approx
fair_strike_approx(self, value_dt, fwd_stock_price, strikes, volatilities)
This is an approximation of the fair strike variance by Demeterfi
et al. (1999) which assumes that sigma(K) = sigma(F) - b(K-F)/F where
F is the forward stock price and sigma(F) is the ATM forward vol.
fair_strike
fair_strike(self, value_dt, stock_price, dividend_curve, volatility_curve, num_call_options, num_put_options, strike_spacing, discount_curve, use_forward=True)
Calculate the implied variance according to the volatility surface
using a static replication methodology with a specially weighted
portfolio of put and call options across a range of strikes using the
approximate method set out by Demeterfi et al. 1999.
realised_variance
realised_variance(self, close_prices, use_logs=True)
Calculate the realised variance according to market standard
calculations which can either use log or percentage returns.
print_weights
print_weights(self)
Print the list of puts and calls used to replicate the static
replication component of the variance swap hedge.
Generated automatically from the FinancePy source code.
Do not edit this file manually.