/// <summary> /// Construct the array of known prices. /// </summary> public override double[] GetKnownPrices(DateList resetDates, PriceFactorList factors, IAssetPrice assetPrice) { bool isCompo = !string.IsNullOrEmpty(fPayoffCurrency) && fPayoffCurrency != Currency && Payoff_Type == PayoffType.Compo; string assetCurrency = isCompo ? fPayoffCurrency : Currency; double[] knownPrices; double[] knownFxRates; AssetPriceFxRateList.GetRates(resetDates, factors.BaseDate, Known_Prices, out knownPrices, out knownFxRates); if (isCompo) { for (int i = 0; i < knownPrices.Length; ++i) { knownPrices[i] *= knownFxRates[i]; } } FillMissingKnownPricesFromRateFixings(knownPrices, resetDates, factors, assetPrice, assetCurrency); return(knownPrices); }
protected CliquetOption() { Known_Prices = new AssetPriceFxRateList(); }