Commit Graph

8 Commits

Author SHA1 Message Date
Variet Agent
93887f49dd refactor(macro): sign-consistent re-analysis, rate DIFF only
- Removed CORP_AA_LOGR (log of rate = problematic near zero)
- Rate variables restricted to DIFF only (no LOG/PCT/LOGR)
- Added economic sign consistency checks for all 45 features
- New optimal 3-var: CREDIT_SPREAD_LAG1, IPI_LAG1, EXPORT_DIFF
  - All coefficient signs economically consistent
  - R²=0.586 (trade-off: lower R² but correct economics)
- Added IPI + EXPORT to ECOS queries and fallback data
- Zt restricted to 2000-2025 in analysis (26 obs)
- Pipeline 8/8 validation pass
2026-03-11 07:17:33 +09:00
Variet Agent
811d6ee843 feat(macro): comprehensive variable exploration, R²=0.028→0.747
- New: data/macro_analysis.py (15 base × 6 transforms = 116 candidates)
  - Top correlations: CORP_AA_LOGR(r=-0.75), credit spread, term spread
  - Exhaustive 3-var search (1749 combos), best adj.R²=0.71
- Modified: data/macro_data.py
  - Added GOVT_3Y, CORP_AA, CORP_BBB ECOS queries + fallback data
  - New: compute_derived_features() for optimal 3 predictors
- Modified: main.py
  - Computes derived features + passes combined input to stepwise
  - Scenario paths now include derived features for prediction
- Selected 3 variables: CORP_AA_LOGR, CPI_GROWTH, CREDIT_SPREAD_LAG1
- All 8/8 validation tests pass (incl. R² now Pass)
2026-03-11 06:55:02 +09:00
Variet Agent
8af743e6f3 feat(data): parse 3-agency PDF transition matrices to CSV #task-290
- New: data/parse_pdf_matrices.py (KR/NICE/SCI PDF parser)
  - KR: text-based parser (space-separated numbers + dashes)
  - NICE: text-based parser (clean numeric format)
  - SCI: pdfplumber table extraction (column-position-aware)
  - WR redistribution, B이하→B mapping, CCC extrapolation from PD patterns
- Modified: data/transition_matrices.py (added source='real' loader)
- Modified: config.yaml (data.transition_source: 'real')
- Modified: main.py (reads transition source from config)
- Output: 112 CSV files (KR/NICE/SCI/AVG × 28 years)
2026-03-11 01:07:27 +09:00
Variet Agent
ebdc6b805b chore: migrate .agent/ to .agents/ directory structure 2026-03-11 00:31:59 +09:00
Variet Agent
6aaff48856 docs: fill .agents/references with actual project content (architecture, tech-stack, conventions) 2026-03-10 23:02:19 +09:00
Variet Agent
bc38d7e933 docs: devlog + known-issues (ECOS API codes, CP949, pandas fillna) 2026-03-10 22:57:02 +09:00
Variet Agent
9fba224623 fix(ecos): correct all 6 ECOS API stat/item codes #task-292
- GDP: 111Y002/10111 -> 902Y015/KOR (international comparative stats)
- Unemployment: 901Y027/3 -> 901Y027/I61BC (correct item for rate)
- CD rate: 817Y002/010502000 -> 721Y001/2010000 (market interest rates)
- CPI: now computes YoY growth from level index (pct_change)
- Leading index: monthly (M) fetch + annual average (no annual data available)
- Fix DataFrame merge: dedup index, dropna before concat
- Fix NaN in scenario Z paths: fallback to z_scenario
- Update config.yaml with verified stat codes
2026-03-10 22:53:51 +09:00
Variet Agent
3a9374c61a feat: Lifetime PD (50yr) - Belkin & Suchower + Vasicek model
- Belkin & Suchower (1998) credit cycle index (Zt) estimation via WLS
- Vasicek single-factor conditional PD/TM model
- Macro-Zt OLS regression with stepwise variable selection
- 3-scenario (boom/neutral/recession) 50yr PD projection
- Statistical validation suite (ADF, Ljung-Box, R2, ARCH)
- BOK ECOS API integration with fallback data
- Visualization module (7 chart types)
- Detailed theoretical methodology docs/methodology.md
2026-03-10 21:57:34 +09:00