Public Types | |
enum | Type { Bilateral , CallOnly , PostOnly } |
Public Member Functions | |
CSA (const Type &type, const string &csaCurrency, const string &index, const Real &thresholdPay, const Real &thresholdRcv, const Real &mtaPay, const Real &mtaRcv, const Real &iaHeld, const string &iaType, const Period &marginCallFreq, const Period &marginPostFreq, const Period &mpr, const Real &collatSpreadPay, const Real &collatSpreadRcv, const vector< string > &eligCollatCcys, bool applyInitialMargin, Type initialMarginType, const bool calculateIMAmount, const bool calculateVMAmount) | |
const Type & | type () const |
Inspectors. More... | |
const string & | csaCurrency () const |
const string & | index () const |
Real | thresholdPay () const |
Real | thresholdRcv () const |
Real | mtaPay () const |
Real | mtaRcv () const |
Real | independentAmountHeld () const |
const string & | independentAmountType () const |
const Period & | marginCallFrequency () const |
const Period & | marginPostFrequency () const |
const Period & | marginPeriodOfRisk () const |
Real | collatSpreadRcv () const |
Real | collatSpreadPay () const |
vector< string > | eligCollatCcys () const |
bool | applyInitialMargin () |
Type | initialMarginType () |
bool | calculateIMAmount () |
bool | calculateVMAmount () |
void | invertCSA () |
void | validate () |
enum Type |
Enumeration 'Type' specifies what type of collateral agreement is in place.
const Type& type | ( | ) | const |
Inspectors.
Nature of CSA margining agreement (e.g. Bilateral, PostOnly, CallOnly)
const string& csaCurrency | ( | ) | const |
Master Currency of CSA
const string& index | ( | ) | const |
Index that determines the compounding rate
Real thresholdPay | ( | ) | const |
Threshold amount for margin calls issued by counterparty
Real thresholdRcv | ( | ) | const |
Threshold amount when issuing calls to counterparty
Real mtaPay | ( | ) | const |
Minimum Transfer Amount when posting collateral to counterparty
Real mtaRcv | ( | ) | const |
Minimum Transfer Amount when receiving collateral from counterparty
Real independentAmountHeld | ( | ) | const |
Sum of Independent Amounts covered by the CSA (positive => we hold the amount)
const string& independentAmountType | ( | ) | const |
'Type' of Independent Amount as specified in the CSA
const Period& marginCallFrequency | ( | ) | const |
Margining Frequency when requesting collateral from counterparty (e.g. "1D", "1W")
const Period& marginPostFrequency | ( | ) | const |
Margining Frequency when counterparty is requesting collateral (e.g. "1D", "1W")
const Period& marginPeriodOfRisk | ( | ) | const |
Margin Period of Risk (e.g. "1M")
Real collatSpreadRcv | ( | ) | const |
Spread for interest accrual on held collateral
Real collatSpreadPay | ( | ) | const |
Spread for interest accrual on posted collateral
vector<string> eligCollatCcys | ( | ) | const |
Eligible Collateral Currencies
bool applyInitialMargin | ( | ) |
Apply (dynamic) initial margin in addition to variation margin
Type initialMarginType | ( | ) |
Direction of (dynamic) initial margin
bool calculateIMAmount | ( | ) |
Calculate SIMM as IM (currently used only for SA-CCR)
bool calculateVMAmount | ( | ) |
Calculate VM from NPV (currently used only for SA-CCR)
void invertCSA | ( | ) |
invert all relevant aspects of the CSA