26#include <boost/optional.hpp>
29#include <ql/time/period.hpp>
30#include <ql/utilities/null.hpp>
52 const Real& iaHeld,
const string& iaType,
const Period& marginCallFreq,
const Period& marginPostFreq,
164 const string& csaCurrency,
165 const string& index,
const Real& thresholdPay,
const Real& thresholdRcv,
const Real& mtaPay,
166 const Real& mtaRcv,
const Real& iaHeld,
const string& iaType,
167 const string& marginCallFreq,
168 const string& marginPostFreq,
170 const Real& collatSpreadPay,
const Real& collatSpreadRcv,
171 const vector<string>& eligCollatCcys,
172 bool applyInitialMargin =
false,
const string& initialMarginType =
"Bilateral",
173 const bool calculateIMAmount =
false,
const bool calculateVMAmount =
false,
174 const string& nonExemptIMRegulations =
"");
177 const string& csaCurrency,
178 const string& index,
const Real& thresholdPay,
const Real& thresholdRcv,
const Real& mtaPay,
179 const Real& mtaRcv,
const Real& iaHeld,
const string& iaType,
180 const string& marginCallFreq,
181 const string& marginPostFreq,
183 const Real& collatSpreadPay,
const Real& collatSpreadRcv,
184 const vector<string>& eligCollatCcys,
185 bool applyInitialMargin =
false,
const string& initialMarginType =
"Bilateral",
186 const bool calculateIMAmount =
false,
const bool calculateVMAmount =
false,
187 const string& nonExemptIMRegulations =
"")
189 thresholdRcv, mtaPay, mtaRcv, iaHeld, iaType, marginCallFreq, marginPostFreq, mpr,
190 collatSpreadPay, collatSpreadRcv, eligCollatCcys, applyInitialMargin, initialMarginType,
191 calculateIMAmount, calculateVMAmount, nonExemptIMRegulations) {}
211 return (nettingSetDetails_.empty() ? nettingSetId_ : nettingSetDetails_.nettingSetId());
218 const QuantLib::ext::shared_ptr<CSA>&
csaDetails() {
return csa_; }
259 string nettingSetId_;
262 QuantLib::ext::shared_ptr<CSA> csa_;
const Period & marginPeriodOfRisk() const
const string & independentAmountType() const
const Type & type() const
Inspectors.
Real thresholdPay() const
string nonExemptIMRegulations_
const string & csaCurrency() const
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 string & index() const
bool applyInitialMargin()
Real collatSpreadPay() const
vector< string > eligCollatCcys() const
Real collatSpreadRcv() const
const string & nonExemptIMRegulations()
Real independentAmountHeld() const
vector< string > eligCollatCcys_
Real thresholdRcv() const
const Period & marginPostFrequency() const
const Period & marginCallFrequency() const
const QuantLib::ext::shared_ptr< CSA > & csaDetails()
const NettingSetDetails nettingSetDetails() const
void fromXML(XMLNode *node) override
XMLNode * toXML(XMLDocument &doc) const override
NettingSetDefinition(const string &nettingSetId)
const string & nettingSetId() const
Inspectors.
NettingSetDefinition(const string &nettingSetId, const string &bilateral, 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 string &marginCallFreq, const string &marginPostFreq, const string &mpr, const Real &collatSpreadPay, const Real &collatSpreadRcv, const vector< string > &eligCollatCcys, bool applyInitialMargin=false, const string &initialMarginType="Bilateral", const bool calculateIMAmount=false, const bool calculateVMAmount=false, const string &nonExemptIMRegulations="")
bool activeCsaFlag() const
Serializable object holding netting set identification data.
Small XML Document wrapper class.
Base class for all serializable classes.
std::ostream & operator<<(std::ostream &out, EquityReturnType t)
CSA::Type parseCsaType(const string &s)
Serializable Credit Default Swap.
netting set details data model and serialization