Thank you for the release 1.0! It seems more stable and fast.
Unfortunately the zero curve calibration is still somewhat inaccurate. Given a set of deposits (till 8M + stub), a set of six following futures and then swaps to 60Y, only the deposit part has a mean error of E-14. From the first future, the error becomes instantly E-5 and even worse.
Since the benchmark curve is point-based, I’m directly comparing Strata Curve “parameters” with benchmark points (linear interpolation for both). I also tried comparing the discount factors at same dates but the problem remains.
The curve settings are:
EUR-STD,Zero,Act/365F,Linear,Flat,Flat
The group settings are:
EUR-Standard,Discount,EUR,EUR-STD
EUR-Standard,Forward,EUR-EURIBOR-3M,EUR-STD
EUR-Standard,Forward,EUR-EURIBOR-6M,EUR-STD
The calibration nodes are:
EUR-STD,ON,OG-Ticker,EUR-ON,MarketValue,DEP,EUR-ShortDeposit-T0,1D,
EUR-STD,TN,OG-Ticker,EUR-TN,MarketValue,DEP,EUR-ShortDeposit-T1,1D,
EUR-STD,SN,OG-Ticker,EUR-SN,MarketValue,DEP,EUR-ShortDeposit-T2,1D,
EUR-STD,1W,OG-Ticker,EUR-1W,MarketValue,DEP,EUR-ShortDeposit-T2,1W,
EUR-STD,2W,OG-Ticker,EUR-2W,MarketValue,DEP,EUR-ShortDeposit-T2,2W,
EUR-STD,3W,OG-Ticker,EUR-3W,MarketValue,DEP,EUR-ShortDeposit-T2,3W,
EUR-STD,1M,OG-Ticker,EUR-1M,MarketValue,DEP,EUR-Deposit-T2,1M,
EUR-STD,2M,OG-Ticker,EUR-2M,MarketValue,DEP,EUR-Deposit-T2,2M,
EUR-STD,3M,OG-Ticker,EUR-3M,MarketValue,DEP,EUR-Deposit-T2,3M,
EUR-STD,4M,OG-Ticker,EUR-4M,MarketValue,DEP,EUR-Deposit-T2,4M,
EUR-STD,5M,OG-Ticker,EUR-5M,MarketValue,DEP,EUR-Deposit-T2,5M,
EUR-STD,6M,OG-Ticker,EUR-6M,MarketValue,DEP,EUR-Deposit-T2,6M,
EUR-STD,7M,OG-Ticker,EUR-7M,MarketValue,DEP,EUR-Deposit-T2,7M,
EUR-STD,8M,OG-Ticker,EUR-8M,MarketValue,DEP,EUR-Deposit-T2,8M,
EUR-STD,STUB,OG-Ticker,STUB,MarketValue,DEP,EUR-Deposit-T2,P8M4D,
EUR-STD,Mar17,OG-Future,Mar17,SettlementPrice,IFU,EUR-EURIBOR-3M-Quarterly-IMM,7D+3,
EUR-STD,Jun17,OG-Future,Jun17,SettlementPrice,IFU,EUR-EURIBOR-3M-Quarterly-IMM,7D+4,
EUR-STD,Sep17,OG-Future,Sep17,SettlementPrice,IFU,EUR-EURIBOR-3M-Quarterly-IMM,7D+5,
EUR-STD,Dec17,OG-Future,Dec17,SettlementPrice,IFU,EUR-EURIBOR-3M-Quarterly-IMM,7D+6,
EUR-STD,Mar18,OG-Future,Mar18,SettlementPrice,IFU,EUR-EURIBOR-3M-Quarterly-IMM,7D+7,
EUR-STD,Jun18,OG-Future,Jun18,SettlementPrice,IFU,EUR-EURIBOR-3M-Quarterly-IMM,7D+8,
EUR-STD,3Y,OG-Ticker,EUR-IRS6M-3Y,MarketValue,IRS,EUR-FIXED-1Y-EURIBOR-6M,3Y,
EUR-STD,4Y,OG-Ticker,EUR-IRS6M-4Y,MarketValue,IRS,EUR-FIXED-1Y-EURIBOR-6M,4Y,
EUR-STD,5Y,OG-Ticker,EUR-IRS6M-5Y,MarketValue,IRS,EUR-FIXED-1Y-EURIBOR-6M,5Y,
EUR-STD,6Y,OG-Ticker,EUR-IRS6M-6Y,MarketValue,IRS,EUR-FIXED-1Y-EURIBOR-6M,6Y,
… and so on
Quotes are:
2016-07-07,OG-Ticker,EUR-ON,MarketValue,-0.003699999
2016-07-07,OG-Ticker,EUR-TN,MarketValue,-0.0037
2016-07-07,OG-Ticker,EUR-SN,MarketValue,-0.0037
2016-07-07,OG-Ticker,EUR-1W,MarketValue,-0.0037
2016-07-07,OG-Ticker,EUR-2W,MarketValue,-0.0037
2016-07-07,OG-Ticker,EUR-3W,MarketValue,-0.0037
2016-07-07,OG-Ticker,EUR-1M,MarketValue,-0.0036
2016-07-07,OG-Ticker,EUR-2M,MarketValue,-0.0032
2016-07-07,OG-Ticker,EUR-3M,MarketValue,-0.0029
2016-07-07,OG-Ticker,EUR-4M,MarketValue,-0.0025
2016-07-07,OG-Ticker,EUR-5M,MarketValue,-0.0022
2016-07-07,OG-Ticker,EUR-6M,MarketValue,-0.0018
2016-07-07,OG-Ticker,EUR-7M,MarketValue,-0.0016
2016-07-07,OG-Ticker,EUR-8M,MarketValue,-0.0014
2016-07-07,OG-Ticker,STUB,MarketValue,-0.0013862069
2016-07-07,OG-Future,Mar17,SettlementPrice,1.003825
2016-07-07,OG-Future,Jun17,SettlementPrice,1.003975
2016-07-07,OG-Future,Sep17,SettlementPrice,1.004025
2016-07-07,OG-Future,Dec17,SettlementPrice,1.004125
2016-07-07,OG-Future,Mar18,SettlementPrice,1.004125
2016-07-07,OG-Future,Jun18,SettlementPrice,1.004125
2016-07-07,OG-Ticker,EUR-IRS6M-3Y,MarketValue,-0.00239
2016-07-07,OG-Ticker,EUR-IRS6M-4Y,MarketValue,-0.00215
2016-07-07,OG-Ticker,EUR-IRS6M-5Y,MarketValue,-0.00165
2016-07-07,OG-Ticker,EUR-IRS6M-6Y,MarketValue,-0.00092
… and so on
Maybe I am doing something wrong, but I followed the Calibration Examples in Strata source.
Thank you for your time. I hope that together we will find out the problem.
EDIT: to be thorough, benchmark quotes (cut at 6Y) are
-0.003751407
-0.003751437
-0.003751431
-0.003751492
-0.003751609
-0.003751737
-0.003662094
-0.003275567
-0.002975121
-0.002574093
-0.002270083
-0.00186681
-0.001661529
-0.001457572
-0.001443504
-0.00209635
-0.002520221
-0.002784454
-0.002987352
-0.003143395
-0.003261472
-0.002383656
-0.002145337
-0.001648484
-0.0009204