final Date d = cashflow.date();
if (d.gt(settlementDate)) {
delta_theta -= cashflow.amount()
* process.riskFreeRate().currentLink().zeroRate(d, rfdc, Compounding.Continuous, Frequency.Annual).rate()
* process.riskFreeRate().currentLink().discount(d);
delta_rho += cashflow.amount() * process.time(d) * process.riskFreeRate().currentLink().discount(t);
}
}
t = process.time(a.exercise.lastDate());
try {
greeks.theta = black.theta(spot, t) + delta_theta * black.delta(spot);