Pillar

Table of Contents

Summary

A pillar is a tenor point that is actually used to build a term structure — a maturity at which a real instrument is quoted and bootstrapped into the curve, rather than merely a label from the standard tenor set. Every pillar is a tenor, but not every tenor is a pillar for a given curve: which subset of the standard tenor labels is actually quoted (and therefore a pillar) as opposed to filled in by interpolation depends on the curve type and the liquidity of the underlying instrument at that point.

Detail

Pillar vs. tenor

Tenor is the more general term: a symbolic label (O/N, 1M, 5Y) identifying a point in time relative to a horizon date, independent of whether any curve actually carries a quoted value there. Pillar is narrower and curve-specific: it names the tenors that are live inputs to a particular term structure's construction — the points a bootstrapping routine consumes directly, rather than the points it produces by interpolating between them. 6Y, 8Y, and 9Y are standard tenor labels, for example, but on many curves they are not pillars at all — no instrument is quoted at those maturities, and their value is obtained purely by interpolating between the 5Y, 7Y, and 10Y pillars that are (see Tenor's standard tenor labels table for further examples of this gap).

Why the distinction matters

Conflating "tenor" and "pillar" obscures a real structural fact about a curve: which points are observed and which are derived. A pricer or risk system that treats every tenor point as equally quoted is blind to the difference between a value that came directly from the market and one that is a mathematical consequence of the interpolation method chosen — the same distinction Curve Point Provenance's proposed derivation kind field would make explicit and persistent per point. Pillar is the term for identifying that subset in general discussion; provenance is the mechanism for recording it per point once implemented.

Pillar range and count

A term structure's pillars are bounded by the curve's Term Structure Extent — the finite range within which pillars can exist at all, beyond which the curve is filled by extrapolation or flattening rather than by any further quoted point. The specific pillars within that range differ by curve family — see Interest Rate Curves for the concrete instrument-to-pillar mapping used for interest rate curves.

Pillars in code: the bootstrap pillar list

A bootstrapped curve's pillars are not free-floating tenor labels: they are rows of ir_curve_bootstrap_pillars under an ir_curve_bootstrap_configs curve config. Each row carries a start_tenor_code, an end_tenor_code, a curve_role_code (DEPOSIT=/=FRA=/=SWAP) and a sequence_index, and the row order is the fixed-leg schedule: a SWAP pillar's fixed-leg dates are the end dates of all prior pillars plus its own. Two facts make the end tenor code load-bearing: it doubles as the point id the bootstrap resolver looks the observed quote up by in the raw grid (market_observations), and a pillar whose end code has no quote fails loudly. A curve config also carries a split_tenor_code marking where the short-end and long-end interpolation methods divide. Pillars whose tenors resolve through a schedule axis (FOMC 1F..=nF=, IMM roll tenors) land in the same rows — the FOMC segment is SPOT→1F, 1F→2F, …, nF→split under one config. The full chain is documented in Tenor and Curve Bootstrapping Architecture.

See also

Emacs 29.3 (Org mode 9.6.15)