Option Prices#
Introduction#
European option values from Black-Scholes model, allowing dividends.
of which,
where,
\(C\) = Call option price
\(P\) = Put option price
\(S\) = Current stock price
\(K\) = Strike price
\(T\) = Time to expiration (in years)
\(r\) = Risk-free interest rate (annualized)
\(q\) = Dividend yield (annualized)
\(N(\cdot)\) = Cumulative distribution function of the standard normal distribution
\(\sigma\) = Volatility of the underlying asset (annualized)
References#
Black and Scholes (1972), The Valuation of Option Contracts and a Test of Market Efficiency, The Journal of Finance, 27(2), 399–417.
API#
- frds.measures.blsprice(S: float, K: float, r: float, T: float, sigma: float, q=0.0) Tuple[float, float] [source]#
European option values from Black-Scholes model. See Option Prices.
- Parameters:
S (float) – Current price of the underlying asset.
K (float) – Strike (exercise) price of the option.
r (float) – Annualized continuously compounded risk-free rate of return over the life of the option, expressed as a positive decimal number
T (float) – Time to expiration of the option, expressed in years.
sigma (float) – Annualized asset price volatility (i.e., annualized standard deviation of the continuously compounded asset return), expressed as a positive decimal number.
q (float, optional) – Annualized continuously compounded yield of the underlying asset over the life of the option, expressed as a decimal number. Defaults to 0.0.
- Returns:
Prices of European call and put options
- Return type:
Tuple[float, float]
Examples#
>>> from frds.measures import blsprice
>>> blsprice(0.67, 0.7, 0.01, 5.0, 0.33, 0.002)
(0.19003370474049647, 0.1925609132790535)