Collateral Account. More...
#include <orea/aggregation/collateralaccount.hpp>
Classes | |
| class | MarginCall |
| Margin Call. More... | |
Public Member Functions | |
| CollateralAccount () | |
| Default constructor. | |
| CollateralAccount (const QuantLib::ext::shared_ptr< NettingSetDefinition > &csaDef, const Date &date_t0) | |
| Constructor assuming initial collateral account balance is zero. More... | |
| CollateralAccount (const QuantLib::ext::shared_ptr< NettingSetDefinition > &csaDef, const Real &balance_t0, const Date &date_t0) | |
| Constructor taking an initial collateral account balance. More... | |
| QuantLib::ext::shared_ptr< NettingSetDefinition > | csaDef () const |
| Inspectors. More... | |
| Real | balance_t0 () const |
| Real | accountBalance () const |
| Real | accountBalance (const Date &date) const |
| Date | balanceDate () const |
| Real | outstandingMarginAmount (const Date &simulationDate) const |
| void | updateAccountBalance (const Date &simulationDate, const Real &annualisedZeroRate=0.0) |
| void | updateMarginCall (const MarginCall &newMarginCall) |
| void | updateMarginCall (const Real &marginFlowAmount, const Date &marginPayDate, const Date &marginRequestDate) |
| void | closeAccount (const Date &closeDate) |
Collateral Account.
This class holds information corresponding to collateral cash accounts. It stores a balance as well as an asof date for the balance. The class also includes "margin" information relating to the most recent margin call (e.g. call amount, status, expected pay date.
The idea is that this class can be updated on-the-run with new margin requirements and collateral balances, and the timestamps updated accordingly.
For further information refer to the detailed ORE documentation.
| CollateralAccount | ( | const QuantLib::ext::shared_ptr< NettingSetDefinition > & | csaDef, |
| const Date & | date_t0 | ||
| ) |
Constructor assuming initial collateral account balance is zero.
| csaDef | CSA details including threshold, minimum transfer amount, margining frequency etc |
| date_t0 | Today's date |
| CollateralAccount | ( | const QuantLib::ext::shared_ptr< NettingSetDefinition > & | csaDef, |
| const Real & | balance_t0, | ||
| const Date & | date_t0 | ||
| ) |
Constructor taking an initial collateral account balance.
| csaDef | CSA details including threshold, minimum transfer amount, margining frequency etc |
| balance_t0 | Initial collateral account balance |
| date_t0 | Today's date |
| QuantLib::ext::shared_ptr<NettingSetDefinition> csaDef | ( | ) | const |
Inspectors.
csa (netting set) definition
| Real balance_t0 | ( | ) | const |
account balance at start date
| Real accountBalance | ( | ) | const |
most up-to-date account balance
| Real accountBalance | ( | const Date & | date | ) | const |
account balance as of requested date
| Date balanceDate | ( | ) | const |
most recent account balance reset date
| Real outstandingMarginAmount | ( | const Date & | simulationDate | ) | const |
Returns the sum of all outstanding margin call amounts
| void updateAccountBalance | ( | const Date & | simulationDate, |
| const Real & | annualisedZeroRate = 0.0 |
||
| ) |
Updates the account balance, does this by checking if any outstanding margin calls are due for settlement.
| void updateMarginCall | ( | const MarginCall & | newMarginCall | ) |
Updates the margin call details for this account
| void closeAccount | ( | const Date & | closeDate | ) |
Closes the account as of a given date (i.e. sets the balance to zero)