Infer a reasonable structure for our implicit grid solver based on the voltime, structure constant, and requested grid width in standard deviations.
construct_implicit_grid_structure(
tenors,
M,
S0,
K,
c,
sigma,
structure_constant,
std_devs_width,
min_z_width = 0
)
Tenors of instruments to be treated on this grid
Minimum number of timesteps on this grid
An initial stock price, for setting grid scale
An instrument reference stock price, for setting grid scale
A continuous stock drift rate
Volatility of diffusion process (without jumps to default)
The maximum ratio between time intervals dt
and the square of space intervals dz^2
The number of standard deviations, in sigma * sqrt(T)
units, to incorporate into the grid
Minimum grid width, in log space
A list with elements
T
The maximum time for this grid
dt
Largest permissible timestep size
dz
Distance between space grid points
z0
Center of space grid
z_width
Width in \(z\) space
half_N
A misnomer, actually \((N-1)/2\)
N
The number of space points
z
Locations of space points
Generally speaking pricing will be good to about 10bp of relative accuracy when the ratio of timesteps to voltime (in annualized units) is over 200.
Cases with pathologically low volatility may go awry (in the sense of yielding ultimately inaccurate PDE solutions), as the structure_constant will force a step in z space much bigger than the width in standard deviations.
Other Implicit Grid Solver:
find_present_value()
,
form_present_value_grid()
,
infer_conforming_time_grid()
,
integrate_pde()
,
iterate_grid_from_timestep()
,
take_implicit_timestep()
,
timestep_instruments()