Use a controlvariate scheme to simultaneously estimate the present values of a collection of one or more Americanexercise options under a default model with survival probabilities not linked to equity prices.
1 2 3 4 5 6 7  american(callput, S0, K, time, const_short_rate = 0,
const_default_intensity = 0, discount_factor_fcn = function(T, t, ...) {
exp(const_short_rate * (T  t)) }, survival_probability_fcn = function(T,
t, ...) { exp(const_default_intensity * (T  t)) },
default_intensity_fcn = function(t, S, ...) { const_default_intensity +
0 * S }, ..., num_time_steps = 100, structure_constant = 2,
std_devs_width = 5)

callput 
1 for calls, 1 for puts (may be a vector of the same) 
S0 
initial underlying price 
K 
strike (may be a vector) 
time 
Time from 
const_short_rate 
A constant to use for the instantaneous interest rate in case 
const_default_intensity 
A constant to use for the instantaneous default intensity in case 
discount_factor_fcn 
A function for computing present values to
time 
survival_probability_fcn 
(Implied argument) A function for probability of survival, with
arguments 
default_intensity_fcn 
A function for computing default intensity
occurring at a given time, dependent on time and stock price, with
arguments 
... 
Further arguments passed on to 
num_time_steps 
Number of steps to use in the grid solver. Can usually be set quite low due to the control variate scheme. 
structure_constant 
The maximum ratio between time intervals 
std_devs_width 
The number of standard deviations, in 
The scheme uses find_present_value() to price the options and their Europeanexercise equivalents. It then compares the latter to blackscholes formula output and uses the results as an error correction on the prices of the Americanexercise options.
A vector of estimated option present values
Other American Exercise Equity Options: american_implied_volatility
,
control_variate_pairs
Other Equity Independent Default Intensity: american_implied_volatility
,
black_scholes_on_term_structures
,
blackscholes
,
equivalent_bs_vola_to_jump
,
equivalent_jump_vola_to_bs
,
implied_volatilities_with_rates_struct
,
implied_volatilities
,
implied_volatility_with_term_struct
,
implied_volatility
1 2 3 4 5 6 
Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.
All documentation is copyright its authors; we didn't write any of that.