Loading...Loading chart...
1-- Interest Rates: Fed Funds, 2Y, 10Y Yields (Yield Curve)
2WITH
3 fed_funds AS (
4 SELECT
5 DATE_TRUNC('month', date::DATE) AS period,
6 AVG(value_raw) AS fed_funds_rate
7 FROM
8 "@fred.money_banking_finance.observations"
9 WHERE
10 series_id = 'FEDFUNDS'
11 AND date >= '2010-01-01'
12 GROUP BY
13 DATE_TRUNC('month', date::DATE)
14 ),
15 yield_2y AS (
16 SELECT
17 DATE_TRUNC('month', date::DATE) AS period,
18 AVG(value_raw) AS yield_2y
19 FROM
20 "@fred.money_banking_finance.observations"
21 WHERE
22 series_id = 'DGS2' -- 2-Year Treasury
23 AND date >= '2010-01-01'
24 GROUP BY
25 DATE_TRUNC('month', date::DATE)
26 ),
27 yield_10y AS (
28 SELECT
29 DATE_TRUNC('month', date::DATE) AS period,
30 AVG(value_raw) AS yield_10y
31 FROM
32 "@fred.money_banking_finance.observations"
33 WHERE
34 series_id = 'DGS10' -- 10-Year Treasury
35 AND date >= '2010-01-01'
36 GROUP BY
37 DATE_TRUNC('month', date::DATE)
38 )
39SELECT
40 COALESCE(f.period, t2.period, t10.period) AS date,
41 ROUND(f.fed_funds_rate, 2) AS fed_funds_pct,
42 ROUND(t2.yield_2y, 2) AS yield_2y_pct,
43 ROUND(t10.yield_10y, 2) AS yield_10y_pct
44FROM
45 fed_funds f
46 FULL OUTER JOIN yield_2y t2 ON f.period = t2.period
47 FULL OUTER JOIN yield_10y t10 ON f.period = t10.period
48ORDER BY
49 date ASC