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.
| tenor | yield_pct | curve_asof |
|---|---|---|
| 3-month | 4.24 | Sep 25, 2026 |
| 6-month | 0 | Sep 25, 2026 |
| 1-year | 4.5 | Sep 25, 2026 |
| 2-year | 4.81 | Sep 25, 2026 |
| 3-year | 0 | Sep 25, 2026 |
| 5-year | 4.98 | Sep 25, 2026 |
| 7-year | 0 | Sep 25, 2026 |
| 10-year | 5.17 | Sep 25, 2026 |
| 20-year | 0 | Sep 25, 2026 |
| 30-year | 5.49 | Sep 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
What each column holds
| Column | Type | Range | Notes |
|---|---|---|---|
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
)
)
Work with this data in your AI assistant
Opens ready to query, with this page's data. Free, no account.