public static object _CreatePCACurveSimulator(string objectName, object[,] anchorDate, object[,] initialRates, object[,] tenors, object[,] components, object[,] vols, object[,] multiplier, object[,] useRelative, object[,] floorAtZero) { try { Date _anchorDate = XU.GetDate0D(anchorDate, "anchorDate"); Double[] _initialRates = XU.GetDouble1D(initialRates, "initialRates"); Tenor[] _tenors = XU.GetTenor1D(tenors, "tenors"); Double[,] _components = XU.GetDouble2D(components, "components"); Double[] _vols = XU.GetDouble1D(vols, "vols"); Double _multiplier = XU.GetDouble0D(multiplier, "multiplier"); Boolean _useRelative = XU.GetBoolean0D(useRelative, "useRelative"); Boolean _floorAtZero = XU.GetBoolean0D(floorAtZero, "floorAtZero"); Object _result = XLCurves.CreatePCACurveSimulator(_anchorDate, _initialRates, _tenors, _components, _vols, _multiplier, _useRelative, _floorAtZero); 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 { 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[,] _CovarianceFromCurves(object[,] curves) { try { Double[,] _curves = XU.GetDouble2D(curves, "curves"); Double[,] _result = XLCurves.CovarianceFromCurves(_curves); return(XU.ConvertToObjects(_result)); } catch (Exception e) { return(XU.Error2D(e)); } }
public static object[,] _PCAFromCurves(object[,] curves, object[,] useRelative) { try { Double[,] _curves = XU.GetDouble2D(curves, "curves"); Boolean _useRelative = XU.GetBoolean0D(useRelative, "useRelative"); Double[,] _result = XLCurves.PCAFromCurves(_curves, _useRelative); return(XU.ConvertToObjects(_result)); } catch (Exception e) { return(XU.Error2D(e)); } }