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 string &nonExemptIMRegulations) | |
| 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 () |
| const string & | nonExemptIMRegulations () |
| 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)
| const string& nonExemptIMRegulations | ( | ) |
IM regulations (whose trade sensitivities are usually exempt from margin/sensi calc) that we wish to include (currently used only for SA-CCR)
| void invertCSA | ( | ) |
invert all relevant aspects of the CSA