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)
This commit is contained in:
10
main.py
10
main.py
@@ -98,12 +98,16 @@ def main():
|
||||
print("=" * 70)
|
||||
|
||||
# 전이행렬
|
||||
logger.info("전이행렬 로딩 중 (내장 데이터)...")
|
||||
transition_matrices = load_transition_matrices("builtin")
|
||||
data_config = config.get("data", {})
|
||||
tm_source = data_config.get("transition_source", "builtin")
|
||||
tm_dir = data_config.get("transition_dir", None)
|
||||
logger.info(f"전이행렬 로딩 중 (source={tm_source})...")
|
||||
transition_matrices = load_transition_matrices(tm_source, data_dir=tm_dir)
|
||||
ttc_matrix = compute_ttc_matrix(transition_matrices)
|
||||
default_rates = get_default_rates(transition_matrices)
|
||||
|
||||
print(f"\n 전이행렬: {len(transition_matrices)}개 연도 ({min(transition_matrices.keys())}~{max(transition_matrices.keys())})")
|
||||
print(f"\n 전이행렬: {len(transition_matrices)}개 연도 ({min(transition_matrices.keys())}~{max(transition_matrices.keys())})"
|
||||
f" [source={tm_source}]")
|
||||
print(display_matrix(ttc_matrix, "TTC 전이행렬 (장기 평균)"))
|
||||
|
||||
# 거시경제변수
|
||||
|
||||
Reference in New Issue
Block a user