@@ -15,6 +15,7 @@ WITH economic_changes AS (
1515 fsm .category AS economic_category,
1616 bha .value AS current_econ_value,
1717 bha .monthly_avg_close ,
18+ bha .quarterly_total_return_pct ,
1819 bha .pct_change_q1_forward ,
1920 bha .pct_change_q2_forward ,
2021 bha .pct_change_q3_forward ,
@@ -88,12 +89,22 @@ correlation_analysis AS (
8889 AS corr_econ_q2_returns,
8990 CORR(econ_mom_change_pct, pct_change_q3_forward)
9091 AS corr_econ_q3_returns,
92+
93+ -- Correlation between economic MoM change and quarterly total returns
94+ CORR(econ_mom_change_pct, quarterly_total_return_pct)
95+ AS corr_econ_quarterly_total_return,
9196
9297 -- Average returns when economic data is growing vs declining
9398 AVG (CASE WHEN econ_mom_change_pct > 0 THEN pct_change_q1_forward END)
9499 AS avg_q1_return_when_econ_growing,
95100 AVG (CASE WHEN econ_mom_change_pct < 0 THEN pct_change_q1_forward END)
96101 AS avg_q1_return_when_econ_declining,
102+
103+ -- Average quarterly total returns when economic data is growing vs declining
104+ AVG (CASE WHEN econ_mom_change_pct > 0 THEN quarterly_total_return_pct END)
105+ AS avg_quarterly_total_return_when_econ_growing,
106+ AVG (CASE WHEN econ_mom_change_pct < 0 THEN quarterly_total_return_pct END)
107+ AS avg_quarterly_total_return_when_econ_declining,
97108
98109 -- Standard deviations
99110 STDDEV(econ_mom_change_pct) AS econ_change_volatility,
@@ -117,6 +128,7 @@ detailed_monthly_view AS (
117128 category,
118129 economic_category,
119130 econ_mom_change_pct,
131+ quarterly_total_return_pct,
120132 pct_change_q1_forward,
121133 pct_change_q2_forward,
122134 pct_change_q3_forward,
@@ -149,9 +161,15 @@ SELECT
149161 ROUND(corr_econ_q1_returns, 4 ) AS correlation_econ_vs_q1_returns,
150162 ROUND(corr_econ_q2_returns, 4 ) AS correlation_econ_vs_q2_returns,
151163 ROUND(corr_econ_q3_returns, 4 ) AS correlation_econ_vs_q3_returns,
164+ ROUND(corr_econ_quarterly_total_return, 4 ) AS correlation_econ_vs_quarterly_total_return,
152165 ROUND(avg_q1_return_when_econ_growing, 2 ) AS avg_q1_return_econ_up,
153166 ROUND(avg_q1_return_when_econ_declining, 2 ) AS avg_q1_return_econ_down,
154- ROUND(avg_q1_return_when_econ_declining, 2 ) AS return_difference
167+ ROUND(avg_quarterly_total_return_when_econ_growing, 2 ) AS avg_quarterly_total_return_econ_up,
168+ ROUND(avg_quarterly_total_return_when_econ_declining, 2 ) AS avg_quarterly_total_return_econ_down,
169+ ROUND(
170+ COALESCE(avg_q1_return_when_econ_growing, 0 ) - COALESCE(avg_q1_return_when_econ_declining, 0 ),
171+ 2
172+ ) AS return_difference
155173FROM correlation_analysis
156174WHERE observation_count >= 10 -- Filter for meaningful sample sizes
157175
@@ -168,8 +186,11 @@ SELECT
168186 econ_change_quintile AS correlation_econ_vs_q1_returns,
169187 NULL AS correlation_econ_vs_q2_returns,
170188 NULL AS correlation_econ_vs_q3_returns,
189+ NULL AS correlation_econ_vs_quarterly_total_return,
171190 ROUND(AVG (pct_change_q1_forward), 2 ) AS avg_q1_return_econ_up,
172191 COUNT (* ) AS avg_q1_return_econ_down,
192+ ROUND(AVG (quarterly_total_return_pct), 2 ) AS avg_quarterly_total_return_econ_up,
193+ NULL AS avg_quarterly_total_return_econ_down,
173194 ROUND(AVG (econ_mom_change_pct), 2 ) AS return_difference
174195FROM detailed_monthly_view
175196GROUP BY symbol, series_name, category, economic_category, econ_change_quintile
0 commit comments