Use a finite difference scheme to form estimates of present values for a variety
 of stock prices.  Once the grid has been created, interpolate to obtain the
 value of each instrument at the present stock price S0
find_present_value(
  S0,
  num_time_steps,
  instruments,
  const_volatility = 0.5,
  const_short_rate = 0,
  const_default_intensity = 0,
  override_Tmax = NA,
  discount_factor_fcn = function(T, t, ...) {
     exp(-const_short_rate * (T - t))
 },
  default_intensity_fcn = function(t, S, ...) {
     const_default_intensity + 0 * S
 },
  variance_cumulation_fcn = function(T, t) {
     const_volatility^2 * (T - t)
 },
  dividends = NULL,
  borrow_cost = 0,
  dividend_rate = 0,
  structure_constant = 2,
  std_devs_width = 3
)A list of present values, with the same names as instruments
An initial stock price, for setting grid scale
Minimum number of time steps in the grid
A list of instruments to be priced.  Each
one must have a strike and a optionality_fcn, as
with GridPricedInstrument and its subclasses.
A constant to use for volatility in case variance_cumulation_fcn
is not given
A constant to use for the instantaneous interest rate in case discount_factor_fcn
is not given
A constant to use for the instantaneous default intensity in case default_intensity_fcn
is not given
A different maximum time on the grid to enforce
A function for computing present values to
time t of various cashflows occurring during this timestep, with
arguments T, t
A function for computing default intensity
occurring during this timestep, dependent on time and stock price, with
arguments t, S.
A function for computing total stock variance
occurring during this timestep, with arguments T, t.  E.g. with
a constant volatility \(s\) this takes the form \((T-t)s^2\).
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
Stock borrow cost, affecting the drift rate
Continuous dividend rate, affecting the drift rate
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
Other Equity Dependent Default Intensity: 
fit_to_option_market_df(),
fit_variance_cumulation(),
form_present_value_grid(),
implied_jump_process_volatility()
Other Implicit Grid Solver: 
construct_implicit_grid_structure(),
form_present_value_grid(),
infer_conforming_time_grid(),
integrate_pde(),
iterate_grid_from_timestep(),
take_implicit_timestep(),
timestep_instruments()