private static Amount CalculateCorrelatedSumRisks(Currency calculationCurrency, List <MarginRisk> riskMargins) { Amount sum = Amount.OfZero(calculationCurrency); foreach (MarginRisk marginRisk1 in riskMargins) { foreach (MarginRisk marginRisk2 in riskMargins) { SensitivityRisk risk1 = marginRisk1.Risk; SensitivityRisk risk2 = marginRisk2.Risk; if (risk1 != risk2) { Decimal correlation = ModelParameters.GetCorrelationRisk(risk1, risk2); sum += marginRisk1.Value * marginRisk2.Value * correlation; } } } return(sum); }