6x3s Basis BS3 Calibration

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

@stephen can I kindly get your thoughts on this one please.