value_left = self.present_value(fixed_seed=True)
numerical volatility value for right value
vola_del = self.underlying.volatility + interval
update the simulation object
self.underlying.update(volatility=vola_del)
calculate the right value for numerical Vega
value_right = self.present_value(fixed_seed=True)
reset volatility value of simulation object
self.underlying.update(volatility=vola_del - interval)
vega = (value_right - value_left) / interval
return round(vega, accuracy)
One topic covered by the generic valuation_class class is the estimation of Greeks. This
is something we should take a closer look at. To this end, consider that we have a
continuously differentiable function available that represents the present value
of an option. The Delta of the option is then defined as the first partial derivative with
respect to the current value of the underlying S 0 ; i.e., .
Suppose now that we have from Monte Carlo valuation (see Chapter 10 and subsequent
sections in this chapter) a numerical Monte Carlo estimator for the option value.
A numerical approximation for the Delta of the option is then given in Equation 17-1.
[ 73 ]
This is what the delta method of the generic valuation class implements. The method
assumes the existence of a present_value method that returns the Monte Carlo estimator
given a certain set of parameter values.
Equation 17-1. Numerical Delta of an option
Similarly, the Vega of the instrument is defined as the first partial derivative of the present
value with respect to the current (instantaneous) volatility 0 , i.e., . Again
assuming the existence of a Monte Carlo estimator for the value of the option,
Equation 17-2 provides a numerical approximation for the Vega. This is what the vega
method of the valuation_class class implements.
Equation 17-2. Numerical Vega of an option
Note that the discussion of Delta and Vega is based only on the existence of either a
differentiable function or a Monte Carlo estimator for the present value of an option. This
is the very reason why we can define methods to numerically estimate these quantities
without knowledge of the exact definition and numerical implementation of the Monte
Carlo estimator.