You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
\item {\tt flipViewXVA:} If set to {\tt Y}, the perspective in XVA calculations is switched to the cpty view, the npvs and the netting sets being reverted during calculation. In order to get the lending/borrowing curve, the calculation assumes these curves being set up with the cptyname + the postfix given in the next two settings.
4149
4150
\item {\tt flipViewBorrowingCurvePostfix:} postfix for the borrowing curve, the calculation assumes this is curves being set up with cptyname + postfix given.
4150
4151
\item {\tt flipViewLendingCurvePostfix:} postfix for the lending curve, the calculation assumes this is curve being set up with cptyname + postfix given.
4152
+
\item {\tt mporCashFlowMode:} Assumption about payment of cashflows within mpor period. One of NonePay, BothPay, WePay,
4153
+
TheyPay, Unspecified. Defaults to Unspecified, in this case PP will assume NonePay if mpor sticky date is used,
4154
+
otherwise to BothPay.
4151
4155
\end{itemize}
4152
4156
4153
4157
The two cube file outputs {\tt rawCubeOutputFile} and {\tt netCubeOutputFile} are provided for interactive analysis and visualisation purposes, see section
// If ActualDate is active, then the cash flows over mpor can be configured.
244
231
// Otherwise (StickyDate is active), it is assumed that no cash flow over mpor is paid out.
245
-
if (!withMporStickyDate_){
246
-
if (mporCashFlowMode_ == ScenarioGeneratorData::MporCashFlowMode::BothPay) // in cube generation -actual date- the (+/-) cashflows over mpor are payed out, i.e. are not part of the exposure .
247
-
mporCashFlow = 0;
248
-
elseif (mporCashFlowMode_ == ScenarioGeneratorData::MporCashFlowMode::NonePay) // +/- cashflows is to be incorporated in the exposure
232
+
if (!withMporStickyDate_) {
233
+
if (mporCashFlowMode_ == MporCashFlowMode::BothPay) {
234
+
// in cube generation -actual date- the (+/-) cashflows over mpor are
elseif (mporCashFlowMode_ == ScenarioGeneratorData::MporCashFlowMode::WePay) // only positive cash flows (i.e. cp's cashflows) is to be incorporated in the exposure, since cp does not pay out cash flows
240
+
} elseif (mporCashFlowMode_ ==
241
+
MporCashFlowMode::WePay) {
242
+
// only positive cash flows (i.e. cp's cashflows) is to be
243
+
// incorporated in the exposure, since cp does not pay out cash
244
+
// flows
251
245
mporCashFlow = nettingSetMporPositiveFlow[j][k];
252
-
elseif (mporCashFlowMode_ == ScenarioGeneratorData::MporCashFlowMode::TheyPay) // onyl negative cash flows (i.e. our cashflows) is to be incorporated in the exposure, ince we do not pay out cash flows
246
+
} elseif (mporCashFlowMode_ ==
247
+
MporCashFlowMode::TheyPay) { // onyl negative cash flows (i.e. our cashflows) is to be
248
+
// incorporated in the exposure, ince we do not pay out cash
249
+
// flows
253
250
mporCashFlow = nettingSetMporNegativeFlow[j][k];
251
+
}
254
252
}
255
253
Real exposure = data[j][k] - balance + mporCashFlow;
QL_REQUIRE(mporCashFlowMode == ScenarioGeneratorData::MporCashFlowMode::NonePay, "MporMode StickyDate supports only MporCashFlowMode NonePay");
571
-
if (!inputs_->storeFlows() && !withMporStickyDate)
572
-
QL_REQUIRE(mporCashFlowMode == ScenarioGeneratorData::MporCashFlowMode::BothPay, "If cube does not hold any mpor flows and MporMode is set to ActualDate, then MporCashFlowMode must be set to BothPay");
0 commit comments