Go to Deriscope's documentation start page

Model[Vanilla_Option]__Pricing_Method__BlenmanClark

Arbitrage-free analytical formula for pricing primarily European options with payoff
Payoff::Payoff Type::RSO
The call RSO price is given by
C(S,t,r,σ,δ;α,λ,β,K) = βexp(-δt)SN(d₁) - λexp(-αδt)YN(d₂)
The put RSO price is given by
P(S,t,r,σ,δ;α,λ,β,K) = - βexp(-δt)S[1-N(d₁)] + λexp(-αδt)Y[1-N(d₂)]
where
S is the initial underlying price
t is the time to option expiry in annual units
r is the effective flat continuously compounded interest rate.
σ is the flat lognormal volatility of the price of the option's underlying.
δ is the flat continuously compounded dividend yield of the option's underlying.
d₁ = [(1-α)ln(S/K) - lnλ + lnβ + (1-α)(r-δ+σ²/2)t] / [(1-α)σt^½]
d₂ = [(1-α)ln(S/K) - lnλ + lnβ + (1-α)(r-δ+σ²(α-½))t] / [(1-α)σt^½]
Y = [K^(1-α)](S^α)exp[(α-1)(r+ασ²/2)t]
and N(.) denotes the cumulative standard normal distribution function.

The greeks can be calculated by the following formulas, where n(.) denotes the standard normal density function:

call delta = dC/dS = C/S + (1-α)λexp(-αδt)(Y/S)N(d₂) always > 0
put delta = dP/dS = P/S - (1-α)λexp(-αδt)(Y/S)[1-N(d₂)] always < 0

call gamma = d²C/dS² = βn(d₁)exp(-δt)/(Sσt^½) - λα(α-1)exp(-αδt)(Y/S²)N(d₂) - αβn(d₁)exp(-δt)/(Sσt^½) always > 0
put gamma = d²P/dS² = βn(d₁)exp(-δt)/(Sσt^½) + λα(α-1)exp(-αδt)(Y/S²)[1-N(d₂)] - αβn(d₁)exp(-δt)/(Sσt^½) may be positive or negative

call vega = dC/dσ = (1-α)t^½βSexp(-δt)n(d₁) - λα(α-1)σtexp(αδt)YN(d₂) always > 0
put vega = dP/dσ = (1-α)t^½βSexp(-δt)n(d₁) + λα(α-1)σtexp(αδt)Y[1-N(d₂)] may be positive or negative

call theta = dC/dt = -δβSexp(-δt)N(d₁) + αλδYexp(-αδt)N(d₂) + λ(1-α)(r+½ασ²)Yexp(-αδt)N(d₂) + βS(1-α)σn(d₁)exp(-δt)/(2t^½)
put theta = dP/dt = δβSexp(-δt)[1-N(d₁)] - αλδYexp(-αδt)[1-N(d₂)] - λ(1-α)(r+½ασ²)Yexp(-αδt)[1-N(d₂)] + βS(1-α)σn(d₁)exp(-δt)/(2t^½)

call rho = dC/dr = λ(1-α)texp(-αδt)YN(d₂) always > 0
put rho = dP/dr = -λ(1-α)texp(-αδt)Y[1-N(d₂)] always < 0

call warp = dC/dα = δλtexp(-αδt)YN(d₂) - λSexp(-αδt)σt^½Yn(d₂) - YN(d₂)λexp(-αδt)[ln(S/K)+(r+ασ²-½σ²)t] always < 0
put warp = dP/dα = -δλtexp(-αδt)Y[1-N(d₂)] - βSexp(-δt)σt^½n(d₁) - [1-N(d₂)]λexp(-αδt)[Yln(S/K)+(r+ασ²-½σ²)t] always < 0

call lambda gearing = dC/dλ = -exp(-αδt)YN(d₂) always < 0
put lambda gearing = dP/dλ = exp(-αδt)Y[1-N(d₂)] always > 0

call beta gearing = dC/dβ = Sexp(-δt)N(d₁) always > 0
put beta gearing = dP/dβ = -Sexp(-δt)[1-N(d₁)] always < 0

call K gearing = dC/dK = -λ(1-α)exp(-αδt)(Y/K)N(d₂) always < 0
put K gearing = dP/dK = λ(1-α)exp(-αδt)(Y/K)[1-N(d₂)] always > 0

The following features are currently not supported:
American exercise, barriers, discrete dividends/storage costs.