for (final Type type : types) {
for (final double strike : strikes) {
for (final int length : lengths) {
final Date exerciseDate = new Date(today.dayOfMonth(), today.month(), today.year() + length);
final EuropeanExercise maturity = new EuropeanExercise(exerciseDate);
final PlainVanillaPayoff payoff = new PlainVanillaPayoff(type, strike);
final double runningAverage = 120;
final int pastFixings = 1;
final List<Date> fixingDates = new ArrayList<Date>();
final Date d = today.clone();
final Period THREEMONTH = new Period(3, TimeUnit.Months);
d.addAssign(new Period(3, TimeUnit.Months));
for (d.addAssign(THREEMONTH); d.le(maturity.lastDate()); d.addAssign(THREEMONTH)) {
fixingDates.add(d.clone());
}
final PricingEngine engine = new AnalyticDiscreteGeometricAveragePriceAsianEngine(process);