Hi team,
I am trying to calibrate the AUD curve.
The curve trades on a 3M frequency out to 3y and then to a 6M frequency from 4y and out. Calibration file below:
Curve Name | Label | Symbology | Ticker | Field Name | Type | Convention | Time | Date |
---|---|---|---|---|---|---|---|---|
AUD-Disc | DS-3M | OG-Ticker | AUD-ONI-3M | MarketValue | ONI | AUD-AONIA-3M-BBSW-3M | 3M | |
#AUD-Disc | DS-6M | OG-Ticker | AUD-OIS-6M | MarketValue | OIS | AUD-FIXED-TERM-AONIA-OIS | 6M | |
AUD-Disc | DS-1Y | OG-Ticker | AUD-ONI-1Y | MarketValue | ONI | AUD-AONIA-3M-BBSW-3M | 1Y | |
AUD-Disc | DS-2Y | OG-Ticker | AUD-ONI-2Y | MarketValue | ONI | AUD-AONIA-3M-BBSW-3M | 2Y | |
AUD-Disc | DS-3Y | OG-Ticker | AUD-ONI-3Y | MarketValue | ONI | AUD-AONIA-3M-BBSW-3M | 3Y | |
AUD-Disc | DS-4Y | OG-Ticker | AUD-ONI-4Y | MarketValue | ONI | AUD-AONIA-3M-BBSW-3M | 4Y | |
AUD-Disc | DS-5Y | OG-Ticker | AUD-ONI-5Y | MarketValue | ONI | AUD-AONIA-3M-BBSW-3M | 5Y | |
AUD-Disc | DS-6Y | OG-Ticker | AUD-ONI-6Y | MarketValue | ONI | AUD-AONIA-3M-BBSW-3M | 6Y | |
AUD-Disc | DS-7Y | OG-Ticker | AUD-ONI-7Y | MarketValue | ONI | AUD-AONIA-3M-BBSW-3M | 7Y | |
AUD-Disc | DS-8Y | OG-Ticker | AUD-ONI-8Y | MarketValue | ONI | AUD-AONIA-3M-BBSW-3M | 8Y | |
AUD-Disc | DS-9Y | OG-Ticker | AUD-ONI-9Y | MarketValue | ONI | AUD-AONIA-3M-BBSW-3M | 9Y | |
AUD-Disc | DS-10Y | OG-Ticker | AUD-ONI-10Y | MarketValue | ONI | AUD-AONIA-3M-BBSW-3M | 10Y | |
AUD-Disc | DS-12Y | OG-Ticker | AUD-ONI-12Y | MarketValue | ONI | AUD-AONIA-3M-BBSW-3M | 12Y | |
AUD-Disc | DS-15Y | OG-Ticker | AUD-ONI-15Y | MarketValue | ONI | AUD-AONIA-3M-BBSW-3M | 15Y | |
AUD-Disc | DS-20Y | OG-Ticker | AUD-ONI-20Y | MarketValue | ONI | AUD-AONIA-3M-BBSW-3M | 20Y | |
AUD-Disc | DS-25Y | OG-Ticker | AUD-ONI-25Y | MarketValue | ONI | AUD-AONIA-3M-BBSW-3M | 25Y | |
AUD-Disc | DS-30Y | OG-Ticker | AUD-ONI-30Y | MarketValue | ONI | AUD-AONIA-3M-BBSW-3M | 30Y | |
AUD-IRS | FIX-3M | OG-Ticker | AUD-FIX-B3M | MarketValue | FIX | AUD-BBSW-3M | ||
AUD-IRS | FUT1 | OG-Future | IR1 | SettlementPrice | IFU | AUD-BBSW-3M-IMM-ASX | 0D+1 | |
AUD-IRS | FUT2 | OG-Future | IR2 | SettlementPrice | IFU | AUD-BBSW-3M-IMM-ASX | 0D+2 | |
AUD-IRS | FUT3 | OG-Future | IR3 | SettlementPrice | IFU | AUD-BBSW-3M-IMM-ASX | 0D+3 | |
AUD-IRS | FUT4 | OG-Future | IR4 | SettlementPrice | IFU | AUD-BBSW-3M-IMM-ASX | 0D+4 | |
AUD-IRS | FUT5 | OG-Future | IR5 | SettlementPrice | IFU | AUD-BBSW-3M-IMM-ASX | 0D+5 | |
AUD-IRS | FUT6 | OG-Future | IR6 | SettlementPrice | IFU | AUD-BBSW-3M-IMM-ASX | 0D+6 | |
AUD-IRS | FUT7 | OG-Future | IR7 | SettlementPrice | IFU | AUD-BBSW-3M-IMM-ASX | 0D+7 | |
AUD-IRS | FUT8 | OG-Future | IR8 | SettlementPrice | IFU | AUD-BBSW-3M-IMM-ASX | 0D+8 | |
#AUD-IRS | FUT9 | OG-Future | IR9 | SettlementPrice | IFU | AUD-BBSW-3M-IMM-ASX | 0D+9 | |
#AUD-IRS | FUT10 | OG-Future | IR10 | SettlementPrice | IFU | AUD-BBSW-3M-IMM-ASX | 0D+10 | |
#AUD-IRS | FUT11 | OG-Future | IR11 | SettlementPrice | IFU | AUD-BBSW-3M-IMM-ASX | 0D+11 | |
#AUD-IRS | FUT12 | OG-Future | IR12 | SettlementPrice | IFU | AUD-BBSW-3M-IMM-ASX | 0D+12 | |
#AUD-IRS | IRS-1Y | OG-Ticker | AUD-IRS3M-1Y | MarketValue | IRS | AUD-FIXED-3M-BBSW-3M | 1Y | |
#AUD-IRS | IRS-2Y | OG-Ticker | AUD-IRS3M-2Y | MarketValue | IRS | AUD-FIXED-3M-BBSW-3M | 2Y | |
AUD-IRS | IRS-3Y | OG-Ticker | AUD-IRS3M-3Y | MarketValue | IRS | AUD-FIXED-3M-BBSW-3M | 3Y | |
AUD-IRS | IRS-4Y | OG-Ticker | AUD-IRS6M-4Y | MarketValue | IRS | AUD-FIXED-6M-BBSW-6M | 4Y | |
AUD-IRS | IRS-5Y | OG-Ticker | AUD-IRS6M-5Y | MarketValue | IRS | AUD-FIXED-6M-BBSW-6M | 5Y | |
AUD-IRS | IRS-6Y | OG-Ticker | AUD-IRS6M-6Y | MarketValue | IRS | AUD-FIXED-6M-BBSW-6M | 6Y | |
AUD-IRS | IRS-7Y | OG-Ticker | AUD-IRS6M-7Y | MarketValue | IRS | AUD-FIXED-6M-BBSW-6M | 7Y | |
AUD-IRS | IRS-8Y | OG-Ticker | AUD-IRS6M-8Y | MarketValue | IRS | AUD-FIXED-6M-BBSW-6M | 8Y | |
AUD-IRS | IRS-9Y | OG-Ticker | AUD-IRS6M-9Y | MarketValue | IRS | AUD-FIXED-6M-BBSW-6M | 9Y | |
AUD-IRS | IRS-10Y | OG-Ticker | AUD-IRS6M-10Y | MarketValue | IRS | AUD-FIXED-6M-BBSW-6M | 10Y | |
AUD-IRS | IRS-12Y | OG-Ticker | AUD-IRS6M-12Y | MarketValue | IRS | AUD-FIXED-6M-BBSW-6M | 12Y | |
AUD-IRS | IRS-15Y | OG-Ticker | AUD-IRS6M-15Y | MarketValue | IRS | AUD-FIXED-6M-BBSW-6M | 15Y | |
AUD-IRS | IRS-20Y | OG-Ticker | AUD-IRS6M-20Y | MarketValue | IRS | AUD-FIXED-6M-BBSW-6M | 20Y | |
AUD-IRS | IRS-25Y | OG-Ticker | AUD-IRS6M-25Y | MarketValue | IRS | AUD-FIXED-6M-BBSW-6M | 25Y | |
AUD-IRS | IRS-30Y | OG-Ticker | AUD-IRS6M-30Y | MarketValue | IRS | AUD-FIXED-6M-BBSW-6M | 30Y | |
AUD-BS | BS-3M | OG-Ticker | AUD-BS3M6M-3M | MarketValue | BS3 | AUD-FIXED-1Y-BBSW-3M-BBSW-6M | 3M | |
AUD-BS | BS-1Y | OG-Ticker | AUD-BS3M6M-1Y | MarketValue | BS3 | AUD-FIXED-1Y-BBSW-3M-BBSW-6M | 1Y | |
AUD-BS | BS-2Y | OG-Ticker | AUD-BS3M6M-2Y | MarketValue | BS3 | AUD-FIXED-1Y-BBSW-3M-BBSW-6M | 2Y | |
AUD-BS | BS-3Y | OG-Ticker | AUD-BS3M6M-3Y | MarketValue | BS3 | AUD-FIXED-1Y-BBSW-3M-BBSW-6M | 3Y | |
AUD-BS | BS-4Y | OG-Ticker | AUD-BS3M6M-4Y | MarketValue | BS3 | AUD-FIXED-1Y-BBSW-3M-BBSW-6M | 4Y | |
AUD-BS | BS-5Y | OG-Ticker | AUD-BS3M6M-5Y | MarketValue | BS3 | AUD-FIXED-1Y-BBSW-3M-BBSW-6M | 5Y | |
AUD-BS | BS-6Y | OG-Ticker | AUD-BS3M6M-6Y | MarketValue | BS3 | AUD-FIXED-1Y-BBSW-3M-BBSW-6M | 6Y | |
AUD-BS | BS-7Y | OG-Ticker | AUD-BS3M6M-7Y | MarketValue | BS3 | AUD-FIXED-1Y-BBSW-3M-BBSW-6M | 7Y | |
AUD-BS | BS-8Y | OG-Ticker | AUD-BS3M6M-8Y | MarketValue | BS3 | AUD-FIXED-1Y-BBSW-3M-BBSW-6M | 8Y | |
AUD-BS | BS-9Y | OG-Ticker | AUD-BS3M6M-9Y | MarketValue | BS3 | AUD-FIXED-1Y-BBSW-3M-BBSW-6M | 9Y | |
AUD-BS | BS-10Y | OG-Ticker | AUD-BS3M6M-10Y | MarketValue | BS3 | AUD-FIXED-1Y-BBSW-3M-BBSW-6M | 10Y | |
AUD-BS | BS-12Y | OG-Ticker | AUD-BS3M6M-12Y | MarketValue | BS3 | AUD-FIXED-1Y-BBSW-3M-BBSW-6M | 12Y | |
AUD-BS | BS-15Y | OG-Ticker | AUD-BS3M6M-15Y | MarketValue | BS3 | AUD-FIXED-1Y-BBSW-3M-BBSW-6M | 15Y | |
AUD-BS | BS-20Y | OG-Ticker | AUD-BS3M6M-20Y | MarketValue | BS3 | AUD-FIXED-1Y-BBSW-3M-BBSW-6M | 20Y | |
AUD-BS | BS-25Y | OG-Ticker | AUD-BS3M6M-25Y | MarketValue | BS3 | AUD-FIXED-1Y-BBSW-3M-BBSW-6M | 25Y | |
AUD-BS | BS-30Y | OG-Ticker | AUD-BS3M6M-30Y | MarketValue | BS3 | AUD-FIXED-1Y-BBSW-3M-BBSW-6M | 30Y |
I am using the below settings:
Curve Name | Value Type | Day Count | Interpolator | Left Extrapolator | Right Extrapolator |
---|---|---|---|---|---|
AUD-IRS | Zero | Act/365F | NaturalCubicSpline | FLAT | FLAT |
AUD-Disc | Zero | Act/365F | NaturalCubicSpline | FLAT | FLAT |
AUD-BS | Zero | Act/365F | NaturalCubicSpline | FLAT | FLAT |
I am using the below groups:
Group Name | Curve Type | Reference | Curve Name |
---|---|---|---|
AUD-CURVE | Discount | AUD | AUD-Disc |
AUD-CURVE | Forward | AUD-AONIA | AUD-Disc |
AUD-CURVE | Forward | AUD-BBSW-6M | AUD-IRS |
AUD-CURVE | Forward | AUD-BBSW-3M | AUD-IRS |
AUD-CURVE | Forward | AUD-BBSW-3M | AUD-BS |
When I price a basis trade, I expect the risk to only be projected in the respective curve. For example when I price a Libor vs OIS (BOB) trade my results are in line and I see only DS risk in the above settup.
However, I am coming into a few issues when I price a 6x3s trade sub 3y (where the curve switches frequency). I not only get the 6x3s (BS Curve) risk but also producing IRS delta risk. For example the below is the full risk on a 1y 6x3s trade:
Label | [example~1] |
---|---|
BS-1Y | 79,407 |
BS-2Y | -8,643 |
BS-3Y | -5,751 |
BS-4Y | 303 |
BS-5Y | -62 |
BS-6Y | 53 |
BS-7Y | 27 |
BS-8Y | 35 |
BS-9Y | 23 |
BS-10Y | 29 |
BS-12Y | 45 |
BS-15Y | 33 |
BS-20Y | -29 |
BS-25Y | -58 |
BS-30Y | -18 |
DS-3M | -45 |
DS-1Y | -2,694 |
DS-2Y | 14 |
DS-3Y | 32 |
DS-4Y | -69 |
DS-5Y | 39 |
DS-6Y | 26 |
DS-7Y | 35 |
DS-8Y | 33 |
DS-9Y | 24 |
DS-10Y | 29 |
DS-12Y | 45 |
DS-15Y | 33 |
DS-20Y | -29 |
DS-25Y | -58 |
DS-30Y | -18 |
FIX-3M | -9,627 |
FUT1 | -9,627 |
FUT2 | -9,626 |
FUT3 | -9,626 |
FUT4 | -3,802 |
FUT5 | -1,159 |
FUT6 | 41 |
FUT7 | -22 |
FUT8 | -1,538 |
IRS-3Y | -4,302 |
IRS-4Y | -4,466 |
IRS-5Y | -3,283 |
IRS-6Y | -2,846 |
IRS-7Y | -2,484 |
IRS-8Y | -2,220 |
IRS-9Y | -2,097 |
IRS-10Y | -1,840 |
IRS-12Y | -1,545 |
IRS-15Y | -1,204 |
IRS-20Y | -949 |
IRS-25Y | -861 |
IRS-30Y | -849 |
Below is the risk on a 10y 6x3s trade
Label | [example~1] |
---|---|
BS-1Y | -1,691 |
BS-2Y | -1,427 |
BS-3Y | -620 |
BS-4Y | -907 |
BS-5Y | -1,062 |
BS-6Y | -1,382 |
BS-7Y | -1,399 |
BS-8Y | -2,158 |
BS-9Y | -1,874 |
BS-10Y | 81,667 |
BS-12Y | -0 |
BS-15Y | 4 |
BS-20Y | -3 |
BS-25Y | -6 |
BS-30Y | -2 |
DS-3M | -4 |
DS-1Y | -210 |
DS-2Y | -416 |
DS-3Y | -647 |
DS-4Y | -881 |
DS-5Y | -1,099 |
DS-6Y | -1,346 |
DS-7Y | -1,592 |
DS-8Y | -1,852 |
DS-9Y | -2,136 |
DS-10Y | -2,392 |
DS-12Y | 3 |
DS-15Y | 3 |
DS-20Y | -3 |
DS-25Y | -6 |
DS-30Y | -2 |
FIX-3M | -961 |
FUT1 | -961 |
FUT2 | -961 |
FUT3 | -961 |
FUT4 | -380 |
FUT5 | -117 |
FUT6 | 3 |
FUT7 | -2 |
FUT8 | -113 |
IRS-3Y | -48 |
IRS-4Y | 503 |
IRS-5Y | 773 |
IRS-6Y | 1,080 |
IRS-7Y | 1,379 |
IRS-8Y | 1,461 |
IRS-9Y | 2,134 |
IRS-10Y | 2,126 |
IRS-12Y | -144 |
IRS-15Y | -117 |
IRS-20Y | -91 |
IRS-25Y | -83 |
IRS-30Y | -82 |
The results still produce IRS delta risk however much lower than for trades sub 3y.
Is it possible to calibrate a more accurate curve using strata that switches frequency mid-way through the curve?
Thanks vm?
Yoich