1# F6-conf-01 — Day-of-week effects in daily changes of the 10-year Treasury yield (2000–2019)23## Question4Can the day of the week predict the one-day change Δy_t (basis points) in the 10-year US Treasury constant-maturity yield (FRED DGS10)? Three estimands: (i) a joint test that all five weekday means are equal; (ii) the Monday contrast (mean Monday change minus mean change on Tue–Fri) with a 95% interval; (iii) whether weekday-specific means estimated on 2000–2009 forecast 2010–2019 changes better than a zero-change (random-walk) forecast.56## Data and exclusions7Input: `data/DGS10.csv`, 5217 weekday rows, 2000-01-03 to 2019-12-31 (`n_input_rows`). SHA-256 matches the README. There are no duplicate dates and no values that fail to parse. 215 rows have an empty DGS10 field because they are US market holidays (`n_missing_rows`). These rows were dropped before differencing, as the task requires. The first available observation has no change, so 5001 daily changes remain (`n_analysed`). Of these, 2500 are dated on or before 2009-12-31 (`n_train`) and 2501 on or after 2010-01-01 (`n_test`). The steps are recorded in `out/exclusions.csv`. 214 changes span a holiday (`supp_n_holiday_spanning_changes`), meaning they cover more calendar time than a normal day or weekend. Following the task rules, these are kept and attributed to the weekday of t (`data_issues`).89## Method10- Δy_t = 100·(y_t − y_{t−1}) between consecutive available observations, attributed to the weekday of t.11- Joint test: classical one-way equal-variance ANOVA F-test (scipy `f_oneway`) on all 5001 changes, with F(4, 4996). The result was cross-checked with an OLS regression on weekday dummies (statsmodels), which gives the same F and p.12- Monday contrast: Welch two-sample comparison of Monday changes against all Tue–Fri changes, with a Welch–Satterthwaite t interval. I chose Welch because it does not assume equal variances. An HC1-robust regression on a Monday dummy gives practically the same interval (see `out/state/checks.md`).13- Out-of-sample test: each 2010–2019 change is forecast by the 2000–2009 mean change for its weekday (`supp_train_weekday_means_bp`), and compared with a zero-change forecast. Both are scored by RMSE over the evaluation period. Only estimation-period data enter the forecasts; the code asserts this.14- Conclusion rule: if the ANOVA p ≥ 0.05 → `no_detectable_effect`; otherwise the sign comes from the Monday-contrast interval.15- No randomness is used (`random_seed` = null). `out/analysis.py` regenerates every output deterministically.1617## Results18- Weekday means (`out/table1.csv`, `out/figure1.png`) range from about −0.22 bp (Tuesday) to +0.02 bp (Wednesday). Each standard error is about 0.16–0.19 bp.19- Joint ANOVA: F = 0.263 (`anova_f_stat`), p = 0.90 (`anova_p_value`). The test does not reject equal weekday means.20- Monday contrast: +0.050 bp (`effect_estimate`), 95% CI [−0.319, 0.420] bp (`effect_ci_low`, `effect_ci_high`), Welch p = 0.79 (`supp_effect_welch_p`).21- Out-of-sample: the zero-change RMSE is 4.876 bp (`baseline_metric`). The weekday-mean forecast RMSE is 4.884 bp (`model_metric`), a ratio of 1.0017 (`supp_rmse_ratio_model_over_baseline`). The weekday means do slightly *worse* than the random walk.22- Conclusion: `no_detectable_effect` (`conclusion`). In this sample, the day of the week has no detectable predictive content for daily changes in the 10-year yield.2324## Uncertainty25- The Monday-contrast interval is about ±0.37 bp wide (`effect_ci_low`, `effect_ci_high`; SE `supp_effect_se` = 0.188 bp). The data therefore rule out Monday effects larger than roughly 0.4 bp per day in either direction. Smaller effects cannot be excluded.26- The out-of-sample RMSE difference (0.008 bp) is tiny compared with the daily volatility (~4.9 bp). No formal forecast-comparison test (e.g. Diebold–Mariano) was run. The evidence is that weekday means add nothing, not a significance statement.27- Robustness: a Kruskal–Wallis rank test also does not reject equal weekday distributions (p = 0.47, `supp_kruskal_p`).2829## Limitations and open issues30- **Assumption violation:** Levene's test strongly rejects equal variances across weekdays (p ≈ 1e-7, `supp_levene_p`). The classical ANOVA required by the task therefore runs under a violated assumption. With roughly balanced group sizes (919–1030) and p = 0.90, this is unlikely to change the conclusion. A Welch ANOVA was not run. The Monday contrast uses Welch, and the HC1 regression check agrees with it.31- **Serial dependence / volatility clustering:** daily yield changes show conditional heteroskedasticity, and their autocorrelation may not be exactly zero. The ANOVA and Welch standard errors assume independence. HAC/GARCH-robust inference was not checked.32- **Holiday-spanning changes:** 214 changes cover more than one trading day and are assigned to the weekday of t. This mixes multi-day changes into Tuesdays (after Monday holidays) and other days. The task rules require this treatment. A sensitivity analysis excluding these changes was not done.33- **Regime changes:** the 2000–2019 period includes the zero-lower-bound and QE years. A weekday pattern could exist in sub-periods and cancel out overall. Only the fixed 2009/2010 split was examined.34- **What would invalidate the result:** errors in the FRED file (stale or revised values), or a definition of the change different from the prescribed one (e.g. calendar-day rather than trading-day changes). Calendar effects not tested here, such as FOMC days, auction days, or month-end, could be correlated with weekdays. Because the null is not rejected, such confounding could hide an effect rather than create one.35- Power: the study cannot detect weekday effects much smaller than ~0.4 bp/day. A non-rejection is not proof that the effect is zero.36