1717import java .math .RoundingMode ;
1818import java .time .LocalDate ;
1919import java .time .LocalDateTime ;
20+ import java .time .LocalTime ;
2021import java .util .List ;
22+ import java .util .ArrayList ;
2123import java .util .Map ;
2224import java .util .Optional ;
2325import java .util .stream .Collectors ;
@@ -104,9 +106,10 @@ private AnalyticModel getCalibratedModel(CalibrationDataset calibrationDataset,
104106 final CalibrationParserDataItems parser = new CalibrationParserDataItems ();
105107 try {
106108 final Stream <CalibrationSpecProvider > calibrationItems = calibrationDataset .getDataAsCalibrationDataPointStream (parser );
107- List <CalibrationDataItem > fixings = calibrationDataset .getDataPoints ().stream ().filter (
108- cdi -> cdi .getSpec ().getProductName ().equals (FIXING )).toList ();
109-
109+ List <CalibrationDataItem > fixings = calibrationDataset .getDataPoints ().stream ()
110+ .filter (cdi -> cdi .getSpec ().getProductName ().equals (FIXING ))
111+ .collect (Collectors .toCollection (ArrayList ::new ));
112+ fixings .add (addMissingFixing ());
110113 Calibrator calibrator = new Calibrator (fixings , new CalibrationContextImpl (marketDataTime , 1E-9 ));
111114 final Optional <CalibrationResult > optionalCalibrationResult = calibrator .calibrateModel (calibrationItems , new CalibrationContextImpl (marketDataTime , 1E-9 ));
112115
@@ -117,6 +120,17 @@ private AnalyticModel getCalibratedModel(CalibrationDataset calibrationDataset,
117120 }
118121 }
119122
123+ /*
124+ <item>
125+ <id>EURIBOR6MD=</id>
126+ <value>0.02146</value>
127+ <timeStamp>20251113-140046</timeStamp>
128+ </item>
129+ */
130+ private CalibrationDataItem addMissingFixing () {
131+ CalibrationDataItem .Spec missingFixingSpec = new CalibrationDataItem .Spec ("EURIBOR6MD=" , "Euribor6M" , "Fixing" , "6M" );
132+ return new CalibrationDataItem (missingFixingSpec , 0.02146 , LocalDateTime .of (LocalDate .of (2025 ,11 ,13 ), LocalTime .of (14 , 00 , 46 )));
133+ }
120134
121135 // Search for the nearest ESTR fixing and add it to the calibration items as 1-day discount rate proxy
122136 private void addOvernightDepositRate (CalibrationDataset calibrationDataset ) {
0 commit comments