コード例 #1
0
ファイル: XLFXGenerated.cs プロジェクト: sandboxorg/QuantSA
 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));
     }
 }
コード例 #2
0
 public static object _CreatePCACurveSimulator(string objectName,
                                               object[,] anchorDate,
                                               object[,] initialRates,
                                               object[,] tenors,
                                               object[,] components,
                                               object[,] vols,
                                               object[,] multiplier,
                                               object[,] useRelative,
                                               object[,] floorAtZero)
 {
     try
     {
         var _anchorDate   = XU.GetDate0D(anchorDate, "anchorDate");
         var _initialRates = XU.GetDouble1D(initialRates, "initialRates");
         var _tenors       = XU.GetSpecialType1D <Tenor>(tenors, "tenors");
         var _components   = XU.GetDouble2D(components, "components");
         var _vols         = XU.GetDouble1D(vols, "vols");
         var _multiplier   = XU.GetDouble0D(multiplier, "multiplier");
         var _useRelative  = XU.GetBoolean0D(useRelative, "useRelative");
         var _floorAtZero  = XU.GetBoolean0D(floorAtZero, "floorAtZero");
         var _result       = XLCurves.CreatePCACurveSimulator(_anchorDate, _initialRates, _tenors, _components, _vols,
                                                              _multiplier, _useRelative, _floorAtZero);
         return(XU.AddObject(objectName, _result));
     }
     catch (Exception e)
     {
         return(XU.Error0D(e));
     }
 }
コード例 #3
0
 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));
     }
 }
コード例 #4
0
 public static object[,] _PCACurveSimulatorGetRates(object[,] simulator,
                                                    object[,] simulationDates,
                                                    object[,] requiredTenors)
 {
     try
     {
         var _simulator       = XU.GetObject0D <PCACurveSimulator>(simulator, "simulator");
         var _simulationDates = XU.GetDate1D(simulationDates, "simulationDates");
         var _requiredTenors  = XU.GetSpecialType1D <Tenor>(requiredTenors, "requiredTenors");
         var _result          = XLCurves.PCACurveSimulatorGetRates(_simulator, _simulationDates, _requiredTenors);
         return(XU.ConvertToObjects(_result));
     }
     catch (Exception e)
     {
         return(XU.Error2D(e));
     }
 }
コード例 #5
0
 public static object _CreateCashLeg(string objectName,
                                     object[,] paymentDates,
                                     object[,] amounts,
                                     object[,] currencies)
 {
     try
     {
         var _paymentDates = XU.GetDate1D(paymentDates, "paymentDates");
         var _amounts      = XU.GetDouble1D(amounts, "amounts");
         var _currencies   = XU.GetSpecialType1D <Currency>(currencies, "currencies");
         var _result       = XLRates.CreateCashLeg(_paymentDates, _amounts, _currencies);
         return(XU.AddObject(objectName, _result));
     }
     catch (Exception e)
     {
         return(XU.Error0D(e));
     }
 }