/**
* Copyright (C) 2013 - present by OpenGamma Inc. and the OpenGamma group of companies
*
* Please see distribution for license.
*/
package com.opengamma.analytics.financial.credit.portfoliolosssimulationmodel;
import com.opengamma.analytics.financial.credit.recoveryratemodel.RecoveryRateModel;
import com.opengamma.analytics.financial.credit.recoveryratemodel.RecoveryRateModelConstant;
/**
* Class to provide utility methods for the portfolio loss simulation model
*/
public class SimulationMethods {
// ----------------------------------------------------------------------------------------------------------------------------------------
// TODO : Eventually want to put all these into a more meaningful location
// ----------------------------------------------------------------------------------------------------------------------------------------
public SimulationMethods() {
}
// ----------------------------------------------------------------------------------------------------------------------------------------
public RecoveryRateModel[] constructRecoveryRateModels(final int numberOfObligors) {
RecoveryRateModel[] recoveryRateModels = new RecoveryRateModel[numberOfObligors];
for (int i = 0; i < numberOfObligors; i++) {
final RecoveryRateModel recRateModel = new RecoveryRateModelConstant(0.4);
recoveryRateModels[i] = recRateModel;
}
return recoveryRateModels;
}
// ----------------------------------------------------------------------------------------------------------------------------------------
public double[] constructCorrelationVector(final int numberOfObligors, final double homogeneousCorrelation) {
double[] correlationVector = new double[numberOfObligors];
for (int i = 0; i < numberOfObligors; i++) {
correlationVector[i] = homogeneousCorrelation;
}
return correlationVector;
}
// ----------------------------------------------------------------------------------------------------------------------------------------
public double[] constructDefaultProbabilityVector(final int numberOfObligors, final double homogeneousDefaultProbability) {
double[] defaultProbabilityVector = new double[numberOfObligors];
for (int i = 0; i < numberOfObligors; i++) {
defaultProbabilityVector[i] = homogeneousDefaultProbability;
}
return defaultProbabilityVector;
}
// ----------------------------------------------------------------------------------------------------------------------------------------
}