Go to Deriscope's documentation start page

Model[Vanilla_Option]__Pricing_Method__BlenmanClark

Minimum required license: Student
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(d1) - λexp(-αδt)YN(d2)
The put RSO price is given by
P(S,t,r,σ,δ;α,λ,β,K) = - βexp(-δt)S[1-N(d1)] + λexp(-αδt)Y[1-N(d2)]
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.
d1 = [(1-α)ln(S/K) - lnλ + lnβ + (1-α)(r-δ+σ²/2)t] / [(1-α)σt^½]
d2 = [(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(d2) always > 0
put delta = dP/dS = P/S - (1-α)λexp(-αδt)(Y/S)[1-N(d2)] always < 0

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

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

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

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

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

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

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

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

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