Logo
Reference manual - version orea_version
CreditMigrationHelper Class Reference

#include <orea/aggregation/creditmigrationhelper.hpp>

Public Types

enum class  CreditMode { Migration , Default }
enum class  LoanExposureMode { Notional , Value }
enum class  Evaluation { Analytic , ForwardSimulationA , ForwardSimulationB , TerminalSimulation }

Public Member Functions

 CreditMigrationHelper (const QuantLib::ext::shared_ptr< CreditSimulationParameters > parameters, const QuantLib::ext::shared_ptr< NPVCube > cube, const QuantLib::ext::shared_ptr< NPVCube > nettedCube, const QuantLib::ext::shared_ptr< AggregationScenarioData > aggData, const Size cubeIndexCashflows, const Size cubeIndexStateNpvs, const Real distributionLowerBound, const Real distributionUpperBound, const Size buckets, const Matrix &globalFactorCorrelation, const std::string &baseCurrency)
void build (const std::map< std::string, QuantLib::ext::shared_ptr< Trade > > &trades)
 builds the helper for a specific subset of trades stored in the cube
const std::vector< Real > & upperBucketBound () const
Array pnlDistribution (const Size date)

Detailed Description

Helper for credit migration risk calculation Dynamics of entity i's state X_i: \( dX_i = dY_i + dZ_i \) with

  • systemic part \( dY_i = \sum_{j=1}^n \beta_{ij} dG_j \)
  • n correlated global factors \( G_j \)
  • entity specific factor loadings \( \beta_{ij} \)
  • idiosyncratic part \( dZ_i = \sigma_i dW_i \)
  • independent Wiener processes W, i.e. \( dW_k dW_l = 0 \) and \( dW_k dG_j = 0 \)