Ejemplo n.º 1
0
        private static Result GetFxForwardPCE(DateTime[] settleDates,
                                              decimal[] recAmounts,
                                              string[] recCurrencies,
                                              decimal[] payAmounts,
                                              string[] payCurrencies,
                                              DateTime evaluationDate,
                                              string pceCalculationCurrency)
        {
            var trades = ToMultipleFxForwardTrades(settleDates, recAmounts, recCurrencies, payAmounts,
                                                   payCurrencies);


            IParameters param = new Parameters(ParametersSetupType.Credit)
            {
                CalculationDate = evaluationDate
            };

            //subtract 1 from date due to settlement lag
            //
            param.CalculationDate = param.CalculationDate.AddDays(-1);

            var default_time_buckets = new[] { 0, 7, 30, 90, 180, 365, 730, 1095, 1460, 1825, 2555, 3650, 36163 };

            param.BaseCurrency     = pceCalculationCurrency;
            param.SimulationMethod = "RiderNet";
            param.TimeBuckets      = default_time_buckets;

            var config = ConfigurationData.GetDefaults();

            config.System.BoundaryRiderUrl          = "http://sydwadqur04/RiskEngineService/Analytics.asmx";
            config.System.EndpointConfigurationName = "BoundaryRider.RiskEngineService.AnalyticsSoap";
            config.System.Database = "Rider";

            var helper = new BaseClientCallSetupHelper();

            Result result = helper.CalculateCreditExposure(trades, param, config);

            return(result);
        }