public static object _CreateMultiHWAndFXToy(string objectName, object[,] anchorDate, object[,] numeraireCcy, object[,] rateSimulators, object[,] currencies, object[,] spots, object[,] vols, object[,] correlations) { try { var _anchorDate = XU.GetDate0D(anchorDate, "anchorDate"); var _numeraireCcy = XU.GetSpecialType0D <Currency>(numeraireCcy, "numeraireCcy"); var _rateSimulators = XU.GetObject1D <HullWhite1F>(rateSimulators, "rateSimulators"); var _currencies = XU.GetSpecialType1D <Currency>(currencies, "currencies"); var _spots = XU.GetDouble1D(spots, "spots"); var _vols = XU.GetDouble1D(vols, "vols"); var _correlations = XU.GetDouble2D(correlations, "correlations"); var _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 _CreateEquityModel(string objectName, object[,] discountCurve, object[,] shares, object[,] spotPrices, object[,] volatilities, object[,] divYields, object[,] correlations, object[,] rateForecastCurves) { try { var _discountCurve = XU.GetObject0D <IDiscountingSource>(discountCurve, "discountCurve"); var _shares = XU.GetSpecialType1D <Share>(shares, "shares"); var _spotPrices = XU.GetDouble1D(spotPrices, "spotPrices"); var _volatilities = XU.GetDouble1D(volatilities, "volatilities"); var _divYields = XU.GetDouble1D(divYields, "divYields"); var _correlations = XU.GetDouble2D(correlations, "correlations"); var _rateForecastCurves = XU.GetObject1D <IFloatingRateSource>(rateForecastCurves, "rateForecastCurves"); var _result = XLEquities.CreateEquityModel(_discountCurve, _shares, _spotPrices, _volatilities, _divYields, _correlations, _rateForecastCurves); return(XU.AddObject(objectName, _result)); } catch (Exception e) { return(XU.Error0D(e)); } }
public static object _CreateCurveModel(string objectName, object[,] discountCurve, object[,] rateForecastCurves, object[,] fxForecastCurves) { try { IDiscountingSource _discountCurve = XU.GetObject0D <IDiscountingSource>(discountCurve, "discountCurve"); IFloatingRateSource[] _rateForecastCurves = XU.GetObject1D <IFloatingRateSource>(rateForecastCurves, "rateForecastCurves"); IFXSource[] _fxForecastCurves = XU.GetObject1D <IFXSource>(fxForecastCurves, "fxForecastCurves"); NumeraireSimulator _result = XLValuation.CreateCurveModel(_discountCurve, _rateForecastCurves, _fxForecastCurves); return(XU.AddObject(objectName, _result)); } catch (Exception e) { return(XU.Error0D(e)); } }
public static object _Value(string objectName, object[,] products, object[,] valueDate, object[,] model, object[,] nSims) { try { Product[] _products = XU.GetObject1D <Product>(products, "products"); Date _valueDate = XU.GetDate0D(valueDate, "valueDate"); NumeraireSimulator _model = XU.GetObject0D <NumeraireSimulator>(model, "model"); Int32 _nSims = XU.GetInt320D(nSims, "nSims", 1); ResultStore _result = XLValuation.Value(_products, _valueDate, _model, _nSims); return(XU.AddObject(objectName, _result)); } catch (Exception e) { return(XU.Error0D(e)); } }
public static object[,] _EPE(object[,] products, object[,] valueDate, object[,] forwardValueDates, object[,] model, object[,] nSims) { try { Product[] _products = XU.GetObject1D <Product>(products, "products"); Date _valueDate = XU.GetDate0D(valueDate, "valueDate"); Date[] _forwardValueDates = XU.GetDate1D(forwardValueDates, "forwardValueDates"); NumeraireSimulator _model = XU.GetObject0D <NumeraireSimulator>(model, "model"); Int32 _nSims = XU.GetInt320D(nSims, "nSims"); Double[] _result = XLValuation.EPE(_products, _valueDate, _forwardValueDates, _model, _nSims); return(XU.ConvertToObjects(_result)); } catch (Exception e) { return(XU.Error2D(e)); } }
public static object[,] _PFE(object[,] products, object[,] valueDate, object[,] forwardValueDates, object[,] requiredPecentiles, object[,] model, object[,] nSims) { try { var _products = XU.GetObject1D <Product>(products, "products"); var _valueDate = XU.GetDate0D(valueDate, "valueDate"); var _forwardValueDates = XU.GetDate1D(forwardValueDates, "forwardValueDates"); var _requiredPecentiles = XU.GetDouble1D(requiredPecentiles, "requiredPecentiles"); var _model = XU.GetObject0D <NumeraireSimulator>(model, "model"); var _nSims = XU.GetInt320D(nSims, "nSims"); var _result = XLValuation.PFE(_products, _valueDate, _forwardValueDates, _requiredPecentiles, _model, _nSims); return(XU.ConvertToObjects(_result)); } catch (Exception e) { return(XU.Error2D(e)); } }