feat(forecasting): monthly macro series + regime classifier (#951b) #1007

Merged
bot-backend merged 1 commit from feat/951b-forecasting-macro-series into main 2026-06-03 05:37:44 +00:00
Collaborator

Site Finder v2 / EPIC 7 — #951 sub-PR 2 (foundation). Детерминированный, без LLM, data-независимый. Часть #944.

Новый пакет backend/app/services/forecasting/ с macro_series.py:

  • MonthlyMacro dataclass + get_monthly_macro — key_rate (daily) → monthly last-known-value через SQL DISTINCT ON, reuse macro.get_macro_series для месячных sverdl-ипотечных рядов, carry-forward key_rate по непрерывной сетке, graceful на пустой/сбое БД.
  • Чистые helpers: classify_regime (down/up/stable, eps 0.25пп), macro_at_lag (0/1/2/3/6), is_confounded_window (COVID 2020-03, геополитика 2022-02, льготка-cutback 2024-07 — для downgrade confidence в §9.6).

51 unit-тест, без live-DB. psycopg v3 CAST(:x AS type). code-reviewer opus OK (resample SQL верен, LOCF-семантика, regime-границы, lag/month-математика). Фундамент для §9.6 (rate sensitivity) + §9.5 (macro coef). Refs #951

**Site Finder v2 / EPIC 7 — #951 sub-PR 2 (foundation).** Детерминированный, без LLM, data-независимый. Часть #944. Новый пакет `backend/app/services/forecasting/` с `macro_series.py`: - `MonthlyMacro` dataclass + `get_monthly_macro` — key_rate (daily) → monthly last-known-value через SQL `DISTINCT ON`, reuse `macro.get_macro_series` для месячных sverdl-ипотечных рядов, carry-forward key_rate по непрерывной сетке, graceful на пустой/сбое БД. - Чистые helpers: `classify_regime` (down/up/stable, eps 0.25пп), `macro_at_lag` (0/1/2/3/6), `is_confounded_window` (COVID 2020-03, геополитика 2022-02, льготка-cutback 2024-07 — для downgrade confidence в §9.6). **51 unit-тест**, без live-DB. psycopg v3 `CAST(:x AS type)`. code-reviewer opus OK (resample SQL верен, LOCF-семантика, regime-границы, lag/month-математика). Фундамент для §9.6 (rate sensitivity) + §9.5 (macro coef). Refs #951
bot-backend added 1 commit 2026-06-03 05:37:42 +00:00
New backend/app/services/forecasting package (Site Finder v2 EPIC 7, §9.5/§9.6
foundation). Deterministic, no LLM. MonthlyMacro dataclass + get_monthly_macro
(daily key_rate resampled to monthly last-known-value via SQL DISTINCT ON, reuses
macro.get_macro_series for the already-monthly sverdl mortgage series, carry-forward
key_rate over a continuous month grid, graceful on empty/DB error). Pure helpers:
classify_regime (down/up/stable, eps 0.25pp), macro_at_lag (0/1/2/3/6),
is_confounded_window (COVID 2020-03, geopolitics 2022-02, subsidy cutback 2024-07).
51 unit tests, no live DB. psycopg v3 CAST(:x AS type) throughout.
bot-backend merged commit ace3b99508 into main 2026-06-03 05:37:44 +00:00
bot-backend deleted branch feat/951b-forecasting-macro-series 2026-06-03 05:37:44 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lekss361/gendesign#1007
No description provided.