IMM Dates
Table of Contents
1. Summary
Two different sets of quarterly dates trade under the name "IMM date", and they are not the same dates. This page states both, because the difference matters to the resolver, and records which one ORE Studio models.
| Convention | Dates | Used by |
|---|---|---|
| True IMM date | The third Wednesday of March, June, September, December — between the 15th and the 21st | Exchange-traded money-market and FX futures and options (Eurodollar, Short Sterling) |
| CDS roll date | 20 March, 20 June, 20 September, 20 December, exactly, weekend or not | Credit default swap termination dates and quarterly premium dates |
The second set is the one usually meant by "IMM date" in a credit context. It is not the IMM date at all: it falls close to it, so the market calls it that by abuse of language. The difference is visible in almost any quarter — in March 2027 the third Wednesday is the 17th, while the CDS roll date is the 20th, a Saturday.
2. Which one this project models, and why
The resolver's ROLL_QUARTER schedule models the CDS roll date: the 20th of
the quarter month, exactly, with no business-day adjustment. Its only consumer
is CREDIT_CDS_IMM, a credit convention, and the CDS rule is the one that
underpins it. The absence of a business-day adjustment is the point of the
rule rather than an omission: CDS standardisation fixes one termination date
per series so that every contract in the series matures on the same day, and
the date is allowed to fall on a weekend. Advancing it to the next business
day would resolve two contracts in one series to different dates.
The true IMM date — the third Wednesday — is not modelled. Exchange-traded
STIR futures, which use it, have no resolver schedule today. Adding one means
a second schedule alongside ROLL_QUARTER, not a change to it, because the
two rules disagree in most quarters. See the gap noted under "Uses" below.
3. Detail
3.1. Definition and notation
The true IMM date is the third Wednesday of March, June, September, or
December. The CDS roll date is the 20th of those months, without adjustment.
Notation nIMM refers to rolling forward by n quarters (e.g. IMM3 is three
roll dates forward), and it inherits the same ambiguity: in a credit
document it counts 20ths, and in a futures document it counts third
Wednesdays. Unlike a standard
tenor, neither date is
computed relative to a horizon
date by calendar arithmetic — each is one of a fixed set of four dates per
year, and "the next roll date" or "IMM3 from here" is a lookup into that
fixed set, not an arithmetic offset.
3.2. The roll schedule in the resolution model
In the unified tenor model (decided 2026-08-09 — see
Tenor's "How a tenor
resolves" section), the CDS roll dates are the ROLL_QUARTER schedule:
closed-form, derivable by rule (the 20th of the quarter month, exactly),
so the dates stay code-side in the resolver rather than being seeded as
data. A CDS tenor resolves under SCHEDULE_STEP as "anchor + calendar
offset, then n steps along ROLL_QUARTER": 1Y 1RQ is one year offset
plus one roll step. The old IMM_ROLL algorithm row is superseded —
CREDIT_CDS_IMM migrates to SCHEDULE_STEP; only the IMM_ROLL
anchor name survives, as a measured_from value. The code model is
documented in
Tenor and Curve
Bootstrapping Architecture.
3.3. Uses
- As an alternative bucketing scheme for position reporting, alongside
standard monthly tenor
buckets. This use wants the true IMM dates, so it is not served by
ROLL_QUARTERtoday. - In CDS curves, where all standard tenors resolve relative to the nearest
following CDS roll date rather than to the horizon date directly — see
Tenor's Credit/CDS Curves
convention, which this fixed roll-date set underpins. This is the use
ROLL_QUARTERserves.
3.4. Gap: the true IMM date has no schedule
Exchange-traded STIR futures settle on the true IMM date — the third
Wednesday — and
Interest Rate Curves's
Short-Term Interest Rate (STIR) Futures section has the nearest IMM quarterly
contract discounted back to fill the 6M--2Y gap. Nothing in the resolver
computes that date today, and ROLL_QUARTER cannot stand in for it: the two
rules disagree in most quarters. A futures IMM schedule is a second schedule
alongside ROLL_QUARTER, and it is not built.
4. See also
- Term Structures and Tenors — the hub.
- Tenor — the Credit/CDS Curves convention built on IMM roll dates.
- Interest Rate Curves — STIR futures bootstrapping off the nearest IMM contract.
- FOMC Dates — the sibling fixed-schedule concept for the central bank's own meeting calendar; not to be confused with IMM dates.
- Tenor and Curve Bootstrapping Architecture — the
ROLL_QUARTERschedule andSCHEDULE_STEPresolution in code.