# F6-conf-02 — BoC March-2020 emergency cut and the GoC 5-year yield ## Question Estimand: the mean one-day change (bp) in the Government of Canada 5-year benchmark yield on days flagged `post_cut = 1` (on/after 2020-03-04) minus the mean one-day change over the 120 trading days just before the first flagged day, with a 95% Welch (unequal-variance) interval. ## Data and exclusions - `data/gc5y_daily.csv`: 2498 rows read. Dates run from 2010-01-04 to 2019-12-31. No values are missing, no dates are duplicated, and the dates are in increasing order. Six gaps between consecutive rows are longer than 4 calendar days (holidays). As the task specifies, changes are taken between consecutive rows. - **Critical finding:** `n_treated = 0`. The file ends on 2019-12-31. The README confirms the retrieval used `end_date=2019-12-31`. That is more than two months before the 2020-03-04 cut, so `post_cut` is 0 on every row. This is consistent with its definition, but the treated window is empty. Because the pre-window is defined relative to the first flagged day, it is also undefined. - No rows were excluded. No data were added from outside the file, as the task requires. ## Method Planned method, implemented in `out/analysis.py`, which runs only if treated rows exist: - Compute one-day changes as 100·Δy. - Estimate the effect as the difference in means (post-window minus 120-day pre-window). - Build a Welch t interval using Welch–Satterthwaite degrees of freedom. - Report as the model metric the RMSE of residuals around each window's mean. Descriptive baseline: the mean one-day change over the whole file. ## Results - Baseline mean one-day change over 2010–2019: **−0.0429 bp/day**. `out/table1.csv` breaks this down by year. - Effect estimate: **not estimable (null)**. Conclusion code: `premise_invalid`; feasibility: `infeasible`. - `out/figure1.png` plots the yield over the sample, with the date of the 2020-03-04 cut marked to the right of the last observation. ## Uncertainty No interval can be reported because there are no post-cut observations. A different window, such as the last 120 days of 2019 compared with some earlier period, would answer a different question. I did not substitute one, so the effect, the interval and the model RMSE are null. ## Limitations and open issues - **Main failure:** the input data do not cover the event. To produce a result, the series must be re-fetched with an end date after March 2020; the analysis script would then compute the estimand without changes. I could not check whether the extraction window was intentionally truncated or was a mistake. - Threats that would apply even with complete data: - The 4 March 2020 cut coincided with the global COVID-19 shock. Other events in the same period include the Fed's 3 March cut, further BoC cuts on 13 and 27 March, and the start of BoC asset purchases. A post-vs-pre mean difference therefore cannot isolate the effect of the policy cut, and is not a causal estimate. - The length of the post window is open-ended: it is all flagged rows to the end of the file. Results would depend on where the file ends. - Daily changes are heteroskedastic (very high volatility in March 2020) and may be autocorrelated. Welch intervals assume independence. - Multi-day gaps (holidays) are treated as one-day changes. - Not checked: whether the file matches the published Valet series beyond the provenance hash recorded in the README. No network access was available.