/* @Diffusion */final double sigma = diffusion(t, x);
// we could be more anticipatory if we know the right dt
// for which the drift will be used
/* @Time */final double t1 = t + 0.0001;
final YieldTermStructure yts = riskFreeRate.currentLink();
/* @Rate */final double r = yts.forwardRate(t, t1, Compounding.Continuous, Frequency.NoFrequency, true).rate();
final YieldTermStructure divTs = dividendYield.currentLink();
final double d = divTs.forwardRate(t, t1, Compounding.Continuous, Frequency.NoFrequency, true).rate();
return r - d - 0.5 * sigma * sigma;
}