private static double StepVol(double start, double end, OrnsteinUhlenbeck ouProcess) { var step = end - start; Debug.Assert(step >= 0.0); var stepIntegralVar = OrnsteinUhlenbeckUtils.IntegratedVariance(ouProcess.Volatility, ouProcess.MeanReversion, start) .Eval(end); return(step > 0.0 ? Math.Sqrt(stepIntegralVar / step) : 0.0); }
private static double StepDrift(double start, double end, OrnsteinUhlenbeck ouProcess) { return(OrnsteinUhlenbeckUtils.IntegratedDrift(ouProcess.Drift, ouProcess.MeanReversion, start).Eval(end)); }