29#include <ql/time/date.hpp>
31#include <ql/shared_ptr.hpp>
59 const QuantLib::ext::shared_ptr<NettingSetDefinition>&
csaDef,
64 const QuantLib::ext::shared_ptr<NettingSetDefinition>&
csaDef,
105 QuantLib::ext::shared_ptr<NettingSetDefinition>
csaDef()
const {
return csaDef_; }
132 void updateMarginCall(
const Real& marginFlowAmount,
const Date& marginPayDate,
const Date& marginRequestDate);
139 QuantLib::ext::shared_ptr<NettingSetDefinition>
csaDef_;
MarginCall(const Real &marginFlowAmount, const Date &marginPayDate, const Date &marginRequestDate, const bool &openMarginRequest=true)
Date marginPayDate() const
Real marginAmount() const
Date marginRequestDate() const
bool openMarginRequest() const
Inspectors.
void updateMarginCall(const MarginCall &newMarginCall)
Real outstandingMarginAmount(const Date &simulationDate) const
vector< MarginCall > marginCalls_
void updateAccountBalance(const Date &simulationDate, const Real &annualisedZeroRate=0.0)
Real accountBalance() const
vector< Real > accountBalances_
QuantLib::ext::shared_ptr< NettingSetDefinition > csaDef_
vector< Date > accountDates_
CollateralAccount()
Default constructor.
QuantLib::ext::shared_ptr< NettingSetDefinition > csaDef() const
Inspectors.
void closeAccount(const Date &closeDate)