From source to valuation

Curve methodology.

Where the observations come from, how tenor rates are constructed, and what a stored snapshot tells you.

About this guide This describes the current implementation. For older snapshots, check each point’s stored source and method.

01 / Source

Public data, two approaches.

USD SOFR & EUR €STR

CheckMySwap constructs indicative curves from DTCC public transaction reports, using the CFTC cumulative rates files for the report date. The rates estimate market levels from reported activity.

GBP SONIA, JPY TONAR & CHF SARON

These curves use Eurex Clearing settlement discount factors. CheckMySwap derives par rates using annual payment points. Tenors with missing required factors are skipped. Transaction counts do not apply.

How settlement factors become a par rate

Divide one minus the maturity discount factor by the sum of annual discount factors weighted by accrual fractions.

02 / Construct

From records to tenor rates.

  1. Select eligible records

    The USD filter selects SOFR records with valid maturity dates and rates. Effective dates must be within five calendar days of the report date. It requires the NEWT action when that field is present and excludes flagged upfront-fee records.

  2. Group by tenor

    Records are grouped by the time from effective date to maturity: 1, 2, 3, 4, 5, 7, 10, 15, 20 and 30 years. A tenor needs at least three accepted records to produce a curve point.

  3. Calculate the close rate

    The close window is 19:00–21:00 UTC for USD and 16:00–21:00 UTC for EUR, excluding 21:00. With at least three close-window records, the point uses a notional-weighted median.

    How the weighted median is calculated

    Sort rates from low to high. Select the first rate where cumulative reported notional reaches half the total.

    The minimum weight is one million currency units, also used when notional is missing or cannot be parsed. Reported notional caps are not reversed.

  4. Estimate sparse tenors

    Close points with at least 20 observations become anchors. If none qualify, the threshold falls to 10, then 5, then 3.

    Sparse tenors use those anchors, adjusted by the earlier curve shape where available. Estimates between anchors are interpolated by maturity. Without a usable derived estimate, the pipeline uses an all-day weighted median.

03 / Interpret

Read the method with the rate.

close
A close-window weighted median that meets the selected anchor threshold.
close-thin
A close-window weighted median with at least three records, below the anchor threshold.
derived
An estimate from anchor tenors and the earlier curve shape where available.
all-day
A weighted median of all accepted records in the tenor bucket.
Settlement
A rate derived from Eurex settlement discount factors, rather than transaction aggregation.

What the record counts mean

trades counts accepted transaction records in the tenor bucket, rather than all market trades.

closeTrades counts qualifying close-window records, but the DTCC pipeline stores zero when fewer than three qualify. Zero therefore does not establish that no record occurred. Eurex counts are not applicable.

Rate units, at a glance

rate: 4.25 means 4.25%.

rateBps: 425 means 425 basis points.

Both express the same rate. Basis-point values are rounded.

04 / Value

Discount the cash flows.

The web interest-rate swap pricer rounds input par rates to two decimal places in percent, then bootstraps discount factors. Between curve points, it interpolates the logarithm of the discount factor. Raw archive downloads retain stored precision.

The valuation also depends on currency conventions, day-count fractions, payment calendars and the trade’s dates and terms. Credit, funding and other valuation adjustments are outside the scope of this pricer.

Explore the open-source pricing library ↗

05 / Reproduce

Understand the stored snapshot.

A snapshot is the curve data stored for a particular date. Select an available date in the archive to download its JSON file.

USD archive begins

19 March 2026

Earlier dates have no stored CheckMySwap snapshot.

What does the file contain?

  • Curve data: tenor rates at stored precision.
  • Observations: record and close-window counts, where applicable.
  • Context: date, source and method fields, where available.

What if a date is missing?

The API returns HTTP 404. It does not substitute another date. A historical reconstruction requires a separate, documented process.

Is it an immutable original?

Dated records can be updated by later pipeline runs. The date alone does not prove that a file is the original publication.

What else is needed to reproduce a valuation?

Keep the underlying source files, pipeline and pricing code versions, conventions and trade inputs alongside the snapshot.

Browse available snapshots →