Price options according to the famous Black-Scholes formula, with the optional addition of a jump-to-default intensity and discrete dividends.
blackscholes(
callput,
S0,
K,
r,
time,
vola,
default_intensity = 0,
divrate = 0,
borrow_cost = 0,
dividends = NULL
)
1 for calls, -1 for puts
initial underlying price
strike
risk-free interest rate
Time from 0
until expiration
Default-free volatility of the underlying
hazard rate of underlying default
A continuous rate for dividends and other cashflows such as foreign interest rates
A continuous rate for stock borrow costs
A data.frame
with columns time
, fixed
,
and proportional
. Dividend size at the given time
is
then expected to be equal to fixed + proportional * S / S0
. Fixed
dividends will be converted to proportional for purposes of this algorithm.
A list with elements
Price
The present value(s)
Delta
Sensitivity to underlying price
Vega
Sensitivity to volatility
Note that if the default_intensity
is set larger than zero then
put-call parity still holds. Greeks are reduced according to cumulated default
probability.
All inputs must either be scalars or have the same nonscalar shape.
Other European Options:
black_scholes_on_term_structures()
,
implied_volatilities_with_rates_struct()
,
implied_volatilities()
,
implied_volatility_with_term_struct()
,
implied_volatility()
Other Equity Independent Default Intensity:
american_implied_volatility()
,
american()
,
black_scholes_on_term_structures()
,
equivalent_bs_vola_to_jump()
,
equivalent_jump_vola_to_bs()
,
implied_volatilities_with_rates_struct()
,
implied_volatilities()
,
implied_volatility_with_term_struct()
,
implied_volatility()
# NOT RUN {
blackscholes(callput=-1, S0=100, K=90, r=0.03, time=1, # -1 is a PUT
vola=0.5, default_intensity=0.07)
# }
Run the code above in your browser using DataLab