Prioritizing Rate Helpers by Removing Duplicate Pillar Dates
Summary
The document asks how to give three-month SOFR futures precedence over one-month futures when bootstrapping a term curve alongside SOFR swaps. It describes a practical selection rule: inspect the existing rate helpers for a matching pillar date before adding another instrument, and skip the new helper if that date is already represented. This lets the programmer control which instrument supplies a curve point when multiple instruments share a pillar.
The evidence is a brief report that this approach worked for the author’s curve setup; no code, numerical comparison, or broader validation is provided. The note does not establish a general QuantLib priority setting, nor does it discuss how to handle instruments with distinct pillar dates, interpolation choices, or calibration errors. Its lesson is a narrow implementation technique for avoiding duplicate pillars, with instrument selection managed while assembling the helper list.
Key ideas
- When instruments share a pillar date, the helper list can be filtered to retain the preferred instrument.
- Check each candidate helper against the pillar dates already present before adding it.
- The reported example gave three-month SOFR futures precedence over one-month futures.
- The method controls duplicate pillar selection externally during helper construction.
Tags
Full text
# Setting Bootstrapping priority # Setting Bootstrapping priority I'm currently trying to bootstrap a SOFRTERM curve using CME 1M SOFR futures, 3M SOFR futures and SOFR swap rates. For no particular reason I want to use the 3M futures as a priority over the 1M futures. I'm using the SofrFutureRateHelper and OISRateHelper helper functions to add the instruments. My question is, can I enforce a priority using quantlib functionality e.g 3M, then 1M, then swaps on to the bootstrapping process, or is this something that must be managed externally to the ql objects (i.e by the programmer) and hence only instruments that are required for bootstrapping can be added. I hope that made sense !! ## Answer by Stephen Ellis NZ (score 1) https://quant.stackexchange.com/a/81474 I was able to iterate through the existing helpers list looking for a duplicate Pillar date to the helper I was intending to add. If the PillarDate already existed in the helpers list then it was ignored else added. This seems to have worked.
Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.