public static object _CreateFloatLeg(string objectName, object[,] currency, object[,] floatingIndex, object[,] resetDates, object[,] paymentDates, object[,] notionals, object[,] spreads, object[,] accrualFractions) { try { Currency _currency = XU.GetCurrency0D(currency, "currency"); FloatingIndex _floatingIndex = XU.GetFloatingIndex0D(floatingIndex, "floatingIndex"); Date[] _resetDates = XU.GetDate1D(resetDates, "resetDates"); Date[] _paymentDates = XU.GetDate1D(paymentDates, "paymentDates"); Double[] _notionals = XU.GetDouble1D(notionals, "notionals"); Double[] _spreads = XU.GetDouble1D(spreads, "spreads"); Double[] _accrualFractions = XU.GetDouble1D(accrualFractions, "accrualFractions"); FloatLeg _result = XLRates.CreateFloatLeg(_currency, _floatingIndex, _resetDates, _paymentDates, _notionals, _spreads, _accrualFractions); return(XU.AddObject(objectName, _result)); } catch (Exception e) { return(XU.Error0D(e)); } }
public static object _CreateModelDeterministicCreditWithFXJump(string objectName, object[,] survivalProbSource, object[,] otherCurrency, object[,] fxSource, object[,] valueCurrencyDiscount, object[,] fxVol, object[,] relJumpSizeInDefault, object[,] expectedRecoveryRate) { try { ISurvivalProbabilitySource _survivalProbSource = XU.GetObject0D <ISurvivalProbabilitySource>(survivalProbSource, "survivalProbSource"); Currency _otherCurrency = XU.GetCurrency0D(otherCurrency, "otherCurrency"); IFXSource _fxSource = XU.GetObject0D <IFXSource>(fxSource, "fxSource"); IDiscountingSource _valueCurrencyDiscount = XU.GetObject0D <IDiscountingSource>(valueCurrencyDiscount, "valueCurrencyDiscount"); Double _fxVol = XU.GetDouble0D(fxVol, "fxVol"); Double _relJumpSizeInDefault = XU.GetDouble0D(relJumpSizeInDefault, "relJumpSizeInDefault"); Double _expectedRecoveryRate = XU.GetDouble0D(expectedRecoveryRate, "expectedRecoveryRate"); DeterministicCreditWithFXJump _result = XLCredit.CreateModelDeterministicCreditWithFXJump(_survivalProbSource, _otherCurrency, _fxSource, _valueCurrencyDiscount, _fxVol, _relJumpSizeInDefault, _expectedRecoveryRate); return(XU.AddObject(objectName, _result)); } catch (Exception e) { return(XU.Error0D(e)); } }
public static object _CreateCDS(string objectName, object[,] refEntity, object[,] ccy, object[,] paymentDates, object[,] notionals, object[,] rates, object[,] accrualFractions, object[,] boughtProtection) { try { ReferenceEntity _refEntity = XU.GetReferenceEntity0D(refEntity, "refEntity"); Currency _ccy = XU.GetCurrency0D(ccy, "ccy"); Date[] _paymentDates = XU.GetDate1D(paymentDates, "paymentDates"); Double[] _notionals = XU.GetDouble1D(notionals, "notionals"); Double[] _rates = XU.GetDouble1D(rates, "rates"); Double[] _accrualFractions = XU.GetDouble1D(accrualFractions, "accrualFractions"); Boolean _boughtProtection = XU.GetBoolean0D(boughtProtection, "boughtProtection"); CDS _result = XLCredit.CreateCDS(_refEntity, _ccy, _paymentDates, _notionals, _rates, _accrualFractions, _boughtProtection); return(XU.AddObject(objectName, _result)); } catch (Exception e) { return(XU.Error0D(e)); } }
public static object _CreateMultiHWAndFXToy(string objectName, object[,] anchorDate, object[,] numeraireCcy, object[,] rateSimulators, object[,] currencies, object[,] spots, object[,] vols, object[,] correlations) { try { Date _anchorDate = XU.GetDate0D(anchorDate, "anchorDate"); Currency _numeraireCcy = XU.GetCurrency0D(numeraireCcy, "numeraireCcy"); HullWhite1F[] _rateSimulators = XU.GetObject1D <HullWhite1F>(rateSimulators, "rateSimulators"); Currency[] _currencies = XU.GetCurrency1D(currencies, "currencies"); Double[] _spots = XU.GetDouble1D(spots, "spots"); Double[] _vols = XU.GetDouble1D(vols, "vols"); Double[,] _correlations = XU.GetDouble2D(correlations, "correlations"); NumeraireSimulator _result = XLFX.CreateMultiHWAndFXToy(_anchorDate, _numeraireCcy, _rateSimulators, _currencies, _spots, _vols, _correlations); return(XU.AddObject(objectName, _result)); } catch (Exception e) { return(XU.Error0D(e)); } }
public static object _CreateDatesAndRatesCurve(string objectName, object[,] dates, object[,] rates, object[,] currency) { try { Date[] _dates = XU.GetDate1D(dates, "dates"); Double[] _rates = XU.GetDouble1D(rates, "rates"); Currency _currency = XU.GetCurrency0D(currency, "currency", Currency.ANY); IDiscountingSource _result = XLCurves.CreateDatesAndRatesCurve(_dates, _rates, _currency); return(XU.AddObject(objectName, _result)); } catch (Exception e) { return(XU.Error0D(e)); } }
public static object _CreateLoanFixedRate(string objectName, object[,] currency, object[,] balanceDates, object[,] balanceAmounts, object[,] fixedRate) { try { Currency _currency = XU.GetCurrency0D(currency, "currency"); Date[] _balanceDates = XU.GetDate1D(balanceDates, "balanceDates"); Double[] _balanceAmounts = XU.GetDouble1D(balanceAmounts, "balanceAmounts"); Double _fixedRate = XU.GetDouble0D(fixedRate, "fixedRate"); LoanFixedRate _result = XLRates.CreateLoanFixedRate(_currency, _balanceDates, _balanceAmounts, _fixedRate); return(XU.AddObject(objectName, _result)); } catch (Exception e) { return(XU.Error0D(e)); } }
public static object _CreateLoanFloatingRate(string objectName, object[,] currency, object[,] balanceDates, object[,] balanceAmounts, object[,] floatingIndex, object[,] floatingSpread) { try { Currency _currency = XU.GetCurrency0D(currency, "currency"); Date[] _balanceDates = XU.GetDate1D(balanceDates, "balanceDates"); Double[] _balanceAmounts = XU.GetDouble1D(balanceAmounts, "balanceAmounts"); FloatingIndex _floatingIndex = XU.GetFloatingIndex0D(floatingIndex, "floatingIndex"); Double _floatingSpread = XU.GetDouble0D(floatingSpread, "floatingSpread"); LoanFloatingRate _result = XLRates.CreateLoanFloatingRate(_currency, _balanceDates, _balanceAmounts, _floatingIndex, _floatingSpread); return(XU.AddObject(objectName, _result)); } catch (Exception e) { return(XU.Error0D(e)); } }
public static object _CreateFixedLeg(string objectName, object[,] currency, object[,] paymentDates, object[,] notionals, object[,] rates, object[,] accrualFractions) { try { Currency _currency = XU.GetCurrency0D(currency, "currency"); Date[] _paymentDates = XU.GetDate1D(paymentDates, "paymentDates"); Double[] _notionals = XU.GetDouble1D(notionals, "notionals"); Double[] _rates = XU.GetDouble1D(rates, "rates"); Double[] _accrualFractions = XU.GetDouble1D(accrualFractions, "accrualFractions"); FixedLeg _result = XLRates.CreateFixedLeg(_currency, _paymentDates, _notionals, _rates, _accrualFractions); return(XU.AddObject(objectName, _result)); } catch (Exception e) { return(XU.Error0D(e)); } }
public static object _CreateFXForecastCurve(string objectName, object[,] baseCurrency, object[,] counterCurrency, object[,] fxRateAtAnchorDate, object[,] baseCurrencyFXBasisCurve, object[,] counterCurrencyFXBasisCurve) { try { Currency _baseCurrency = XU.GetCurrency0D(baseCurrency, "baseCurrency"); Currency _counterCurrency = XU.GetCurrency0D(counterCurrency, "counterCurrency"); Double _fxRateAtAnchorDate = XU.GetDouble0D(fxRateAtAnchorDate, "fxRateAtAnchorDate"); IDiscountingSource _baseCurrencyFXBasisCurve = XU.GetObject0D <IDiscountingSource>(baseCurrencyFXBasisCurve, "baseCurrencyFXBasisCurve"); IDiscountingSource _counterCurrencyFXBasisCurve = XU.GetObject0D <IDiscountingSource>(counterCurrencyFXBasisCurve, "counterCurrencyFXBasisCurve"); Object _result = XLFX.CreateFXForecastCurve(_baseCurrency, _counterCurrency, _fxRateAtAnchorDate, _baseCurrencyFXBasisCurve, _counterCurrencyFXBasisCurve); return(XU.AddObject(objectName, _result)); } catch (Exception e) { return(XU.Error0D(e)); } }