From 45487c4f4c3bd60bc52f0409b065c5daa2ea7ec5 Mon Sep 17 00:00:00 2001 From: rkapl123 Date: Thu, 20 Jun 2024 01:30:01 +0200 Subject: [PATCH 1/3] initial commit for VarInput.py --- VarInput/Input/conventions.xml | 1721 +++++++++++++++++++++++++++++ VarInput/Input/curveconfig.xml | 1775 ++++++++++++++++++++++++++++++ VarInput/Input/pricingengine.xml | 213 ++++ VarInput/Input/sensitivity.xml | 125 +++ VarInput/Input/simulation.xml | 326 ++++++ VarInput/Input/todaysmarket.xml | 218 ++++ VarInput/README.md | 27 + VarInput/VarInput.py | 198 ++++ 8 files changed, 4603 insertions(+) create mode 100644 VarInput/Input/conventions.xml create mode 100644 VarInput/Input/curveconfig.xml create mode 100644 VarInput/Input/pricingengine.xml create mode 100644 VarInput/Input/sensitivity.xml create mode 100644 VarInput/Input/simulation.xml create mode 100644 VarInput/Input/todaysmarket.xml create mode 100644 VarInput/README.md create mode 100644 VarInput/VarInput.py diff --git a/VarInput/Input/conventions.xml b/VarInput/Input/conventions.xml new file mode 100644 index 0000000..145a0bd --- /dev/null +++ b/VarInput/Input/conventions.xml @@ -0,0 +1,1721 @@ + + + CHF-ZERO-CONVENTIONS + false + A365 + Daily + + + EUR-ZERO-CONVENTIONS + false + A365 + Daily + + + EUR-ZERO-CONVENTIONS-TENOR-BASED + true + A365 + Continuous + Daily + TARGET + 2 + TARGET + Following + false + + + GBP-ZERO-CONVENTIONS + false + A365 + Daily + + + USD-ZERO-CONVENTIONS + false + A365 + Daily + + + USD-ZERO-CONVENTIONS-TENOR-BASED + true + A365 + Continuous + Daily + US + 2 + US + Following + false + + + CDS-STANDARD-CONVENTIONS + 0 + WeekendsOnly + Quarterly + ModifiedFollowing + TwentiethIMM + A360 + true + true + + + AUD-BBSW-CONVENTIONS + true + AUD-BBSW + + + BRL-GENERIC-CONVENTIONS + true + BRL-GENERIC + + + CAD-CORRA-CONVENTIONS + true + CAD-CORRA + + + CAD-DEPOSIT + true + CAD-CDOR + + + CHF-LIBOR-CONVENTIONS + true + CHF-LIBOR + + + CHF-SARON-CONVENTIONS + true + CHF-SARON + + + CHF-TOIS-CONVENTIONS + true + CHF-TOIS + + + CLP-GENERIC-CONVENTIONS + true + CLP-GENERIC + + + CNY-GENERIC-CONVENTIONS + true + CNY-GENERIC + + + CZK-DEPOSIT + true + CZK-PRIBOR + + + DKK-DEPOSIT + true + DKK-CIBOR + + + DKK-DKKOIS-CONVENTIONS + true + DKK-DKKOIS + + + EUR-DEPOSIT + true + EUR-EURIBOR + + + EUR-EONIA-CONVENTIONS + true + EUR-EONIA + + + EUR-EURIBOR-CONVENTIONS + true + EUR-EURIBOR + + + GBP-DEPOSIT + true + GBP-LIBOR + + + GBP-LIBOR-CONVENTIONS + true + GBP-LIBOR + + + GBP-SONIA-CONVENTIONS + true + GBP-SONIA + + + HUF-DEPOSIT + true + HUF-BUBOR + + + IDR-GENERIC-CONVENTIONS + true + IDR-GENERIC + + + INR-GENERIC-CONVENTIONS + true + INR-GENERIC + + + JPY-LIBOR-CONVENTIONS + true + JPY-LIBOR + + + JPY-TIBOR-CONVENTIONS + true + JPY-TIBOR + + + KRW-GENERIC-CONVENTIONS + true + KRW-GENERIC + + + MXN-TIIE-CONVENTIONS + true + MXN-TIIE + + + MYR-GENERIC-CONVENTIONS + true + MYR-GENERIC + + + NOK-DEPOSIT + true + NOK-NIBOR + + + NZD-DEPOSIT + true + NZD-BKBM + + + PHP-GENERIC-CONVENTIONS + true + PHP-GENERIC + + + PLN-DEPOSIT + true + PLN-WIBOR + + + RUB-MOSPRIME-CONVENTIONS + true + RUB-MOSPRIME + + + SEK-DEPOSIT + true + SEK-STIBOR + + + SEK-SIOR-CONVENTIONS + true + SEK-SIOR + + + SEK-STIBOR-CONVENTIONS + true + SEK-STIBOR + + + SGD-DEPOSIT + true + SGD-SIBOR + + + TWD-GENERIC-CONVENTIONS + true + TWD-GENERIC + + + USD-FED-FUNDS-CONVENTIONS + true + USD-FedFunds + + + USD-LIBOR-CONVENTIONS + true + USD-LIBOR + + + AUD-BBSW-3M-FUTURES-CONVENTIONS + AUD-BBSW-3M + + + EURIBOR-3M-FUTURES-CONVENTIONS + EUR-EURIBOR-3M + + + JPY-LIBOR-3M-FUTURES-CONVENTIONS + JPY-LIBOR-3M + + + SEK-STIBOR-3M-FUTURES-CONVENTIONS + SEK-STIBOR-3M + + + USD-LIBOR-3M-FUTURES-CONVENTIONS + USD-LIBOR-3M + + + AUD-3M-FRA-CONVENTIONS + AUD-BBSW-3M + + + CAD-FRA-3M + CAD-CDOR-3M + + + CHF-3M-FRA-CONVENTIONS + CHF-LIBOR-3M + + + CHF-6M-FRA-CONVENTIONS + CHF-LIBOR-6M + + + CZK-3M-FRA + CZK-PRIBOR-3M + + + CZK-6M-FRA + CZK-PRIBOR-6M + + + EUR-12M-FRA-CONVENTIONS + EUR-EURIBOR-12M + + + EUR-3M-FRA-CONVENTIONS + EUR-EURIBOR-3M + + + EUR-6M-FRA-CONVENTIONS + EUR-EURIBOR-6M + + + GBP-3M-FRA + GBP-LIBOR-3M + + + GBP-6M-FRA + GBP-LIBOR-6M + + + HUF-6M-FRA + HUF-BUBOR-6M + + + JPY-3M-FRA-CONVENTIONS + JPY-LIBOR-3M + + + JPY-6M-FRA-CONVENTIONS + JPY-LIBOR-6M + + + NZD-3M-FRA + NZD-BKBM-3M + + + PLN-3M-FRA + PLN-WIBOR-3M + + + PLN-6M-FRA + PLN-WIBOR-6M + + + SEK-3M-FRA + SEK-STIBOR-3M + + + USD-1M-FRA-CONVENTIONS + USD-LIBOR-1M + + + USD-3M-FRA-CONVENTIONS + USD-LIBOR-3M + + + USD-6M-FRA-CONVENTIONS + USD-LIBOR-6M + + + AUD-CMS-1Y + AUD-6M-SWAP-CONVENTIONS + + + AUD-CMS-30Y + AUD-6M-SWAP-CONVENTIONS + + + CAD-CMS-1Y + CAD-3M-SWAP-CONVENTIONS + + + CAD-CMS-30Y + CAD-3M-SWAP-CONVENTIONS + + + CHF-CMS-1Y + CHF-3M-SWAP-CONVENTIONS + + + CHF-CMS-30Y + CHF-6M-SWAP-CONVENTIONS + + + DKK-CMS-1Y + DKK-3M-SWAP-CONVENTIONS + + + DKK-CMS-30Y + DKK-6M-SWAP-CONVENTIONS + + + EUR-CMS-10Y + EUR-6M-SWAP-CONVENTIONS + + + EUR-CMS-12M + EUR-3M-SWAP-CONVENTIONS + + + EUR-CMS-1Y + EUR-3M-SWAP-CONVENTIONS + + + EUR-CMS-20Y + EUR-6M-SWAP-CONVENTIONS + + + EUR-CMS-2Y + EUR-6M-SWAP-CONVENTIONS + + + EUR-CMS-30Y + EUR-6M-SWAP-CONVENTIONS + + + EUR-CMS-3M + EUR-3M-SWAP-CONVENTIONS + + + EUR-CMS-5Y + EUR-6M-SWAP-CONVENTIONS + + + EUR-CMS-6M + EUR-3M-SWAP-CONVENTIONS + + + GBP-CMS-10Y + GBP-6M-SWAP-CONVENTIONS + + + GBP-CMS-1Y + GBP-3M-SWAP-CONVENTIONS + + + GBP-CMS-20Y + GBP-6M-SWAP-CONVENTIONS + + + GBP-CMS-2Y + GBP-6M-SWAP-CONVENTIONS + + + GBP-CMS-30Y + GBP-6M-SWAP-CONVENTIONS + + + GBP-CMS-5Y + GBP-6M-SWAP-CONVENTIONS + + + NOK-CMS-1Y + NOK-3M-SWAP-CONVENTIONS + + + NOK-CMS-30Y + NOK-6M-SWAP-CONVENTIONS + + + NZD-CMS-1Y + NZD-3M-SWAP + + + NZD-CMS-30Y + NZD-3M-SWAP + + + JPY-CMS-1Y + JPY-LIBOR-6M-SWAP-CONVENTIONS + + + JPY-CMS-30Y + JPY-LIBOR-6M-SWAP-CONVENTIONS + + + SEK-CMS-1Y + SEK-3M-SWAP-CONVENTIONS + + + SEK-CMS-30Y + SEK-6M-SWAP-CONVENTIONS + + + USD-CMS-10Y + USD-3M-SWAP-CONVENTIONS + + + USD-CMS-1Y + USD-3M-SWAP-CONVENTIONS + + + USD-CMS-20Y + USD-3M-SWAP-CONVENTIONS + + + USD-CMS-2Y + USD-3M-SWAP-CONVENTIONS + + + USD-CMS-30Y + USD-3M-SWAP-CONVENTIONS + + + USD-CMS-5Y + USD-3M-SWAP-CONVENTIONS + + + AUD-3M-SWAP-CONVENTIONS + AU + Quarterly + MF + A365 + AUD-BBSW-3M + + + AUD-6M-SWAP-CONVENTIONS + AU + Semiannual + MF + A365 + AUD-BBSW-6M + + + BRL-GENERIC-3M-SWAP-CONVENTIONS + TARGET + Annual + MF + 30/360 + BRL-GENERIC-3M + + + CAD-3M-SWAP-CONVENTIONS + CA + Semiannual + MF + ACT/365 + CAD-CDOR-3M + Semiannual + Compounding + + + CAD-3M-SWAP-CONVENTIONS-1Y + CA + Annual + MF + ACT/365 + CAD-CDOR-3M + Annual + Compounding + + + CHF-3M-SWAP-CONVENTIONS + ZUB,UK + Annual + MF + 30/360 + CHF-LIBOR-3M + + + CHF-6M-SWAP-CONVENTIONS + ZUB,UK + Annual + MF + 30/360 + CHF-LIBOR-6M + + + CLP-GENERIC-3M-SWAP-CONVENTIONS + TARGET + Annual + MF + 30/360 + CLP-GENERIC-3M + + + CNY-GENERIC-3M-SWAP-CONVENTIONS + TARGET + Annual + MF + 30/360 + CNY-GENERIC-3M + + + COP-3M-SWAP + COP + Quarterly + MF + ACT/360 + COP-IBR-3M + + + CZK-3M-SWAP + CZK + Annual + MF + ACT/360 + CZK-PRIBOR-3M + + + CZK-6M-SWAP + CZK + Annual + MF + ACT/360 + CZK-PRIBOR-6M + + + DKK-3M-SWAP-CONVENTIONS + DEN + Annual + MF + 30/360 + DKK-CIBOR-3M + + + DKK-6M-SWAP-CONVENTIONS + DEN + Annual + MF + 30/360 + DKK-CIBOR-6M + + + EUR-12M-SWAP-CONVENTIONS + TARGET + Annual + MF + 30/360 + EUR-EURIBOR-12M + + + EUR-1M-SWAP-CONVENTIONS + TARGET + Annual + MF + 30/360 + EUR-EURIBOR-1M + + + EUR-3M-SWAP-CONVENTIONS + TARGET + Annual + MF + 30/360 + EUR-EURIBOR-3M + + + EUR-6M-SWAP-CONVENTIONS + TARGET + Annual + MF + 30/360 + EUR-EURIBOR-6M + + + GBP-3M-SWAP-CONVENTIONS + UK + Annual + MF + A365 + GBP-LIBOR-3M + + + GBP-6M-SWAP-CONVENTIONS + UK + Semiannual + MF + A365 + GBP-LIBOR-6M + + + HKD-3M-SWAP + HKD + Quarterly + MF + A365 + HKD-HIBOR-3M + + + HUF-6M-SWAP + HUF + Annual + MF + A365 + HUF-BUBOR-6M + + + IDR-GENERIC-3M-SWAP-CONVENTIONS + TARGET + Annual + MF + 30/360 + IDR-GENERIC-3M + + + INR-3M-SWAP + INR + Semiannual + MF + A365 + INR-MIFOR-3M + + + INR-6M-SWAP + INR + Semiannual + MF + A365 + INR-MIFOR-6M + + + INR-GENERIC-3M-SWAP-CONVENTIONS + TARGET + Annual + MF + 30/360 + INR-GENERIC-3M + + + JPY-LIBOR-3M-SWAP-CONVENTIONS + JP,UK + Semiannual + MF + A365 + JPY-LIBOR-3M + + + JPY-LIBOR-6M-SWAP-CONVENTIONS + JP,UK + Semiannual + MF + A365 + JPY-LIBOR-6M + + + JPY-TIBOR-3M-SWAP-CONVENTIONS + JP + Semiannual + MF + A365 + JPY-TIBOR-3M + + + KRW-3M-SWAP + KRW + Quarterly + MF + A365 + KRW-KORIBOR-3M + + + KRW-GENERIC-3M-SWAP-CONVENTIONS + TARGET + Annual + MF + 30/360 + KRW-GENERIC-3M + + + MXN-28D-SWAP-CONVENTIONS + MXN + Lunarmonth + MF + ACT/360 + MXN-TIIE-28D + + + MYR-3M-SWAP + MYR + Quarterly + MF + A365 + MYR-KLIBOR-3M + + + MYR-GENERIC-3M-SWAP-CONVENTIONS + TARGET + Annual + MF + 30/360 + MYR-GENERIC-3M + + + NOK-3M-SWAP-CONVENTIONS + NOK + Annual + MF + 30/360 + NOK-NIBOR-3M + + + NOK-6M-SWAP-CONVENTIONS + NOK + Annual + MF + 30/360 + NOK-NIBOR-6M + + + NZD-3M-SWAP + NZD + Semiannual + MF + A365 + NZD-BKBM-3M + + + NZD-6M-SWAP + NZD + Semiannual + MF + A365 + NZD-BKBM-6M + + + PHP-3M-SWAP + PHP + Quarterly + MF + ACT/360 + PHP-PHIREF-3M + + + PHP-GENERIC-3M-SWAP-CONVENTIONS + TARGET + Annual + MF + 30/360 + PHP-GENERIC-3M + + + PLN-3M-SWAP + PLN + Annual + MF + ACT/ACT + PLN-WIBOR-3M + + + PLN-6M-SWAP + PLN + Annual + MF + ACT/ACT + PLN-WIBOR-6M + + + RUB-3M-SWAP + RUB + Annual + MF + ACT/ACT + RUB-MOSPRIME-3M + + + SEK-3M-SWAP-CONVENTIONS + SS + Annual + MF + 30/360 + SEK-STIBOR-3M + + + SEK-6M-SWAP-CONVENTIONS + SS + Annual + MF + 30/360 + SEK-STIBOR-6M + + + SGD-6M-SWAP-CONVENTIONS + SGD + Annual + MF + 30/360 + SGD-SIBOR-6M + + + THB-6M-SWAP + THB + Semiannual + MF + A365 + THB-BIBOR-6M + + + TWD-3M-SWAP + TWD + Quarterly + MF + A365 + TWD-TAIBOR-3M + + + TWD-GENERIC-3M-SWAP-CONVENTIONS + TARGET + Annual + MF + 30/360 + TWD-GENERIC-3M + + + USD-1M-SWAP-ANNUAL-CONVENTIONS + US,UK + Annual + MF + ACT/360 + USD-LIBOR-1M + + + USD-1M-SWAP-CONVENTIONS + US,UK + Annual + MF + 30/360 + USD-LIBOR-1M + + + USD-3M-SWAP-ANNUAL-CONVENTIONS + US,UK + Annual + MF + ACT/360 + USD-LIBOR-3M + + + USD-3M-SWAP-CONVENTIONS + US,UK + Semiannual + MF + 30/360 + USD-LIBOR-3M + + + USD-6M-SWAP-CONVENTIONS + US,UK + Semiannual + MF + 30/360 + USD-LIBOR-6M + + + ZAR-3M-SWAP + ZAR + Quarterly + MF + A365 + ZAR-JIBAR-3M + + + CAD-OIS-CONVENTIONS + 2 + CAD-CORRA + A365 + 2 + false + Annual + Following + Following + Backward + + + CHF-OIS-CONVENTIONS + 1 + CHF-TOIS + 30/360 + 2 + false + Annual + Following + Following + Backward + + + CHF-OIS-SARON-CONVENTIONS + 1 + CHF-SARON + 30/360 + 2 + false + Annual + Following + Following + Backward + + + DKK-OIS-CONVENTIONS + 2 + DKK-DKKOIS + A360 + 0 + false + Annual + Following + Following + Backward + + + EUR-OIS-CONVENTIONS + 2 + EUR-EONIA + A360 + 1 + false + Annual + Following + Following + Backward + + + GBP-OIS-CONVENTIONS + 0 + GBP-SONIA + A365 + 0 + false + Annual + Following + Following + Backward + + + JPY-OIS-CONVENTIONS + 2 + JPY-TONAR + A360 + 1 + false + Annual + Following + Following + Backward + + + SEK-OIS-CONVENTIONS + 2 + SEK-SIOR + A360 + 0 + false + Annual + Following + Following + Backward + + + USD-OIS-CONVENTIONS + 2 + USD-FedFunds + A360 + 2 + false + Annual + Following + Following + Backward + + + USD-AVERAGE-OIS-CONVENTIONS + 2 + 6M + 30/360 + US + MF + MF + USD-FedFunds + 3M + 2 + + + EUR-EURIBOR-6M-12M-BASIS-CONVENTIONS + TARGET + Annual + MF + 30/360 + EUR-EURIBOR-12M + Annual + MF + 30/360 + EUR-EURIBOR-6M + true + + + EUR-EURIBOR-3M-6M-BASIS-CONVENTIONS + TARGET + Annual + MF + 30/360 + EUR-EURIBOR-6M + Annual + MF + 30/360 + EUR-EURIBOR-3M + true + + + DKK-CIBOR-3M-6M-BASIS-CONVENTIONS + DKK + Annual + MF + 30/360 + DKK-CIBOR-6M + Annual + MF + 30/360 + DKK-CIBOR-3M + true + + + NOK-NIBOR-3M-6M-BASIS-CONVENTIONS + NOK + Annual + MF + 30/360 + NOK-NIBOR-6M + Annual + MF + 30/360 + NOK-NIBOR-3M + true + + + SEK-STIBOR-3M-6M-BASIS-CONVENTIONS + SEK + Annual + MF + 30/360 + SEK-STIBOR-6M + Annual + MF + 30/360 + SEK-STIBOR-3M + true + + + AUD-BBSW-3M-6M-BASIS-CONVENTIONS + AUD-BBSW-6M + AUD-BBSW-3M + + + CHF-LIBOR-3M-6M-BASIS-CONVENTIONS + CHF-LIBOR-6M + CHF-LIBOR-3M + + + EUR-EURIBOR-1S-3M-6M-BASIS-CONVENTIONS + EUR-EURIBOR-6M + EUR-EURIBOR-3M + + + EUR-OIS-1M-BASIS-CONVENTIONS + EUR-EURIBOR-1M + EUR-EONIA + 1Y + + + GBP-LIBOR-3M-6M-BASIS-CONVENTIONS + GBP-LIBOR-6M + GBP-LIBOR-3M + + + JPY-LIBOR-3M-6M-BASIS-CONVENTIONS + JPY-LIBOR-6M + JPY-LIBOR-3M + + + USD-LIBOR-1M-3M-BASIS-CONVENTIONS + USD-LIBOR-3M + USD-LIBOR-1M + 3M + true + false + Compounding + + + USD-LIBOR-3M-6M-BASIS-CONVENTIONS + USD-LIBOR-6M + USD-LIBOR-3M + 6M + true + false + Compounding + + + CHF-USD-FX-CONVENTIONS + 2 + CHF + USD + 10000.0000 + ZUB,US + true + + + EUR-AUD-FX-CONVENTIONS + 2 + EUR + AUD + 10000.0000 + TARGET,AU + true + + + EUR-CAD-FX-CONVENTIONS + 2 + EUR + CAD + 10000.0000 + TARGET,CA + true + + + EUR-CHF-FX-CONVENTIONS + 2 + EUR + CHF + 10000.0000 + TARGET,ZUB + true + + + EUR-DKK-FX-CONVENTIONS + 2 + EUR + DKK + 10000.0000 + TARGET,DEN + true + + + EUR-GBP-FX-CONVENTIONS + 2 + EUR + GBP + 10000.0000 + TARGET,UK + true + + + EUR-NOK-FX-CONVENTIONS + 2 + EUR + NOK + 10000.0000 + TARGET,NOK + true + + + EUR-NZD-FX-CONVENTIONS + 2 + EUR + NZD + 10000.0000 + TARGET,NZD + true + + + EUR-JPY-FX-CONVENTIONS + 2 + EUR + JPY + 100.0000 + TARGET,JP + true + + + EUR-SEK-FX-CONVENTIONS + 2 + EUR + SEK + 10000.0000 + TARGET,SEK + true + + + EUR-USD-FX-CONVENTIONS + 2 + EUR + USD + 10000.0000 + TARGET,US + true + + + GBP-USD-FX-CONVENTIONS + 2 + GBP + USD + 10000.0000 + UK,US + true + + + USD-BRL-FX-CONVENTIONS + 2 + USD + BRL + 10000.0000 + US + true + + + USD-CAD-FX-CONVENTIONS + 2 + USD + CAD + 10000.0000 + US,CA + true + + + USD-CHF-FX-CONVENTIONS + 2 + USD + CHF + 10000.0000 + ZUB,US + true + + + USD-CLP-FX-CONVENTIONS + 2 + USD + CLP + 1.0000 + US + true + + + USD-CNY-FX-CONVENTIONS + 2 + USD + CNY + 10000.0000 + US + true + + + USD-GBP-FX-CONVENTIONS + 2 + USD + GBP + 10000.0000 + UK,US + true + + + USD-IDR-FX-CONVENTIONS + 2 + USD + IDR + 10000.0000 + US + true + + + USD-INR-FX-CONVENTIONS + 2 + USD + INR + 100.0000 + US + true + + + USD-JPY-FX-CONVENTIONS + 2 + USD + JPY + 100.0000 + US,JP + true + + + USD-KRW-FX-CONVENTIONS + 2 + USD + KRW + 100.0000 + US + true + + + USD-MXN-FX-CONVENTIONS + 2 + USD + MXN + 1.0000 + US + true + + + USD-MYR-FX-CONVENTIONS + 2 + USD + MYR + 10000.0000 + US + true + + + USD-NOK-FX-CONVENTIONS + 2 + USD + NOK + 10000.0000 + US,NOK + true + + + USD-PHP-FX-CONVENTIONS + 2 + USD + PHP + 10.0000 + US + true + + + USD-SEK-FX-CONVENTIONS + 2 + USD + SEK + 10000.0000 + US,SEK + true + + + USD-TWD-FX-CONVENTIONS + 2 + USD + TWD + 1.0000 + US + true + + + EUR-AUD-XCCY-BASIS-CONVENTIONS + 2 + TARGET,AU,UK + MF + EUR-EURIBOR-3M + AUD-BBSW-3M + + + EUR-CAD-XCCY-BASIS-CONVENTIONS + 2 + CA,TARGET,UK + MF + EUR-EURIBOR-3M + CAD-CDOR-3M + + + EUR-CHF-XCCY-BASIS-CONVENTIONS + 2 + ZUB,TARGET,UK + MF + EUR-EURIBOR-3M + CHF-LIBOR-3M + + + EUR-DKK-XCCY-BASIS-CONVENTIONS + 2 + DKK,TARGET,UK + MF + EUR-EURIBOR-3M + DKK-CIBOR-3M + + + EUR-GBP-XCCY-BASIS-CONVENTIONS + 2 + UK,TARGET + MF + EUR-EURIBOR-3M + GBP-LIBOR-3M + + + EUR-JPY-XCCY-BASIS-CONVENTIONS + 2 + TKB,TARGET,UK + MF + EUR-EURIBOR-3M + JPY-LIBOR-3M + + + EUR-NOK-XCCY-BASIS-CONVENTIONS + 2 + NOK,TARGET,UK + MF + EUR-EURIBOR-3M + NOK-NIBOR-3M + + + EUR-NZD-XCCY-BASIS-CONVENTIONS + 2 + NZD,TARGET,UK + MF + EUR-EURIBOR-3M + NZD-BKBM-3M + + + EUR-SEK-XCCY-BASIS-CONVENTIONS + 2 + SEK,TARGET,UK + MF + EUR-EURIBOR-3M + SEK-STIBOR-3M + + + EUR-USD-XCCY-BASIS-CONVENTIONS + 2 + TARGET,US,UK + MF + USD-LIBOR-3M + EUR-EURIBOR-3M + + + USD-BRL-GENERIC-XCCY-BASIS-CONVENTIONS + 2 + TARGET,US,UK + MF + USD-LIBOR-3M + BRL-GENERIC-3M + + + USD-CAD-XCCY-BASIS-CONVENTIONS + 2 + CA,US,UK + MF + USD-LIBOR-3M + CAD-CDOR-3M + + + USD-CHF-XCCY-BASIS-CONVENTIONS + 2 + ZUB,US,UK + MF + USD-LIBOR-3M + CHF-LIBOR-3M + + + USD-CLP-GENERIC-XCCY-BASIS-CONVENTIONS + 2 + TARGET,US,UK + MF + USD-LIBOR-3M + CLP-GENERIC-3M + + + USD-CNY-GENERIC-XCCY-BASIS-CONVENTIONS + 2 + TARGET,US,UK + MF + USD-LIBOR-3M + CNY-GENERIC-3M + + + USD-GBP-XCCY-BASIS-CONVENTIONS + 2 + UK,US + MF + USD-LIBOR-3M + GBP-LIBOR-3M + + + USD-IDR-GENERIC-XCCY-BASIS-CONVENTIONS + 2 + TARGET,US,UK + MF + USD-LIBOR-3M + IDR-GENERIC-3M + + + USD-INR-GENERIC-XCCY-BASIS-CONVENTIONS + 2 + TARGET,US,UK + MF + USD-LIBOR-3M + INR-GENERIC-3M + + + USD-JPY-XCCY-BASIS-CONVENTIONS + 2 + JP,US,UK + MF + USD-LIBOR-3M + JPY-LIBOR-3M + + + USD-KRW-GENERIC-XCCY-BASIS-CONVENTIONS + 2 + TARGET,US,UK + MF + USD-LIBOR-3M + KRW-GENERIC-3M + + + USD-MXN-3M-XCCY-BASIS-CONVENTIONS + 2 + MXN,US,UK + MF + USD-LIBOR-3M + MXN-TIIE-3M + + + USD-MXN-XCCY-BASIS-CONVENTIONS + 2 + MXN,US,UK + MF + MXN-TIIE-28D + USD-LIBOR-1M + + + USD-MYR-GENERIC-XCCY-BASIS-CONVENTIONS + 2 + TARGET,US,UK + MF + USD-LIBOR-3M + MYR-GENERIC-3M + + + USD-NOK-XCCY-BASIS-CONVENTIONS + 2 + NOK,US,UK + MF + USD-LIBOR-3M + NOK-NIBOR-3M + + + USD-PHP-GENERIC-XCCY-BASIS-CONVENTIONS + 2 + TARGET,US,UK + MF + USD-LIBOR-3M + PHP-GENERIC-3M + + + USD-SEK-XCCY-BASIS-CONVENTIONS + 2 + SEK,US,UK + MF + USD-LIBOR-3M + SEK-STIBOR-3M + + + USD-TWD-GENERIC-XCCY-BASIS-CONVENTIONS + 2 + TARGET,US,UK + MF + USD-LIBOR-3M + TWD-GENERIC-3M + + + EUHICP_INFLATIONSWAP + TARGET + MF + 30/360 + EUHICP + false + 3M + false + TARGET + MF + + + EUHICPXT_INFLATIONSWAP + TARGET + MF + 30/360 + EUHICPXT + false + 3M + false + TARGET + MF + + + FRHICP_INFLATIONSWAP + TARGET + MF + 30/360 + FRHICP + false + 3M + false + TARGET + MF + + + UKRPI_INFLATIONSWAP + UK + MF + 30/360 + UKRPI + false + 3M + false + UK + MF + + + USCPI_INFLATIONSWAP + US + MF + 30/360 + USCPI + false + 3M + false + US + MF + + + ZACPI_INFLATIONSWAP + ZAR + MF + 30/360 + ZACPI + false + 3M + false + ZAR + MF + + diff --git a/VarInput/Input/curveconfig.xml b/VarInput/Input/curveconfig.xml new file mode 100644 index 0000000..4df5a65 --- /dev/null +++ b/VarInput/Input/curveconfig.xml @@ -0,0 +1,1775 @@ + + + + AUDJPY + + ATM + 1M,3M,6M,1Y,2Y + FX/AUD/JPY + + + EURAUD + + ATM + 1M,3M,6M,1Y,2Y,3Y,5Y + FX/EUR/AUD + + + EURCAD + + ATM + 1M,3M,6M,1Y,2Y,3Y,4Y,5Y + FX/EUR/CAD + + + EURCHF + + ATM + 1M,3M,6M,1Y,2Y,3Y,5Y,7Y,10Y + FX/EUR/CHF + + + EURGBP + + ATM + 1M,3M,6M,1Y,2Y,3Y,5Y,7Y,10Y + FX/EUR/GBP + + + EURJPY + + ATM + 1M,3M,6M,1Y,2Y,3Y,4Y,5Y,7Y,10Y + FX/EUR/JPY + + + EURUSD + + ATM + 1M,3M,6M,1Y,2Y,3Y,4Y,5Y,7Y,10Y + FX/EUR/USD + + + USDJPY + + ATM + 1M,3M,6M,1Y,2Y,3Y,4Y,5Y,7Y,10Y + FX/USD/JPY + + + + + AUD_SW_LN + AUD lognormal swaption volatilities + ATM + Lognormal + Flat + Actual/365 (Fixed) + TARGET + Following + 1M,3M,6M,1Y,2Y,3Y,4Y,5Y,7Y,10Y + 1Y,2Y,3Y,4Y,5Y,7Y,10Y + AUD-CMS-1Y + AUD-CMS-30Y + + + CAD_SW_LN + CAD lognormal swaption volatilities + ATM + Lognormal + Flat + Actual/365 (Fixed) + TARGET + Following + 1M,3M,6M,1Y,2Y,3Y,4Y,5Y,7Y,10Y + 1Y,2Y,3Y,4Y,5Y,7Y,10Y + CAD-CMS-1Y + CAD-CMS-30Y + + + CHF_SW_N + CHF normal swaption volatilities + ATM + Normal + Flat + Actual/365 (Fixed) + TARGET + Following + 1M,3M,6M,1Y,2Y,3Y,4Y,5Y,7Y,10Y + 1Y,2Y,3Y,4Y,5Y,7Y,10Y + CHF-CMS-1Y + CHF-CMS-30Y + + + EUR_SW_N + EUR normal swaption volatilities + ATM + Normal + Flat + Actual/365 (Fixed) + TARGET + Following + 1M,3M,6M,1Y,2Y,3Y,4Y,5Y,7Y,10Y,15Y,20Y,25Y,30Y + 1Y,2Y,3Y,4Y,5Y,7Y,10Y,15Y,20Y,25Y,30Y + EUR-CMS-1Y + EUR-CMS-30Y + + + GBP_SW_N + GBP normal swaption volatilities + ATM + Normal + Flat + Actual/365 (Fixed) + TARGET + Following + 1M,3M,6M,1Y,2Y,3Y,4Y,5Y,7Y,10Y + 1Y,2Y,3Y,4Y,5Y,7Y,10Y,15Y,20Y + GBP-CMS-1Y + GBP-CMS-30Y + + + JPY_SW_N + JPY normal swaption volatilities + ATM + Normal + Flat + Actual/365 (Fixed) + TARGET + Following + 1M,3M,6M,1Y,2Y,3Y,4Y,5Y,7Y,10Y + 1Y,2Y,3Y,4Y,5Y,7Y,10Y,15Y,20Y + JPY-CMS-1Y + JPY-CMS-30Y + + + USD_SW_N + USD normal swaption volatilities + ATM + Normal + Flat + Actual/365 (Fixed) + TARGET + Following + 1M,3M,6M,1Y,2Y,3Y,4Y,5Y,7Y,10Y,15Y,20Y,25Y,30Y + 1Y,2Y,3Y,4Y,5Y,7Y,10Y,15Y,20Y,25Y,30Y + USD-CMS-1Y + USD-CMS-30Y + + + + + EUR_CF_N + EUR normal cap floor volatilities + Normal + Linear + FALSE + Actual/365 (Fixed) + TARGET + Following + 1Y,2Y,3Y,4Y,5Y,6Y,7Y,8Y,9Y,10Y,12Y,15Y,20Y,25Y,30Y + -0.015,-0.01,0,0.005,0.01,0.015,0.02,0.03,0.04,0.05,0.06,0.07,0.1 + + EUR-EURIBOR-6M + Yield/EUR/EUR1D + OptionletVolatilities + LinearFlat + LinearFlat + + true + + + + CHF_CF_N + CHF normal cap floor volatilities + Normal + Linear + FALSE + Actual/365 (Fixed) + CHF + Following + 1Y,2Y,3Y,4Y,5Y,7Y,10Y,12Y,15Y,20Y + -0.015,-0.01,-0.005,0,0.005,0.01,0.015,0.02,0.03,0.04,0.05 + CHF-LIBOR-6M + Yield/CHF/CHF1D + OptionletVolatilities + LinearFlat + LinearFlat + + true + + + + + + + + AUD3M + + AUD + + + + Deposit + + MM/RATE/AUD/2D/3M + + AUD-BBSW-CONVENTIONS + AUD3M + + + Tenor Basis Swap + + BASIS_SWAP/BASIS_SPREAD/6M/3M/AUD/1Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/AUD/2Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/AUD/3Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/AUD/4Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/AUD/5Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/AUD/7Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/AUD/10Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/AUD/12Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/AUD/15Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/AUD/20Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/AUD/25Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/AUD/30Y + + AUD-BBSW-3M-6M-BASIS-CONVENTIONS + AUD6M + AUD3M + + + + + AUD6M + + AUD + + + + Deposit + + MM/RATE/AUD/2D/6M + + AUD-BBSW-CONVENTIONS + AUD6M + + + Swap + + IR_SWAP/RATE/AUD/2D/6M/1Y + IR_SWAP/RATE/AUD/2D/6M/2Y + IR_SWAP/RATE/AUD/2D/6M/3Y + IR_SWAP/RATE/AUD/2D/6M/4Y + IR_SWAP/RATE/AUD/2D/6M/5Y + IR_SWAP/RATE/AUD/2D/6M/6Y + IR_SWAP/RATE/AUD/2D/6M/7Y + IR_SWAP/RATE/AUD/2D/6M/8Y + IR_SWAP/RATE/AUD/2D/6M/9Y + IR_SWAP/RATE/AUD/2D/6M/10Y + IR_SWAP/RATE/AUD/2D/6M/12Y + IR_SWAP/RATE/AUD/2D/6M/15Y + IR_SWAP/RATE/AUD/2D/6M/20Y + IR_SWAP/RATE/AUD/2D/6M/25Y + IR_SWAP/RATE/AUD/2D/6M/30Y + + AUD-6M-SWAP-CONVENTIONS + AUD6M + + + + + AUD-IN-EUR + AUD collateralized in EUR discount curve + AUD + + + + FX Forward + + FXFWD/RATE/EUR/AUD/1D + FXFWD/RATE/EUR/AUD/1W + FXFWD/RATE/EUR/AUD/2W + FXFWD/RATE/EUR/AUD/3W + FXFWD/RATE/EUR/AUD/1M + FXFWD/RATE/EUR/AUD/2M + FXFWD/RATE/EUR/AUD/3M + FXFWD/RATE/EUR/AUD/4M + FXFWD/RATE/EUR/AUD/5M + FXFWD/RATE/EUR/AUD/6M + FXFWD/RATE/EUR/AUD/7M + FXFWD/RATE/EUR/AUD/8M + FXFWD/RATE/EUR/AUD/9M + FXFWD/RATE/EUR/AUD/10M + FXFWD/RATE/EUR/AUD/11M + FXFWD/RATE/EUR/AUD/1Y + + EUR-AUD-FX-CONVENTIONS + EUR1D + FX/RATE/EUR/AUD + + + Cross Currency Basis Swap + + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/AUD/3M/2Y + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/AUD/3M/3Y + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/AUD/3M/4Y + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/AUD/3M/5Y + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/AUD/3M/7Y + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/AUD/3M/10Y + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/AUD/3M/15Y + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/AUD/3M/20Y + + EUR-AUD-XCCY-BASIS-CONVENTIONS + EUR1D + FX/RATE/EUR/AUD + AUD3M + EUR3M + + + Discount + LogLinear + A365 + 0.00000000000100 + + + + CAD3M + + CAD + + + + Deposit + + MM/RATE/CAD/2D/3M + + CAD-DEPOSIT + CAD3M + + + Swap + + IR_SWAP/RATE/CAD/2D/3M/1Y + + CAD-3M-SWAP-CONVENTIONS-1Y + CAD3M + + + Swap + + IR_SWAP/RATE/CAD/2D/3M/2Y + IR_SWAP/RATE/CAD/2D/3M/3Y + IR_SWAP/RATE/CAD/2D/3M/4Y + IR_SWAP/RATE/CAD/2D/3M/5Y + IR_SWAP/RATE/CAD/2D/3M/6Y + IR_SWAP/RATE/CAD/2D/3M/7Y + IR_SWAP/RATE/CAD/2D/3M/8Y + IR_SWAP/RATE/CAD/2D/3M/9Y + IR_SWAP/RATE/CAD/2D/3M/10Y + IR_SWAP/RATE/CAD/2D/3M/15Y + IR_SWAP/RATE/CAD/2D/3M/20Y + IR_SWAP/RATE/CAD/2D/3M/25Y + IR_SWAP/RATE/CAD/2D/3M/30Y + + CAD-3M-SWAP-CONVENTIONS + CAD3M + + + Discount + LogLinear + A365 + 0.00000000000100 + + + CAD-IN-EUR + CAD collateralized in EUR discount curve + CAD + + + + FX Forward + + FXFWD/RATE/EUR/CAD/1D + FXFWD/RATE/EUR/CAD/1W + FXFWD/RATE/EUR/CAD/2W + FXFWD/RATE/EUR/CAD/3W + FXFWD/RATE/EUR/CAD/1M + FXFWD/RATE/EUR/CAD/2M + FXFWD/RATE/EUR/CAD/3M + FXFWD/RATE/EUR/CAD/4M + FXFWD/RATE/EUR/CAD/5M + FXFWD/RATE/EUR/CAD/6M + FXFWD/RATE/EUR/CAD/7M + FXFWD/RATE/EUR/CAD/8M + FXFWD/RATE/EUR/CAD/9M + FXFWD/RATE/EUR/CAD/10M + FXFWD/RATE/EUR/CAD/11M + FXFWD/RATE/EUR/CAD/1Y + + EUR-CAD-FX-CONVENTIONS + EUR1D + FX/RATE/EUR/CAD + + + Cross Currency Basis Swap + + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/CAD/3M/2Y + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/CAD/3M/3Y + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/CAD/3M/4Y + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/CAD/3M/5Y + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/CAD/3M/7Y + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/CAD/3M/10Y + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/CAD/3M/15Y + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/CAD/3M/20Y + + EUR-CAD-XCCY-BASIS-CONVENTIONS + EUR1D + FX/RATE/EUR/CAD + CAD3M + EUR3M + + + Discount + LogLinear + A365 + 0.00000000000100 + + + + CHF1D + CHF discount curve bootstrapped from TOIS swap rates + CHF + CHF1D + + + Deposit + + MM/RATE/CHF/0D/1D + + CHF-TOIS-CONVENTIONS + + + OIS + + IR_SWAP/RATE/CHF/2D/1D/1M + IR_SWAP/RATE/CHF/2D/1D/2M + IR_SWAP/RATE/CHF/2D/1D/3M + IR_SWAP/RATE/CHF/2D/1D/6M + IR_SWAP/RATE/CHF/2D/1D/9M + IR_SWAP/RATE/CHF/2D/1D/1Y + IR_SWAP/RATE/CHF/2D/1D/2Y + IR_SWAP/RATE/CHF/2D/1D/3Y + IR_SWAP/RATE/CHF/2D/1D/4Y + IR_SWAP/RATE/CHF/2D/1D/5Y + IR_SWAP/RATE/CHF/2D/1D/6Y + IR_SWAP/RATE/CHF/2D/1D/7Y + IR_SWAP/RATE/CHF/2D/1D/8Y + IR_SWAP/RATE/CHF/2D/1D/9Y + IR_SWAP/RATE/CHF/2D/1D/10Y + IR_SWAP/RATE/CHF/2D/1D/12Y + IR_SWAP/RATE/CHF/2D/1D/15Y + IR_SWAP/RATE/CHF/2D/1D/20Y + IR_SWAP/RATE/CHF/2D/1D/25Y + IR_SWAP/RATE/CHF/2D/1D/30Y + + + CHF-OIS-CONVENTIONS + + + Discount + LogLinear + A365 + 0.000000000001 + + + CHF3M + + CHF + + + + Deposit + + MM/RATE/CHF/2D/3M + + CHF-LIBOR-CONVENTIONS + CHF3M + + + Tenor Basis Swap + + BASIS_SWAP/BASIS_SPREAD/6M/3M/CHF/1Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/CHF/2Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/CHF/3Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/CHF/4Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/CHF/5Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/CHF/7Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/CHF/10Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/CHF/12Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/CHF/15Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/CHF/20Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/CHF/25Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/CHF/30Y + + CHF-LIBOR-3M-6M-BASIS-CONVENTIONS + CHF6M + CHF3M + + + + + CHF6M + + CHF + + + + Deposit + + MM/RATE/CHF/2D/6M + + CHF-LIBOR-CONVENTIONS + CHF6M + + + Swap + + IR_SWAP/RATE/CHF/2D/6M/1Y + IR_SWAP/RATE/CHF/2D/6M/2Y + IR_SWAP/RATE/CHF/2D/6M/3Y + IR_SWAP/RATE/CHF/2D/6M/4Y + IR_SWAP/RATE/CHF/2D/6M/5Y + IR_SWAP/RATE/CHF/2D/6M/6Y + IR_SWAP/RATE/CHF/2D/6M/7Y + IR_SWAP/RATE/CHF/2D/6M/8Y + IR_SWAP/RATE/CHF/2D/6M/9Y + IR_SWAP/RATE/CHF/2D/6M/10Y + IR_SWAP/RATE/CHF/2D/6M/12Y + IR_SWAP/RATE/CHF/2D/6M/15Y + IR_SWAP/RATE/CHF/2D/6M/20Y + IR_SWAP/RATE/CHF/2D/6M/25Y + IR_SWAP/RATE/CHF/2D/6M/30Y + + CHF-6M-SWAP-CONVENTIONS + CHF6M + + + + + CHF-IN-EUR + CHF collateralized in EUR discount curve + CHF + + + + FX Forward + + FXFWD/RATE/EUR/CHF/1D + FXFWD/RATE/EUR/CHF/1W + FXFWD/RATE/EUR/CHF/2W + FXFWD/RATE/EUR/CHF/3W + FXFWD/RATE/EUR/CHF/1M + FXFWD/RATE/EUR/CHF/2M + FXFWD/RATE/EUR/CHF/3M + FXFWD/RATE/EUR/CHF/4M + FXFWD/RATE/EUR/CHF/5M + FXFWD/RATE/EUR/CHF/6M + FXFWD/RATE/EUR/CHF/7M + FXFWD/RATE/EUR/CHF/8M + FXFWD/RATE/EUR/CHF/9M + FXFWD/RATE/EUR/CHF/10M + FXFWD/RATE/EUR/CHF/11M + FXFWD/RATE/EUR/CHF/1Y + + EUR-CHF-FX-CONVENTIONS + EUR1D + FX/RATE/EUR/CHF + + + Cross Currency Basis Swap + + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/CHF/3M/2Y + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/CHF/3M/3Y + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/CHF/3M/4Y + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/CHF/3M/5Y + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/CHF/3M/7Y + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/CHF/3M/10Y + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/CHF/3M/15Y + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/CHF/3M/20Y + + EUR-CHF-XCCY-BASIS-CONVENTIONS + EUR1D + FX/RATE/EUR/CHF + CHF3M + EUR3M + + + Discount + LogLinear + A365 + 0.00000000000100 + + + + + DKK3M + + DKK + + + + Deposit + + MM/RATE/DKK/2D/3M + + DKK-DEPOSIT + DKK3M + + + Tenor Basis Two Swaps + + BASIS_SWAP/BASIS_SPREAD/6M/3M/DKK/1Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/DKK/2Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/DKK/3Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/DKK/4Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/DKK/5Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/DKK/6Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/DKK/7Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/DKK/8Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/DKK/9Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/DKK/10Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/DKK/15Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/DKK/20Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/DKK/30Y + + DKK-CIBOR-3M-6M-BASIS-CONVENTIONS + DKK6M + DKK3M + + + + + DKK6M + + DKK + + + + Deposit + + MM/RATE/DKK/2D/6M + + DKK-DEPOSIT + DKK6M + + + Swap + + IR_SWAP/RATE/DKK/2D/6M/1Y + IR_SWAP/RATE/DKK/2D/6M/2Y + IR_SWAP/RATE/DKK/2D/6M/3Y + IR_SWAP/RATE/DKK/2D/6M/4Y + IR_SWAP/RATE/DKK/2D/6M/5Y + IR_SWAP/RATE/DKK/2D/6M/6Y + IR_SWAP/RATE/DKK/2D/6M/7Y + IR_SWAP/RATE/DKK/2D/6M/8Y + IR_SWAP/RATE/DKK/2D/6M/9Y + IR_SWAP/RATE/DKK/2D/6M/10Y + IR_SWAP/RATE/DKK/2D/6M/12Y + IR_SWAP/RATE/DKK/2D/6M/15Y + IR_SWAP/RATE/DKK/2D/6M/20Y + IR_SWAP/RATE/DKK/2D/6M/25Y + IR_SWAP/RATE/DKK/2D/6M/30Y + + DKK-6M-SWAP-CONVENTIONS + DKK6M + + + + + DKK-IN-EUR + DKK collateralized in EUR discount curve + DKK + + + + FX Forward + + FXFWD/RATE/EUR/DKK/1D + FXFWD/RATE/EUR/DKK/1W + FXFWD/RATE/EUR/DKK/2W + FXFWD/RATE/EUR/DKK/3W + FXFWD/RATE/EUR/DKK/1M + FXFWD/RATE/EUR/DKK/2M + FXFWD/RATE/EUR/DKK/3M + FXFWD/RATE/EUR/DKK/4M + FXFWD/RATE/EUR/DKK/5M + FXFWD/RATE/EUR/DKK/6M + FXFWD/RATE/EUR/DKK/7M + FXFWD/RATE/EUR/DKK/8M + FXFWD/RATE/EUR/DKK/9M + FXFWD/RATE/EUR/DKK/10M + FXFWD/RATE/EUR/DKK/11M + FXFWD/RATE/EUR/DKK/1Y + + EUR-DKK-FX-CONVENTIONS + EUR1D + FX/RATE/EUR/DKK + + + Cross Currency Basis Swap + + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/DKK/3M/2Y + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/DKK/3M/3Y + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/DKK/3M/4Y + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/DKK/3M/5Y + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/DKK/3M/7Y + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/DKK/3M/10Y + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/DKK/3M/15Y + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/DKK/3M/20Y + + EUR-DKK-XCCY-BASIS-CONVENTIONS + EUR1D + FX/RATE/EUR/DKK + DKK3M + EUR3M + + + Discount + LogLinear + A365 + 0.00000000000100 + + + + + EUR3M + + EUR + EUR1D + + + Deposit + + MM/RATE/EUR/2D/3M + + EUR-EURIBOR-CONVENTIONS + EUR3M + + + Tenor Basis Two Swaps + + BASIS_SWAP/BASIS_SPREAD/6M/3M/EUR/1Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/EUR/2Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/EUR/3Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/EUR/4Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/EUR/5Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/EUR/6Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/EUR/7Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/EUR/8Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/EUR/9Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/EUR/10Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/EUR/12Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/EUR/15Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/EUR/20Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/EUR/25Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/EUR/30Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/EUR/40Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/EUR/50Y + + EUR-EURIBOR-3M-6M-BASIS-CONVENTIONS + EUR6M + EUR3M + + + Discount + LogLinear + A365 + 0.00000000000100 + + + EUR6M + + EUR + EUR1D + + + Deposit + + MM/RATE/EUR/2D/6M + + EUR-EURIBOR-CONVENTIONS + EUR6M + + + FRA + + FRA/RATE/EUR/1M/6M + FRA/RATE/EUR/2M/6M + FRA/RATE/EUR/3M/6M + FRA/RATE/EUR/4M/6M + FRA/RATE/EUR/5M/6M + FRA/RATE/EUR/6M/6M + FRA/RATE/EUR/7M/6M + FRA/RATE/EUR/8M/6M + FRA/RATE/EUR/9M/6M + FRA/RATE/EUR/10M/6M + FRA/RATE/EUR/11M/6M + FRA/RATE/EUR/1Y/6M + + EUR-6M-FRA-CONVENTIONS + EUR6M + + + Swap + + IR_SWAP/RATE/EUR/2D/6M/2Y + IR_SWAP/RATE/EUR/2D/6M/3Y + IR_SWAP/RATE/EUR/2D/6M/4Y + IR_SWAP/RATE/EUR/2D/6M/5Y + IR_SWAP/RATE/EUR/2D/6M/7Y + IR_SWAP/RATE/EUR/2D/6M/10Y + IR_SWAP/RATE/EUR/2D/6M/12Y + IR_SWAP/RATE/EUR/2D/6M/15Y + IR_SWAP/RATE/EUR/2D/6M/20Y + IR_SWAP/RATE/EUR/2D/6M/25Y + IR_SWAP/RATE/EUR/2D/6M/30Y + IR_SWAP/RATE/EUR/2D/6M/50Y + + EUR-6M-SWAP-CONVENTIONS + EUR6M + + + Discount + LogLinear + A365 + 0.00000000000100 + + + EUR12M + + EUR + EUR1D + + + Deposit + + MM/RATE/EUR/2D/1Y + + EUR-EURIBOR-CONVENTIONS + EUR12M + + + Tenor Basis Two Swaps + + BASIS_SWAP/BASIS_SPREAD/12M/6M/EUR/2Y + BASIS_SWAP/BASIS_SPREAD/12M/6M/EUR/3Y + BASIS_SWAP/BASIS_SPREAD/12M/6M/EUR/4Y + BASIS_SWAP/BASIS_SPREAD/12M/6M/EUR/5Y + BASIS_SWAP/BASIS_SPREAD/12M/6M/EUR/6Y + BASIS_SWAP/BASIS_SPREAD/12M/6M/EUR/7Y + BASIS_SWAP/BASIS_SPREAD/12M/6M/EUR/8Y + BASIS_SWAP/BASIS_SPREAD/12M/6M/EUR/9Y + BASIS_SWAP/BASIS_SPREAD/12M/6M/EUR/10Y + BASIS_SWAP/BASIS_SPREAD/12M/6M/EUR/12Y + BASIS_SWAP/BASIS_SPREAD/12M/6M/EUR/15Y + BASIS_SWAP/BASIS_SPREAD/12M/6M/EUR/20Y + BASIS_SWAP/BASIS_SPREAD/12M/6M/EUR/25Y + BASIS_SWAP/BASIS_SPREAD/12M/6M/EUR/30Y + + EUR-EURIBOR-6M-12M-BASIS-CONVENTIONS + EUR12M + EUR6M + + + Discount + LogLinear + A365 + 0.00000000000100 + + + EUR1D + EUR discount curve bootstrapped from EONIA swap rates + EUR + + + + Deposit + + MM/RATE/EUR/0D/1D + + EUR-EONIA-CONVENTIONS + + + OIS + + IR_SWAP/RATE/EUR/2D/1D/1M + IR_SWAP/RATE/EUR/2D/1D/2M + IR_SWAP/RATE/EUR/2D/1D/3M + IR_SWAP/RATE/EUR/2D/1D/6M + IR_SWAP/RATE/EUR/2D/1D/1Y + IR_SWAP/RATE/EUR/2D/1D/2Y + IR_SWAP/RATE/EUR/2D/1D/3Y + IR_SWAP/RATE/EUR/2D/1D/4Y + IR_SWAP/RATE/EUR/2D/1D/5Y + IR_SWAP/RATE/EUR/2D/1D/6Y + IR_SWAP/RATE/EUR/2D/1D/7Y + IR_SWAP/RATE/EUR/2D/1D/8Y + IR_SWAP/RATE/EUR/2D/1D/9Y + IR_SWAP/RATE/EUR/2D/1D/10Y + IR_SWAP/RATE/EUR/2D/1D/12Y + IR_SWAP/RATE/EUR/2D/1D/15Y + IR_SWAP/RATE/EUR/2D/1D/20Y + IR_SWAP/RATE/EUR/2D/1D/25Y + IR_SWAP/RATE/EUR/2D/1D/30Y + + EUR-OIS-CONVENTIONS + + + Discount + LogLinear + A365 + 0.00000000000100 + + + + + GBP1D + + GBP + GBP1D + + + OIS + + IR_SWAP/RATE/GBP/0D/1D/1M + IR_SWAP/RATE/GBP/0D/1D/2M + IR_SWAP/RATE/GBP/0D/1D/3M + IR_SWAP/RATE/GBP/0D/1D/6M + IR_SWAP/RATE/GBP/0D/1D/9M + IR_SWAP/RATE/GBP/0D/1D/1Y + IR_SWAP/RATE/GBP/0D/1D/2Y + IR_SWAP/RATE/GBP/0D/1D/3Y + IR_SWAP/RATE/GBP/0D/1D/4Y + IR_SWAP/RATE/GBP/0D/1D/5Y + IR_SWAP/RATE/GBP/0D/1D/6Y + IR_SWAP/RATE/GBP/0D/1D/7Y + IR_SWAP/RATE/GBP/0D/1D/8Y + IR_SWAP/RATE/GBP/0D/1D/9Y + IR_SWAP/RATE/GBP/0D/1D/10Y + IR_SWAP/RATE/GBP/0D/1D/12Y + IR_SWAP/RATE/GBP/0D/1D/15Y + IR_SWAP/RATE/GBP/0D/1D/20Y + IR_SWAP/RATE/GBP/0D/1D/25Y + IR_SWAP/RATE/GBP/0D/1D/30Y + + + + + GBP-OIS-CONVENTIONS + GBP1D + + + + + GBP3M + + GBP + + + + Deposit + + MM/RATE/GBP/0D/3M + + GBP-DEPOSIT + GBP3M + + + Tenor Basis Swap + + BASIS_SWAP/BASIS_SPREAD/6M/3M/GBP/1Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/GBP/2Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/GBP/3Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/GBP/4Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/GBP/5Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/GBP/7Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/GBP/10Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/GBP/12Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/GBP/15Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/GBP/20Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/GBP/30Y + + GBP-LIBOR-3M-6M-BASIS-CONVENTIONS + GBP6M + GBP3M + + + Discount + LogLinear + A365 + 0.00000000000100 + + + GBP6M + + GBP + + + + Deposit + + MM/RATE/GBP/0D/6M + + GBP-DEPOSIT + GBP6M + + + Swap + + IR_SWAP/RATE/GBP/0D/6M/1Y + IR_SWAP/RATE/GBP/0D/6M/2Y + IR_SWAP/RATE/GBP/0D/6M/3Y + IR_SWAP/RATE/GBP/0D/6M/4Y + IR_SWAP/RATE/GBP/0D/6M/5Y + IR_SWAP/RATE/GBP/0D/6M/6Y + IR_SWAP/RATE/GBP/0D/6M/7Y + IR_SWAP/RATE/GBP/0D/6M/8Y + IR_SWAP/RATE/GBP/0D/6M/9Y + IR_SWAP/RATE/GBP/0D/6M/10Y + IR_SWAP/RATE/GBP/0D/6M/12Y + IR_SWAP/RATE/GBP/0D/6M/15Y + IR_SWAP/RATE/GBP/0D/6M/20Y + IR_SWAP/RATE/GBP/0D/6M/25Y + IR_SWAP/RATE/GBP/0D/6M/30Y + + GBP-6M-SWAP-CONVENTIONS + GBP6M + + + Discount + LogLinear + A365 + 0.00000000000100 + + + GBP-IN-EUR + GBP collateralized in EUR discount curve + GBP + + + + FX Forward + + FXFWD/RATE/EUR/GBP/1D + FXFWD/RATE/EUR/GBP/1W + FXFWD/RATE/EUR/GBP/2W + FXFWD/RATE/EUR/GBP/3W + FXFWD/RATE/EUR/GBP/1M + FXFWD/RATE/EUR/GBP/2M + FXFWD/RATE/EUR/GBP/3M + FXFWD/RATE/EUR/GBP/4M + FXFWD/RATE/EUR/GBP/5M + FXFWD/RATE/EUR/GBP/6M + FXFWD/RATE/EUR/GBP/7M + FXFWD/RATE/EUR/GBP/8M + FXFWD/RATE/EUR/GBP/9M + FXFWD/RATE/EUR/GBP/10M + FXFWD/RATE/EUR/GBP/11M + FXFWD/RATE/EUR/GBP/1Y + + EUR-GBP-FX-CONVENTIONS + EUR1D + FX/RATE/EUR/GBP + + + Cross Currency Basis Swap + + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/GBP/3M/2Y + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/GBP/3M/3Y + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/GBP/3M/4Y + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/GBP/3M/5Y + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/GBP/3M/7Y + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/GBP/3M/10Y + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/GBP/3M/15Y + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/GBP/3M/20Y + + EUR-GBP-XCCY-BASIS-CONVENTIONS + EUR1D + FX/RATE/EUR/GBP + GBP3M + EUR3M + + + Discount + LogLinear + A365 + 0.00000000000100 + + + + JPY1D + JPY discount curve bootstrapped from MUTAN swap rates + JPY + JPY1D + + + OIS + + IR_SWAP/RATE/JPY/2D/1D/1M + IR_SWAP/RATE/JPY/2D/1D/2M + IR_SWAP/RATE/JPY/2D/1D/3M + IR_SWAP/RATE/JPY/2D/1D/6M + IR_SWAP/RATE/JPY/2D/1D/9M + IR_SWAP/RATE/JPY/2D/1D/1Y + IR_SWAP/RATE/JPY/2D/1D/2Y + IR_SWAP/RATE/JPY/2D/1D/3Y + IR_SWAP/RATE/JPY/2D/1D/4Y + IR_SWAP/RATE/JPY/2D/1D/5Y + IR_SWAP/RATE/JPY/2D/1D/6Y + IR_SWAP/RATE/JPY/2D/1D/7Y + IR_SWAP/RATE/JPY/2D/1D/8Y + IR_SWAP/RATE/JPY/2D/1D/9Y + IR_SWAP/RATE/JPY/2D/1D/10Y + IR_SWAP/RATE/JPY/2D/1D/12Y + IR_SWAP/RATE/JPY/2D/1D/15Y + IR_SWAP/RATE/JPY/2D/1D/20Y + IR_SWAP/RATE/JPY/2D/1D/25Y + IR_SWAP/RATE/JPY/2D/1D/30Y + IR_SWAP/RATE/JPY/2D/1D/40Y + + JPY-OIS-CONVENTIONS + + + Discount + LogLinear + A365 + 0.000000000001 + + + JPY3M + + JPY + + + + Deposit + + MM/RATE/JPY/2D/3M + + JPY-LIBOR-CONVENTIONS + JPY3M + + + Tenor Basis Swap + + BASIS_SWAP/BASIS_SPREAD/6M/3M/JPY/1Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/JPY/2Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/JPY/3Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/JPY/4Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/JPY/5Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/JPY/6Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/JPY/7Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/JPY/8Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/JPY/9Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/JPY/10Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/JPY/15Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/JPY/20Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/JPY/30Y + + JPY-LIBOR-3M-6M-BASIS-CONVENTIONS + JPY6M + JPY3M + + + + + JPY6M + + JPY + + + + Deposit + + MM/RATE/JPY/0D/1D + + JPY-TIBOR-CONVENTIONS + JPY6M + + + Deposit + + MM/RATE/JPY/2D/6M + + JPY-LIBOR-CONVENTIONS + JPY6M + + + Swap + + IR_SWAP/RATE/JPY/2D/6M/1Y + IR_SWAP/RATE/JPY/2D/6M/2Y + IR_SWAP/RATE/JPY/2D/6M/3Y + IR_SWAP/RATE/JPY/2D/6M/4Y + IR_SWAP/RATE/JPY/2D/6M/5Y + IR_SWAP/RATE/JPY/2D/6M/6Y + IR_SWAP/RATE/JPY/2D/6M/7Y + IR_SWAP/RATE/JPY/2D/6M/8Y + IR_SWAP/RATE/JPY/2D/6M/9Y + IR_SWAP/RATE/JPY/2D/6M/10Y + IR_SWAP/RATE/JPY/2D/6M/12Y + IR_SWAP/RATE/JPY/2D/6M/15Y + IR_SWAP/RATE/JPY/2D/6M/20Y + IR_SWAP/RATE/JPY/2D/6M/25Y + IR_SWAP/RATE/JPY/2D/6M/30Y + + JPY-LIBOR-6M-SWAP-CONVENTIONS + JPY6M + + + + + JPY-IN-EUR + JPY collateralized in EUR discount curve + JPY + + + + FX Forward + + FXFWD/RATE/EUR/JPY/1D + FXFWD/RATE/EUR/JPY/1W + FXFWD/RATE/EUR/JPY/2W + FXFWD/RATE/EUR/JPY/3W + FXFWD/RATE/EUR/JPY/1M + FXFWD/RATE/EUR/JPY/2M + FXFWD/RATE/EUR/JPY/3M + FXFWD/RATE/EUR/JPY/4M + FXFWD/RATE/EUR/JPY/5M + FXFWD/RATE/EUR/JPY/6M + FXFWD/RATE/EUR/JPY/7M + FXFWD/RATE/EUR/JPY/8M + FXFWD/RATE/EUR/JPY/9M + FXFWD/RATE/EUR/JPY/10M + FXFWD/RATE/EUR/JPY/11M + FXFWD/RATE/EUR/JPY/1Y + + EUR-JPY-FX-CONVENTIONS + EUR1D + FX/RATE/EUR/JPY + + + Cross Currency Basis Swap + + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/JPY/3M/2Y + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/JPY/3M/3Y + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/JPY/3M/4Y + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/JPY/3M/5Y + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/JPY/3M/7Y + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/JPY/3M/10Y + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/JPY/3M/15Y + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/JPY/3M/20Y + + EUR-JPY-XCCY-BASIS-CONVENTIONS + EUR1D + FX/RATE/EUR/JPY + JPY3M + EUR3M + + + Discount + LogLinear + A365 + 0.00000000000100 + + + + NOK3M + + NOK + + + + Deposit + + MM/RATE/NOK/2D/3M + + NOK-DEPOSIT + NOK3M + + + Tenor Basis Two Swaps + + BASIS_SWAP/BASIS_SPREAD/6M/3M/NOK/1Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/NOK/2Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/NOK/3Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/NOK/4Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/NOK/5Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/NOK/6Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/NOK/7Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/NOK/8Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/NOK/9Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/NOK/10Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/NOK/15Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/NOK/20Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/NOK/30Y + + NOK-NIBOR-3M-6M-BASIS-CONVENTIONS + NOK6M + NOK3M + + + + + NOK6M + + NOK + + + + Deposit + + MM/RATE/NOK/2D/6M + + NOK-DEPOSIT + NOK6M + + + Swap + + IR_SWAP/RATE/NOK/2D/6M/1Y + IR_SWAP/RATE/NOK/2D/6M/2Y + IR_SWAP/RATE/NOK/2D/6M/3Y + IR_SWAP/RATE/NOK/2D/6M/4Y + IR_SWAP/RATE/NOK/2D/6M/5Y + IR_SWAP/RATE/NOK/2D/6M/7Y + IR_SWAP/RATE/NOK/2D/6M/10Y + IR_SWAP/RATE/NOK/2D/6M/12Y + IR_SWAP/RATE/NOK/2D/6M/15Y + IR_SWAP/RATE/NOK/2D/6M/20Y + IR_SWAP/RATE/NOK/2D/6M/25Y + IR_SWAP/RATE/NOK/2D/6M/30Y + + NOK-6M-SWAP-CONVENTIONS + NOK6M + + + + + NOK-IN-EUR + NOK collateralized in EUR discount curve + NOK + + + + FX Forward + + FXFWD/RATE/EUR/NOK/1D + FXFWD/RATE/EUR/NOK/1W + FXFWD/RATE/EUR/NOK/2W + FXFWD/RATE/EUR/NOK/3W + FXFWD/RATE/EUR/NOK/1M + FXFWD/RATE/EUR/NOK/2M + FXFWD/RATE/EUR/NOK/3M + FXFWD/RATE/EUR/NOK/4M + FXFWD/RATE/EUR/NOK/5M + FXFWD/RATE/EUR/NOK/6M + FXFWD/RATE/EUR/NOK/7M + FXFWD/RATE/EUR/NOK/8M + FXFWD/RATE/EUR/NOK/9M + FXFWD/RATE/EUR/NOK/10M + FXFWD/RATE/EUR/NOK/11M + FXFWD/RATE/EUR/NOK/1Y + + EUR-NOK-FX-CONVENTIONS + EUR1D + FX/RATE/EUR/NOK + + + Cross Currency Basis Swap + + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/NOK/3M/2Y + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/NOK/3M/3Y + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/NOK/3M/4Y + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/NOK/3M/5Y + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/NOK/3M/7Y + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/NOK/3M/10Y + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/NOK/3M/15Y + + EUR-NOK-XCCY-BASIS-CONVENTIONS + EUR1D + FX/RATE/EUR/NOK + NOK3M + EUR3M + + + Discount + LogLinear + A365 + 0.00000000000100 + + + + NZD3M + + NZD + + + + Deposit + + MM/RATE/NZD/2D/3M + + NZD-DEPOSIT + NZD3M + + + Swap + + IR_SWAP/RATE/NZD/2D/3M/1Y + IR_SWAP/RATE/NZD/2D/3M/2Y + IR_SWAP/RATE/NZD/2D/3M/3Y + IR_SWAP/RATE/NZD/2D/3M/4Y + IR_SWAP/RATE/NZD/2D/3M/5Y + IR_SWAP/RATE/NZD/2D/3M/7Y + IR_SWAP/RATE/NZD/2D/3M/10Y + + NZD-3M-SWAP + NZD3M + + + + + NZD-IN-EUR + NZD collateralized in EUR discount curve + NZD + + + + FX Forward + + FXFWD/RATE/EUR/NZD/1D + FXFWD/RATE/EUR/NZD/1W + FXFWD/RATE/EUR/NZD/2W + FXFWD/RATE/EUR/NZD/3W + FXFWD/RATE/EUR/NZD/1M + FXFWD/RATE/EUR/NZD/2M + FXFWD/RATE/EUR/NZD/3M + FXFWD/RATE/EUR/NZD/4M + FXFWD/RATE/EUR/NZD/5M + FXFWD/RATE/EUR/NZD/6M + FXFWD/RATE/EUR/NZD/7M + FXFWD/RATE/EUR/NZD/8M + FXFWD/RATE/EUR/NZD/9M + FXFWD/RATE/EUR/NZD/10M + FXFWD/RATE/EUR/NZD/11M + FXFWD/RATE/EUR/NZD/1Y + + EUR-NZD-FX-CONVENTIONS + EUR1D + FX/RATE/EUR/NZD + + + Cross Currency Basis Swap + + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/NZD/3M/2Y + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/NZD/3M/3Y + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/NZD/3M/4Y + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/NZD/3M/5Y + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/NZD/3M/7Y + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/NZD/3M/10Y + + EUR-NZD-XCCY-BASIS-CONVENTIONS + EUR1D + FX/RATE/EUR/NZD + NZD3M + EUR3M + + + Discount + LogLinear + A365 + 0.00000000000100 + + + + SEK3M + + SEK + + + + Deposit + + MM/RATE/SEK/2D/3M + + SEK-STIBOR-CONVENTIONS + SEK3M + + + Swap + + IR_SWAP/RATE/SEK/2D/3M/1Y + IR_SWAP/RATE/SEK/2D/3M/2Y + IR_SWAP/RATE/SEK/2D/3M/3Y + IR_SWAP/RATE/SEK/2D/3M/4Y + IR_SWAP/RATE/SEK/2D/3M/5Y + IR_SWAP/RATE/SEK/2D/3M/6Y + IR_SWAP/RATE/SEK/2D/3M/7Y + IR_SWAP/RATE/SEK/2D/3M/8Y + IR_SWAP/RATE/SEK/2D/3M/9Y + IR_SWAP/RATE/SEK/2D/3M/10Y + IR_SWAP/RATE/SEK/2D/3M/12Y + IR_SWAP/RATE/SEK/2D/3M/15Y + IR_SWAP/RATE/SEK/2D/3M/20Y + IR_SWAP/RATE/SEK/2D/3M/25Y + IR_SWAP/RATE/SEK/2D/3M/30Y + + SEK-3M-SWAP-CONVENTIONS + SEK3M + + + + + SEK6M + + SEK + + + + Deposit + + MM/RATE/SEK/2D/6M + + SEK-DEPOSIT + SEK6M + + + Tenor Basis Two Swaps + + BASIS_SWAP/BASIS_SPREAD/6M/3M/SEK/1Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/SEK/2Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/SEK/3Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/SEK/4Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/SEK/5Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/SEK/6Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/SEK/7Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/SEK/8Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/SEK/9Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/SEK/10Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/SEK/20Y + BASIS_SWAP/BASIS_SPREAD/6M/3M/SEK/30Y + + SEK-STIBOR-3M-6M-BASIS-CONVENTIONS + SEK6M + SEK3M + + + + + SEK-IN-EUR + SEK collateralized in EUR discount curve + SEK + + + + FX Forward + + FXFWD/RATE/EUR/SEK/1D + FXFWD/RATE/EUR/SEK/1W + FXFWD/RATE/EUR/SEK/2W + FXFWD/RATE/EUR/SEK/3W + FXFWD/RATE/EUR/SEK/1M + FXFWD/RATE/EUR/SEK/2M + FXFWD/RATE/EUR/SEK/3M + FXFWD/RATE/EUR/SEK/4M + FXFWD/RATE/EUR/SEK/5M + FXFWD/RATE/EUR/SEK/6M + FXFWD/RATE/EUR/SEK/7M + FXFWD/RATE/EUR/SEK/8M + FXFWD/RATE/EUR/SEK/9M + FXFWD/RATE/EUR/SEK/10M + FXFWD/RATE/EUR/SEK/11M + FXFWD/RATE/EUR/SEK/1Y + + EUR-SEK-FX-CONVENTIONS + EUR1D + FX/RATE/EUR/SEK + + + Cross Currency Basis Swap + + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/SEK/3M/2Y + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/SEK/3M/3Y + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/SEK/3M/4Y + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/SEK/3M/5Y + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/SEK/3M/7Y + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/SEK/3M/10Y + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/SEK/3M/15Y + CC_BASIS_SWAP/BASIS_SPREAD/EUR/3M/SEK/3M/20Y + + EUR-SEK-XCCY-BASIS-CONVENTIONS + EUR1D + FX/RATE/EUR/SEK + SEK3M + EUR3M + + + Discount + LogLinear + A365 + 0.00000000000100 + + + + USD1D + USD discount curve bootstrapped from FED FUNDS swap rates + USD + + + + Deposit + + MM/RATE/USD/0D/1D + + USD-FED-FUNDS-CONVENTIONS + + + OIS + + IR_SWAP/RATE/USD/2D/1D/1M + IR_SWAP/RATE/USD/2D/1D/3M + IR_SWAP/RATE/USD/2D/1D/6M + IR_SWAP/RATE/USD/2D/1D/9M + IR_SWAP/RATE/USD/2D/1D/1Y + IR_SWAP/RATE/USD/2D/1D/2Y + IR_SWAP/RATE/USD/2D/1D/3Y + IR_SWAP/RATE/USD/2D/1D/4Y + IR_SWAP/RATE/USD/2D/1D/5Y + IR_SWAP/RATE/USD/2D/1D/6Y + IR_SWAP/RATE/USD/2D/1D/7Y + IR_SWAP/RATE/USD/2D/1D/8Y + IR_SWAP/RATE/USD/2D/1D/9Y + IR_SWAP/RATE/USD/2D/1D/10Y + IR_SWAP/RATE/USD/2D/1D/12Y + IR_SWAP/RATE/USD/2D/1D/15Y + IR_SWAP/RATE/USD/2D/1D/20Y + IR_SWAP/RATE/USD/2D/1D/25Y + IR_SWAP/RATE/USD/2D/1D/30Y + + + USD-OIS-CONVENTIONS + + + Discount + LogLinear + A365 + 0.00000000000100 + + + USD3M + + USD + + + + Deposit + + MM/RATE/USD/2D/3M + + USD-LIBOR-CONVENTIONS + USD3M + + + Swap + + IR_SWAP/RATE/USD/2D/3M/1Y + IR_SWAP/RATE/USD/2D/3M/2Y + IR_SWAP/RATE/USD/2D/3M/3Y + IR_SWAP/RATE/USD/2D/3M/4Y + IR_SWAP/RATE/USD/2D/3M/5Y + IR_SWAP/RATE/USD/2D/3M/6Y + IR_SWAP/RATE/USD/2D/3M/7Y + IR_SWAP/RATE/USD/2D/3M/8Y + IR_SWAP/RATE/USD/2D/3M/9Y + IR_SWAP/RATE/USD/2D/3M/10Y + IR_SWAP/RATE/USD/2D/3M/12Y + IR_SWAP/RATE/USD/2D/3M/15Y + IR_SWAP/RATE/USD/2D/3M/20Y + IR_SWAP/RATE/USD/2D/3M/25Y + IR_SWAP/RATE/USD/2D/3M/30Y + + USD-3M-SWAP-CONVENTIONS + USD3M + + + + + USD-IN-EUR + USD collateralized in EUR discount curve + USD + + + + FX Forward + + FXFWD/RATE/EUR/USD/1D + FXFWD/RATE/EUR/USD/1W + FXFWD/RATE/EUR/USD/2W + FXFWD/RATE/EUR/USD/3W + FXFWD/RATE/EUR/USD/1M + FXFWD/RATE/EUR/USD/2M + FXFWD/RATE/EUR/USD/3M + FXFWD/RATE/EUR/USD/4M + FXFWD/RATE/EUR/USD/5M + FXFWD/RATE/EUR/USD/6M + FXFWD/RATE/EUR/USD/7M + FXFWD/RATE/EUR/USD/8M + FXFWD/RATE/EUR/USD/9M + FXFWD/RATE/EUR/USD/10M + FXFWD/RATE/EUR/USD/11M + FXFWD/RATE/EUR/USD/1Y + + EUR-USD-FX-CONVENTIONS + EUR1D + FX/RATE/EUR/USD + + + Cross Currency Basis Swap + + CC_BASIS_SWAP/BASIS_SPREAD/USD/3M/EUR/3M/2Y + CC_BASIS_SWAP/BASIS_SPREAD/USD/3M/EUR/3M/3Y + CC_BASIS_SWAP/BASIS_SPREAD/USD/3M/EUR/3M/4Y + CC_BASIS_SWAP/BASIS_SPREAD/USD/3M/EUR/3M/5Y + CC_BASIS_SWAP/BASIS_SPREAD/USD/3M/EUR/3M/7Y + CC_BASIS_SWAP/BASIS_SPREAD/USD/3M/EUR/3M/10Y + CC_BASIS_SWAP/BASIS_SPREAD/USD/3M/EUR/3M/15Y + CC_BASIS_SWAP/BASIS_SPREAD/USD/3M/EUR/3M/20Y + CC_BASIS_SWAP/BASIS_SPREAD/USD/3M/EUR/3M/30Y + + EUR-USD-XCCY-BASIS-CONVENTIONS + EUR1D + FX/RATE/EUR/USD + USD3M + EUR3M + + + Discount + LogLinear + A365 + 0.00000000000100 + + + + + + SECURITY_1 + Security + BOND/YIELD_SPREAD/SECURITY_1 + RECOVERY_RATE/RATE/SECURITY_1 + + + + + \ No newline at end of file diff --git a/VarInput/Input/pricingengine.xml b/VarInput/Input/pricingengine.xml new file mode 100644 index 0000000..5e6db09 --- /dev/null +++ b/VarInput/Input/pricingengine.xml @@ -0,0 +1,213 @@ + + + LGM + + Bootstrap + CoterminalATM + 0.03 + HullWhite + 0.0001 + 0.01 + Hagan + + Grid + + 10 + 10 + 3.0 + 3.0 + + + + DiscountedCashflows + + DiscountingRiskyBondEngine + + 6M + + + + IborCapModel + + IborCapEngine + + + + BlackOrBachelier + + BlackIborCouponPricer + + 1.0 + Black76 + + + + LinearTSR + + LinearTSRPricer + + 3.0 + 0.0001 + -2.0000 + 0.0 + RateBound + 0.0000001 + 2.0000 + 2.0000 + 0.01 + + + + Hagan + + Numerical + + 1.0 + 0.0 + 0.000001 + 0.0 + Standard + + + + BrigoMercurio + + 0.7 + 0.8 + 0.72 + 0.75 + + Analytic + + 16 + + + + ZeroVol + + 0.7 + 0.8 + 0.72 + 0.75 + + Analytic + + 16 + + + + DiscountedCashflows + + DiscountingCommodityForwardEngine + + + + BlackScholes + + AnalyticEuropeanEngine + + + + DiscountedCashflows + + MidPointCdsEngine + + + + DiscountedCashflows + + DiscountingCrossCurrencySwapEngine + + + + DiscountedCashflows + + DiscountingEquityForwardEngine + + + + BlackScholesMerton + + AnalyticEuropeanEngine + + + + BlackBachelier + + BlackBachelierSwaptionEngine + + + + DiscountedCashflows + + DiscountingFxForwardEngine + + + + GarmanKohlhagen + + AnalyticEuropeanEngine + + + + DiscountedCashflows + + DiscountingSwapEngineOptimised + + + + BlackScholesMerton + + ReplicatingVarianceSwapEngine + + 0.05 + 8 + 11 + + + + YYCapModel + + YYCapEngine + + + + BrigoMercurio + + ECB + + MC + + 1000 + 42 + Y + Y + + + + Generic + + BlackScholes + GaussianCam + USD + false + 3M(1W),1Y(1M),5Y(3M),10Y(1Y),50Y(5Y) + 0.01 + 0.01 + false + false + true + true + + Generic + + MC + 10000 + 10000 + 6 + 24 + false + 1.0 + + + diff --git a/VarInput/Input/sensitivity.xml b/VarInput/Input/sensitivity.xml new file mode 100644 index 0000000..c109407 --- /dev/null +++ b/VarInput/Input/sensitivity.xml @@ -0,0 +1,125 @@ + + + + + Absolute + 0.0001 + 6M,1Y,2Y,3Y,5Y,7Y,10Y,15Y,20Y + + + Absolute + 0.0001 + 6M,1Y,2Y,3Y,5Y,7Y,10Y,15Y,20Y + + + Absolute + 0.0001 + 6M,1Y,2Y,3Y,5Y,7Y,10Y,15Y,20Y + + + Absolute + 0.0001 + 6M,1Y,2Y,3Y,5Y,7Y,10Y,15Y,20Y + + + Absolute + 0.0001 + 6M,1Y,2Y,3Y,5Y,7Y,10Y,15Y,20Y + + + + + + Absolute + 0.0001 + 6M,1Y,2Y,3Y,5Y,7Y,10Y,15Y,20Y + + + Absolute + 0.0001 + 6M,1Y,2Y,3Y,5Y,7Y,10Y,15Y,20Y + + + Absolute + 0.0001 + 6M,1Y,2Y,3Y,5Y,7Y,10Y,15Y,20Y + + + Absolute + 0.0001 + 6M,1Y,2Y,3Y,5Y,7Y,10Y,15Y,20Y + + + Absolute + 0.0001 + 6M,1Y,2Y,3Y,5Y,7Y,10Y,15Y,20Y + + + + + + Relative + 0.01 + + + Relative + 0.01 + + + Relative + 0.01 + + + Relative + 0.01 + + + + + + Relative + 0.01 + 1Y,2Y,3Y,5Y + + + + Relative + 0.01 + 1Y,2Y,3Y,5Y + + + + Relative + 0.01 + 1Y,2Y,3Y,5Y + + + + + + + Relative + 0.01 + 1Y,5Y,7Y,10Y + 1Y,5Y,10Y + + + + + + + Absolute + 0.0001 + 1Y,2Y,3Y,5Y,7Y,10Y + 0.01,0.02,0.03,0.04,0.05 + EUR-EURIBOR-6M + + + + + + DiscountCurve/EUR,DiscountCurve/EUR + IndexCurve/EUR,IndexCurve/EUR + DiscountCurve/EUR,IndexCurve/EUR + + diff --git a/VarInput/Input/simulation.xml b/VarInput/Input/simulation.xml new file mode 100644 index 0000000..8c68c71 --- /dev/null +++ b/VarInput/Input/simulation.xml @@ -0,0 +1,326 @@ + + + 236,1M + EUR,AUD,CAD,CHF,GBP,JPY,USD + SobolBrownianBridge + 42 + 1000 + Steps + JoeKuoD7 + A365 + + + Exact + EUR + + EUR + AUD + CAD + CHF + GBP + JPY + USD + + 0.0001 + + + Bootstrap + + Y + Hagan + Piecewise + 1.0, 2.0, 3.0, 4.0, 5.0, 7.0, 10.0 + 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01 + + + N + HullWhite + Constant + + 0.030000000000 + + + 1Y,2Y,4Y,6Y,8Y,10Y,12Y,14Y,16Y,18Y,19Y + 19Y,18Y,16Y,14Y,12Y,10Y,8Y,6Y,4Y,2Y,1Y + + + 0.000000000000 + 1.000000000000 + + + + BestFit + + Y + Hagan + Piecewise + 1.0, 2.0, 3.0, 4.0, 5.0, 7.0 + 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01 + + + N + HullWhite + Constant + + 0.030000000000 + + + 1Y,2Y,4Y,6Y,8Y,10Y,12Y,14Y,16Y,18Y,19Y + 19Y,18Y,16Y,14Y,12Y,10Y,8Y,6Y,4Y,2Y,1Y + + + 0.000000000000 + 1.000000000000 + + + + BestFit + + Y + Hagan + Piecewise + 1.0, 2.0, 3.0, 4.0, 5.0, 7.0 + 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01 + + + N + HullWhite + Constant + + 0.030000000000 + + + 1Y,2Y,4Y,6Y,8Y,10Y,12Y,14Y,16Y,18Y,19Y + 19Y,18Y,16Y,14Y,12Y,10Y,8Y,6Y,4Y,2Y,1Y + + + 0.000000000000 + 1.000000000000 + + + + + + EUR + Bootstrap + + Y + Piecewise + 1.0, 2.0, 3.0, 4.0, 5.0, 7.0, 10.0 + 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1 + + + 1Y, 2Y, 3Y, 4Y, 5Y, 7Y, 10Y + + + + EUR + Bootstrap + + Y + Piecewise + 1.0, 2.0, 3.0, 4.0, 5.0, 7.0, 10.0 + 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1 + + + 1Y, 2Y, 3Y, 4Y, 5Y, 7Y, 10Y + + + + EUR + BestFit + + Y + Piecewise + 1.0, 2.0, 3.0, 5.0, 7.0, 10.0 + 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1 + + + 6M, 1Y, 2Y, 3Y, 5Y, 7Y, 10Y + + + + EUR + BestFit + + Y + Piecewise + 1.0,2.0,3.0,5.0,7.0 + 0.1,0.1,0.1,0.1,0.1,0.1 + + + 1Y, 2Y, 3Y, 5Y, 7Y, 10Y + + + + EUR + BestFit + + Y + Piecewise + 1.0, 2.0, 3.0, 5.0 + 0.1, 0.1, 0.1, 0.1, 0.1 + + + 6M, 1Y, 2Y, 3Y, 5Y + + + + EUR + BestFit + + Y + Piecewise + 1.0, 2.0, 3.0, 4.0, 5.0 + 0.1, 0.1, 0.1, 0.1, 0.1, 0.1 + + + 6M, 1Y, 2Y, 3Y, 4Y, 5Y + + + + + 0.00000000 + 0.00000000 + 0.00000000 + + + + EUR + + AUD + CAD + CHF + EUR + GBP + JPY + USD + + + + 3M,6M,1Y,2Y,3Y,4Y,5Y,7Y,10Y,12Y,15Y,20Y + LogLinear + FlatFwd + + + + AUD-BBSW-6M + AUD-BBSW-3M + CAD-CDOR-3M + CHF-LIBOR-12M + CHF-LIBOR-6M + CHF-LIBOR-3M + EUR-ESTER + EUR-EONIA + EUR-EURIBOR-12M + EUR-EURIBOR-3M + EUR-EURIBOR-6M + EUR-EURIBOR-1M + GBP-LIBOR-6M + GBP-LIBOR-3M + JPY-LIBOR-6M + JPY-LIBOR-3M + USD-LIBOR-3M + USD-SOFR + CHF-SARON + GBP-SONIA + JPY-TONAR + + + + EUR-CMS-10Y + EUR-ESTER + + + EUR-CMS-1Y + EUR-ESTER + + + EUR-CMS-2Y + EUR-ESTER + + + EUR-CMS-30Y + EUR-ESTER + + + GBP-CMS-1Y + GBP-SONIA + + + GBP-CMS-10Y + GBP-SONIA + + + GBP-CMS-30Y + GBP-SONIA + + + + 6M,1Y,2Y + + + + False + ForwardVariance + + AUD + CAD + CHF + EUR + GBP + JPY + USD + + 6M,1Y,2Y,3Y,5Y,10Y,12Y,15Y,20Y + 1Y,2Y,3Y,4Y,5Y,7Y,10Y,15Y,20Y,30Y + + + False + ConstantVariance + + EUR + CHF + + ACT/ACT + 1Y,2Y,3Y,4Y,5Y,6Y,7Y,8Y,9Y,10Y,12Y,15Y,20Y,25Y,30Y + -0.015,-0.0125,-0.01,-0.005,-0.0025,0.00,0.0025,0.005,0.01,0.02,0.03,0.05,0.10 + + + False + ForwardVariance + + USDJPY + EURCHF + EURGBP + + 6M,1Y,2Y,3Y,4Y,5Y,7Y,10Y + + + False + + EUR-CMS-2Y,EUR-EURIBOR-6M + EUR-CMS-2Y,EUR-EURIBOR-3M + EUR-CMS-10Y,EUR-EURIBOR-6M + EUR-CMS-10Y,EUR-EURIBOR-3M + EUR-CMS-10Y,EUR-CMS-2Y + EUR-CMS-30Y,EUR-CMS-2Y + EUR-CMS-30Y,EUR-CMS-10Y + + 1Y,2Y + + + false + + SECURITY_1 + + + + EUR + + + EUR-EONIA + EUR-EURIBOR-3M + + + diff --git a/VarInput/Input/todaysmarket.xml b/VarInput/Input/todaysmarket.xml new file mode 100644 index 0000000..fd5f5cc --- /dev/null +++ b/VarInput/Input/todaysmarket.xml @@ -0,0 +1,218 @@ + + + xois_eur + + + xva + xois_eur + xva + xva + xva + + + xois_eur + xois_eur + + + default + xva + inccy_swap + xva + xva + xva + + + + + + + Yield/AUD/AUD6M + Yield/CAD/CAD3M + Yield/CHF/CHF6M + Yield/DKK/DKK6M + Yield/EUR/EUR6M + Yield/GBP/GBP6M + Yield/JPY/JPY6M + Yield/NOK/NOK6M + Yield/NZD/NZD3M + Yield/SEK/SEK3M + Yield/USD/USD3M + + + + Yield/AUD/AUD-IN-EUR + Yield/CAD/CAD-IN-EUR + Yield/CHF/CHF-IN-EUR + Yield/DKK/DKK-IN-EUR + Yield/EUR/EUR1D + Yield/GBP/GBP-IN-EUR + Yield/JPY/JPY-IN-EUR + Yield/NOK/NOK-IN-EUR + Yield/NZD/NZD-IN-EUR + Yield/SEK/SEK-IN-EUR + Yield/USD/USD-IN-EUR + + + Yield/AUD/AUD6M + Yield/AUD/AUD3M + Yield/CAD/CAD3M + Yield/CHF/CHF3M + Yield/CHF/CHF6M + Yield/CHF/CHF6M + Yield/DKK/DKK3M + Yield/DKK/DKK6M + Yield/EUR/EUR12M + Yield/EUR/EUR1D + Yield/EUR/EUR1D + Yield/EUR/EUR3M + Yield/EUR/EUR3M + Yield/EUR/EUR6M + Yield/GBP/GBP3M + Yield/GBP/GBP6M + Yield/JPY/JPY3M + Yield/JPY/JPY6M + Yield/NOK/NOK3M + Yield/NOK/NOK6M + Yield/NZD/NZD3M + Yield/SEK/SEK3M + Yield/SEK/SEK6M + Yield/USD/USD3M + Yield/GBP/GBP1D + Yield/CHF/CHF1D + Yield/JPY/JPY1D + Yield/USD/USD1D + + + Security/SECURITY_1 + + + + AUD-BBSW-6M + + + AUD-BBSW-6M + + + CAD-CDOR-3M + + + CAD-CDOR-3M + + + DKK-CIBOR-3M + + + DKK-CIBOR-3M + + + CHF-LIBOR-6M + + + CHF-LIBOR-6M + + + EUR-EURIBOR-3M + + + EUR-EURIBOR-6M + + + EUR-EURIBOR-6M + + + EUR-EURIBOR-6M + + + EUR-EURIBOR-6M + + + EUR-EURIBOR-6M + + + EUR-EURIBOR-6M + + + GBP-LIBOR-6M + + + GBP-LIBOR-6M + + + GBP-LIBOR-6M + + + NOK-NIBOR-6M + + + NOK-NIBOR-6M + + + NZD-BKBM-3M + + + NZD-BKBM-3M + + + JPY-LIBOR-6M + + + JPY-LIBOR-6M + + + SEK-STIBOR-3M + + + SEK-STIBOR-3M + + + USD-LIBOR-3M + + + USD-LIBOR-3M + + + + + + + + FX/EUR/AUD + FX/EUR/CAD + FX/EUR/CHF + FX/EUR/DKK + FX/EUR/GBP + FX/EUR/JPY + FX/EUR/NOK + FX/EUR/NZD + FX/EUR/SEK + FX/EUR/USD + + + FXVolatility/AUD/JPY/AUDJPY + FXVolatility/USD/JPY/USDJPY + FXVolatility/EUR/USD/EURUSD + FXVolatility/EUR/GBP/EURGBP + FXVolatility/EUR/CHF/EURCHF + FXVolatility/EUR/JPY/EURJPY + FXVolatility/EUR/CAD/EURCAD + FXVolatility/EUR/AUD/EURAUD + + + SwaptionVolatility/EUR/EUR_SW_N + SwaptionVolatility/AUD/AUD_SW_LN + SwaptionVolatility/CAD/CAD_SW_LN + SwaptionVolatility/CHF/CHF_SW_N + SwaptionVolatility/GBP/GBP_SW_N + SwaptionVolatility/JPY/JPY_SW_N + SwaptionVolatility/USD/USD_SW_N + + + CapFloorVolatility/EUR/EUR_CF_N + CapFloorVolatility/CHF/CHF_CF_N + + + + + + + diff --git a/VarInput/README.md b/VarInput/README.md new file mode 100644 index 0000000..64c9fb5 --- /dev/null +++ b/VarInput/README.md @@ -0,0 +1,27 @@ +# VarInput.py + +A tool to put together scenarios for historic simulation and calculate a variance covariance matrix from the scenarios, which can be used in analytic VAR calculations. + +Customize input files to the needed ones: + +`historicmarketdataFile = "Input/histmarketdata.txt"` +`fixingdataFile = "Input/Fixingdata.txt"` +`curveconfigFile = "Input/curveconfig.xml"` +`conventionsFile = "Input/conventions.xml"` +`pricingengineFile = "Input/pricingengine.xml"` +`todaysmarketFile = "Input/todaysmarket.xml"` +`simulationFile = "Input/simulation.xml"` +`sensitivityFile = "Input/sensitivity.xml"` + +And also the output files can be customized: + +`outputcovarianceFile = 'covariance.csv'` +`outputscenariosFile = 'scenarios.csv'` + +Furthermore +- a historic marketdata file is required, which is essentially a collection of ORE marketdata files for various historic dates. +- a fixing data file is needed. + +If there are any missing market data leading to incomplete calculations of scenarios, the user is prompted to either remove these missing data points or cancel the calculation to repair the missing market data. + +Module requirements: numpy, pandas, ORE and lxml \ No newline at end of file diff --git a/VarInput/VarInput.py b/VarInput/VarInput.py new file mode 100644 index 0000000..834ec49 --- /dev/null +++ b/VarInput/VarInput.py @@ -0,0 +1,198 @@ +import numpy as np +import pandas as pd +import os +import ORE as ore +from lxml import etree +from warnings import simplefilter +simplefilter(action="ignore", category=pd.errors.PerformanceWarning) + +# input files +historicmarketdataFile = "Input/histmarketdata.txt" +fixingdataFile = "Input/Fixingdata.txt" +curveconfigFile = "Input/curveconfig.xml" +conventionsFile = "Input/conventions.xml" +pricingengineFile = "Input/pricingengine.xml" +todaysmarketFile = "Input/todaysmarket.xml" +simulationFile = "Input/simulation.xml" +sensitivityFile = "Input/sensitivity.xml" +# output files +outputcovarianceFile = 'covariance.csv' +outputscenariosFile = 'scenarios.csv' + +def decodeXML(filename): + if not os.path.isfile(filename): + print("no file " + filename + " found!") + os._exit(1) + return etree.tostring(etree.parse(filename)).decode('UTF-8') + +def check(app): + errors = app.getErrors() + time = app.getRunTime() + print ("%.2f sec, %d errors" % (time, len(errors))) + if len(errors) > 0: + for e in errors: + print(e) + return False + else: + return True + +def ql_period_in_years(periodStr): + period = ore.Period(periodStr) + units = period.units() + if units == ore.Days: + denominator = 365 + elif units == ore.Weeks: + denominator = 52 + elif units == ore.Months: + denominator = 12 + elif units == ore.Years: + denominator = 1 + else: + print("unhandled period unit " + str(units)) + os._exit(1) + return period.length() / denominator + +# prepare historic market data for iterative scenario analytic +if not os.path.isfile(historicmarketdataFile): + print("no file " + historicmarketdataFile + " found!") + os._exit(1) +df = pd.read_csv(historicmarketdataFile,sep='\t') +df["wholeLine"] = df["Date"].astype(str)+"\t"+df["Name"]+"\t"+df["Value"].astype(str) +df["Date"] = pd.to_datetime(df["Date"],format="%Y%m%d") + +# set up ORE for running scenario analytic +inputs = ore.InputParameters() +inputs.setResultsPath(".") +inputs.setAllFixings(True) +inputs.setEntireMarket(True) +inputs.setCurveConfigs(decodeXML(curveconfigFile)) +inputs.setConventions(decodeXML(conventionsFile)) +inputs.setPricingEngine(decodeXML(pricingengineFile)) +inputs.setTodaysMarketParams(decodeXML(todaysmarketFile)) +inputs.insertAnalytic("SCENARIO") +inputs.setScenarioSimMarketParams(decodeXML(simulationFile)) + +# get YieldCurve Tenors from simulation.xml for converting discount factors and fxspot rates +simmarketDef = etree.parse(simulationFile) +tenors = simmarketDef.find("./Market/YieldCurves/Configuration/Tenors").text.split(",") +tenorsYrs = [ ql_period_in_years(period) for period in tenors] + +# get information from sensitivity.xml for shifting +if not os.path.isfile(sensitivityFile): + print("no file " + sensitivityFile + " found!") + os._exit(1) +sensitivityDef = etree.parse(sensitivityFile) +values = {} +for el in sensitivityDef.iterfind("./"): + if el.tag == "CrossGammaFilter": + continue + for subEl in el.iterfind("./"): + # need to change for FXSpot (from scenario report) <> FxSpot (from sensitivity.xml) + startPattern = (subEl.tag if subEl.tag != "FxSpot" else "FXSpot") + "/" + subEl.attrib.values()[0] + shiftSize = float(subEl.find("./ShiftSize").text) + shiftType = subEl.find("./ShiftType").text + if shiftType in values: + if shiftSize in values[shiftType]: + values[shiftType][shiftSize].append(startPattern) + else: + values[shiftType][shiftSize] = [] + else: + values[shiftType] = {} + values[shiftType][shiftSize] = [] + values[shiftType][shiftSize].append(startPattern) + +if not os.path.isfile(fixingdataFile): + print("no file " + fixingdataFile + " found!") + os._exit(1) +with open(fixingdataFile) as f: + fixingsdata = ore.StrVector(f.read().splitlines()) + +# create scenarios file as well +if os.path.isfile(outputscenariosFile): + os.remove(outputscenariosFile) +file=open(outputscenariosFile, 'w') + +headerRow = "" +dfriskfact = pd.DataFrame() +for scenDate in df["Date"].unique(): + # get marketdata block from history + marketdata = df[df["Date"] == scenDate]["wholeLine"].tolist() + inputs.setAsOfDate(scenDate.strftime("%Y-%m-%d")) + + # run scenario report + oreapp = ore.OREApp(inputs, "log.txt", 63, True) + oreapp.run(marketdata,fixingsdata) + if not check(oreapp): + os._exit(1) + report = oreapp.getReport("scenario") + + # write historic scenarios, first create headerRow only once ... + if headerRow == "": + for i in range(report.columns()): + headerRow += report.header(i)+("\t" if i difference to delayed +if (finalDf.isna().any().sum() > 0): + print("following dates have missing data:") + print(finalDf.loc[finalDf.isna().any(axis=1),finalDf.isnull().any()]) + ret = input("should these be removed (maybe business holiday) or [c]ancel to repair input data?") + if ret == 'c': + os._exit(1) + finalDf.dropna(axis=1,inplace=True) +varcovar = np.cov(finalDf) + +# output covariance file in ORE format +if os.path.isfile(outputcovarianceFile): + os.remove(outputcovarianceFile) +file=open(outputcovarianceFile, 'w') +for x in range(0, varcovar.shape[0]): + for y in range(x, varcovar.shape[1]): + vcov = varcovar[x,y] + file.write(str(finalDf.index[x]) + "\t" + str(finalDf.index[y]) + "\t%.2f" % vcov + "\n") From 7d87c3c70ff3ac72c4725c817a2cccad0d0c2eb6 Mon Sep 17 00:00:00 2001 From: rkapl123 Date: Thu, 20 Jun 2024 17:09:12 +0200 Subject: [PATCH 2/3] added option to configure files externally fixed missing column headers in histmarketdata --- VarInput/README.md | 8 +++++--- VarInput/VarInput.py | 8 ++++++++ 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/VarInput/README.md b/VarInput/README.md index 64c9fb5..47ec3cd 100644 --- a/VarInput/README.md +++ b/VarInput/README.md @@ -17,11 +17,13 @@ And also the output files can be customized: `outputcovarianceFile = 'covariance.csv'` `outputscenariosFile = 'scenarios.csv'` - + +These settings can also be configured in a separate file called `VarInput.config` in the same folder, which is executed if it exists. + Furthermore -- a historic marketdata file is required, which is essentially a collection of ORE marketdata files for various historic dates. +- a historic market data file is required, which is essentially a collection of ORE market data for various historic dates. - a fixing data file is needed. If there are any missing market data leading to incomplete calculations of scenarios, the user is prompted to either remove these missing data points or cancel the calculation to repair the missing market data. -Module requirements: numpy, pandas, ORE and lxml \ No newline at end of file +Module requirements: numpy, pandas, lxml and ORE (version 1.8.12.1) \ No newline at end of file diff --git a/VarInput/VarInput.py b/VarInput/VarInput.py index 834ec49..ce846ab 100644 --- a/VarInput/VarInput.py +++ b/VarInput/VarInput.py @@ -19,6 +19,13 @@ outputcovarianceFile = 'covariance.csv' outputscenariosFile = 'scenarios.csv' +# override standard config with VarInput.config +if os.path.isfile('VarInput.config'): + with open('VarInput.config', 'r') as file: + config = file.read() + b = compile(config, 'VarInput.config', 'exec') + exec(b) + def decodeXML(filename): if not os.path.isfile(filename): print("no file " + filename + " found!") @@ -57,6 +64,7 @@ def ql_period_in_years(periodStr): print("no file " + historicmarketdataFile + " found!") os._exit(1) df = pd.read_csv(historicmarketdataFile,sep='\t') +df.columns = ["Date", "Name", "Value"] df["wholeLine"] = df["Date"].astype(str)+"\t"+df["Name"]+"\t"+df["Value"].astype(str) df["Date"] = pd.to_datetime(df["Date"],format="%Y%m%d") From ae4d8730ade5af420828573374ee6bd33ff1711a Mon Sep 17 00:00:00 2001 From: rkapl123 Date: Sun, 4 Aug 2024 13:12:50 +0200 Subject: [PATCH 3/3] fixed reading of histmarketdata.txt (header None) added column check for insufficient report data --- VarInput/README.md | 15 +++++++----- VarInput/VarInput.py | 56 ++++++++++++++++++++++++++------------------ 2 files changed, 42 insertions(+), 29 deletions(-) diff --git a/VarInput/README.md b/VarInput/README.md index 47ec3cd..ce52cff 100644 --- a/VarInput/README.md +++ b/VarInput/README.md @@ -1,6 +1,6 @@ # VarInput.py -A tool to put together scenarios for historic simulation and calculate a variance covariance matrix from the scenarios, which can be used in analytic VAR calculations. +A tool to create a scenario file for historic simulation VAR and simultaneously calculate a variance covariance matrix from these scenarios, which can be used in analytic VAR calculations. Customize input files to the needed ones: @@ -18,12 +18,15 @@ And also the output files can be customized: `outputcovarianceFile = 'covariance.csv'` `outputscenariosFile = 'scenarios.csv'` -These settings can also be configured in a separate file called `VarInput.config` in the same folder, which is executed if it exists. +These settings can also be configured in a separate file called `VarInput.config` in the same folder, which is compiled/executed if it exists. -Furthermore -- a historic market data file is required, which is essentially a collection of ORE market data for various historic dates. +Apart from the ORE config files (curveconfig, conventions, pricingengine, todaysmarket, simulation and sensitivity) +- a historic market data file is required, which is essentially a concatenation of several ORE market data files for the required historic dates. - a fixing data file is needed. -If there are any missing market data leading to incomplete calculations of scenarios, the user is prompted to either remove these missing data points or cancel the calculation to repair the missing market data. +The sensitivity configuration is actually not required for the scenario report, it is used by the tool to derive the required differential calculation method for the input of the variance covariance calculation. -Module requirements: numpy, pandas, lxml and ORE (version 1.8.12.1) \ No newline at end of file +The results of the first historic data are regarded as a reference for the required columns (I don't check the simulation.xml), +if there are any missing subsequent market data, the results of the scenario report are discarded with a warning. + +Module requirements: numpy, pandas, lxml and ORE (tested with version 1.8.12.1) \ No newline at end of file diff --git a/VarInput/VarInput.py b/VarInput/VarInput.py index ce846ab..4d14ca8 100644 --- a/VarInput/VarInput.py +++ b/VarInput/VarInput.py @@ -21,6 +21,7 @@ # override standard config with VarInput.config if os.path.isfile('VarInput.config'): + print("found VarInput.config, reading config from there") with open('VarInput.config', 'r') as file: config = file.read() b = compile(config, 'VarInput.config', 'exec') @@ -60,15 +61,17 @@ def ql_period_in_years(periodStr): return period.length() / denominator # prepare historic market data for iterative scenario analytic +print("reading historicmarketdataFile") if not os.path.isfile(historicmarketdataFile): print("no file " + historicmarketdataFile + " found!") os._exit(1) -df = pd.read_csv(historicmarketdataFile,sep='\t') +df = pd.read_csv(historicmarketdataFile,sep='\t',header=None) df.columns = ["Date", "Name", "Value"] df["wholeLine"] = df["Date"].astype(str)+"\t"+df["Name"]+"\t"+df["Value"].astype(str) df["Date"] = pd.to_datetime(df["Date"],format="%Y%m%d") # set up ORE for running scenario analytic +print("set up ORE for running scenario analytic") inputs = ore.InputParameters() inputs.setResultsPath(".") inputs.setAllFixings(True) @@ -95,7 +98,7 @@ def ql_period_in_years(periodStr): if el.tag == "CrossGammaFilter": continue for subEl in el.iterfind("./"): - # need to change for FXSpot (from scenario report) <> FxSpot (from sensitivity.xml) + # need to change name for FXSpot (from scenario report) <> FxSpot (from sensitivity.xml) startPattern = (subEl.tag if subEl.tag != "FxSpot" else "FXSpot") + "/" + subEl.attrib.values()[0] shiftSize = float(subEl.find("./ShiftSize").text) shiftType = subEl.find("./ShiftType").text @@ -115,14 +118,16 @@ def ql_period_in_years(periodStr): with open(fixingdataFile) as f: fixingsdata = ore.StrVector(f.read().splitlines()) -# create scenarios file as well +# create scenarios file as well for output of historic scenarios if os.path.isfile(outputscenariosFile): os.remove(outputscenariosFile) file=open(outputscenariosFile, 'w') headerRow = "" dfriskfact = pd.DataFrame() +columnCount = int # the expected column count, this is taken from the report for the first historic date which should be sufficient for the required output columns for scenDate in df["Date"].unique(): + print("starting ORE scenario report for " + str(scenDate)) # get marketdata block from history marketdata = df[df["Date"] == scenDate]["wholeLine"].tolist() inputs.setAsOfDate(scenDate.strftime("%Y-%m-%d")) @@ -136,34 +141,39 @@ def ql_period_in_years(periodStr): # write historic scenarios, first create headerRow only once ... if headerRow == "": - for i in range(report.columns()): - headerRow += report.header(i)+("\t" if i difference to delayed if (finalDf.isna().any().sum() > 0):