STRASMORE/EXPLORE 2,767 QUERIES

curve_today

Answered against 22 years of US equities and 12 years of US options data and published with the query that produced it. This result is stored as of 2026-09-29, from off-the-run-vs-on-the-run-treasuries.

as of ranking 10×3read in context →
curve_today — 10 rows by 3 columns, computed from US exchange, SIP and OPRA data.
tenoryield_pctcurve_asof
3-month4.24Sep 25, 2026
6-month0Sep 25, 2026
1-year4.5Sep 25, 2026
2-year4.81Sep 25, 2026
3-year0Sep 25, 2026
5-year4.98Sep 25, 2026
7-year0Sep 25, 2026
10-year5.17Sep 25, 2026
20-year0Sep 25, 2026
30-year5.49Sep 25, 2026
Rows × columns
10 × 3
Computed
Completeness
No missing values
Source
US exchange, SIP and OPRA market data
Licence
Strasmore terms · free, no signup
Formats
JSON · CSV · the SQL below

What each column holds

Column definitions for curve_today, derived from the stored result.
ColumnTypeRangeNotes
tenor text 10 distinct values (1-year, 10-year, 2-year…)
yield_pct number 0 to 5.49 percent
curve_asof text 1 distinct value (Sep 25, 2026)

Computed from Strasmore's warehouse of US exchange, SIP and OPRA market data. Equity prices are delayed; options greeks and implied volatility are end-of-day. This result is stored, not recomputed on load — it is exactly the numbers that were returned on , and the query below is what returned them.

Run it yourself

This is the exact query behind the result above. Change a ticker, a date or a column and run it against the warehouse — no account, no key. The no-signup tier is smaller than the one this page was computed on; a query that reaches past it comes back saying which plan runs it.

SELECT
    step.1           AS tenor,
    round(step.2, 2) AS yield_pct,
    curve_asof
FROM
(
    SELECT
        formatDateTime(date, '%b %e, %Y') AS curve_asof,
        arrayJoin([
            ('3-month', toFloat64(ifNull(yield_3_month, 0))),
            ('6-month', toFloat64(ifNull(yield_6_month, 0))),
            ('1-year',  toFloat64(ifNull(yield_1_year, 0))),
            ('2-year',  toFloat64(ifNull(yield_2_year, 0))),
            ('3-year',  toFloat64(ifNull(yield_3_year, 0))),
            ('5-year',  toFloat64(ifNull(yield_5_year, 0))),
            ('7-year',  toFloat64(ifNull(yield_7_year, 0))),
            ('10-year', toFloat64(ifNull(yield_10_year, 0))),
            ('20-year', toFloat64(ifNull(yield_20_year, 0))),
            ('30-year', toFloat64(ifNull(yield_30_year, 0)))
        ]) AS step
    FROM
    (
        SELECT *
        FROM global_markets.treasury_yields
        WHERE yield_10_year > 0
          AND yield_30_year > 0
        ORDER BY date DESC
        LIMIT 1
    )
)
⌘/Ctrl + Enter

Work with this data in your AI assistant

Opens ready to query, with this page's data. Free, no account.

More from this analysisoff-the-run-vs-on-the-run-treasuries
tenor_steps ranking 2×3 → monthly_curve series 24×5 → daily_moves series 24×4 → Top 25 weekly-options underlyings by distinct contracts traded, with expiration weekdays ranking 25×4 → Annualized volatility vs total return, 25 large caps, calmest to wildest (~2 years) ranking 25×3 → SPY options median spread by expiration date, near-the-money strikes only ranking 25×4 → See all 2,767 queries →