Esempio n. 1
0
        private ICube GetRisk(IPvModel model)
        {
            switch (Metric)
            {
            case RiskMetric.AssetCurveDelta:
                return(model.AssetDelta());

            case RiskMetric.FxDelta:
                return(model.FxDelta(model.VanillaModel.FundingModel.FxMatrix.BaseCurrency, _currencyProvider, false));

            default:
                throw new Exception($"Unable to process risk metric {Metric}");
            }
        }
Esempio n. 2
0
        private ICube GetRisk(IPvModel model)
        {
            switch (Metric)
            {
            case RiskMetric.AssetCurveDelta:
                return(model.AssetDelta());

            //case RiskMetric.AssetCurveDeltaGamma:
            //    return portfolio.AssetDeltaGamma(model);
            case RiskMetric.FxDelta:
                return(model.FxDeltaSpecific(_currencyProvider.GetCurrency("ZAR"), FxPairsForDelta, _currencyProvider, false));

            //case RiskMetric.FxDeltaGamma:
            //    return portfolio.FxDelta(model, _currencyProvider.GetCurrency("ZAR"), _currencyProvider, true);
            default:
                throw new Exception($"Unable to process risk metric {Metric}");
            }
        }