재현 패키지 — 보고서1 「산업별 실질부가가치 시나리오 전망」 3장 거시엔진과 시나리오(2026-10 정비판)
이 묶음은 3장의 계산을 데이터 입수 → 분석 → 결과 도출 세 단계로 다시 수행한다. 한국은행 동태예측모형(BOKDPM)의 2000–2025년 재추정 결과(사후분포 요약), 기준선 전망, 다섯 시나리오(S1–S5)의 거시경로, 그리고 산업모형에 넘기는 외생 6종(유가·세계수요·실질금리·실질환율·취업자 수·국내 경기)을 계산한다.
2026-10 정비판. 2026-10-08 재현에서 드러난 쟁점(기준선 장기값, 실질금리 적분차수, 시나리오 레버 미전달, 유가 정의)을 고친 판이다.
- 정상상태(장기 수렴값) 13개 교체 → Dynare 재추정. 원 모형의 2000년대 표본 평균 대신 공식 추정·목표치(잠재성장률·물가목표·중립금리)와 최근 10년(2016–2025) 평균을 쓴다.
- 실질금리 투입형을 1차 차분으로. 실질금리 수준은 표본 기간 하락 추세를 지녀 성장률 식과 적분차수가 맞지 않았다.
- 노동공급과 레버 연결. 경제활동인구 기준 경로를 「2024~2034 중장기 인력수급 전망」의 증가율로 잇고, 인구 레버를 경제활동인구에, 교역비용 레버를 IS 식의 실효 해외수요에 전달하며, S3 세계수요에 미국수요 충격을 더한다.
- 유가 정의 정리. 유가는 두바이유이며, 수집 코드·원천 기록·관측자료 파일을 추정 입력과 같은 두바이유로 통일하였다(
bokdpm_pipeline/).
마지막 단계의 검증 셀이 계산 결과를 정비판 기록 산출물(data/reference/)과 100개 항목에서 대조하며, 하나라도 다르면 실행이 멈춘다. 이전 판 공표 산출물은 data/reference_prev/에 두고 비교에만 쓴다.
정상상태 정비
| 파라미터 | 의미 | 이전 값 | 새 값 | 근거 |
|---|---|---|---|---|
growth_kor_ss |
한국 잠재성장률(%) | 4.2925 | 1.8 | 한국은행(2024.12) 「우리 경제의 잠재성장률과 향후 전망」: 2024–2026년 2% 수준, 2025–2029년 연평균 1.8% |
pietar_kor_ss |
한국 물가목표(CPI, %) | 3 | 2 | 한국은행 물가안정목표 2%(2016년 이후) |
def_kor_ss |
GDP 디플레이터 상승률(%) | 2.1943 | 2 | 물가목표와 같게(최근 10년 평균 2.08%) |
rr_kor_bar_ss |
한국 중립 실질 정책금리(%) | 1.5 | 0.55 | 한국은행(2024.11) BOK 경제연구 「한국의 중립금리 추정」: 명목 1.8–3.3%, 중간값 2.55% − 물가목표 2% |
tprem_kor_ss |
CD(91일) − 콜금리(%p) | 0.39 | 0.18 | 최근 10년 평균 |
tprem_tb_kor_ss |
국고채(3년) − 콜금리(%p) | 0.7645 | 0.3 | 최근 10년 평균 |
tprem_cb_kor_ss |
회사채(3년, AA−) − 국고채(3년)(%p) | 0.7419 | 0.67 | 최근 10년 평균 |
house_kor_ss |
주택가격 상승률(%) | 4.2 | 2.33 | 최근 10년 평균 |
ge_kor_ss |
통합재정 총지출 증가율(%) | 7.5885 | 6.57 | 최근 10년 평균 |
growth_us_ss |
미국 잠재성장률(%) | 2.3 | 1.8 | 미 의회예산처(CBO, 2025.1) 잠재GDP 증가율 2027–2035년 1.8%(세계수요 Y_us의 잠재GDP와 같은 출처) |
pietar_us_ss |
미국 물가목표(CPI, %) | 2.4982 | 2.3 | CBO 소비자물가(CPI-U) 장기 전망 2.3%(PCE 목표 2%에 CPI 괴리를 더한 값) |
rr_us_bar_ss |
미국 중립 실질 정책금리(%) | 2 | 0.9 | FOMC 경제전망(2026.9) 장기 연방기금금리 중간값 3.2% − 미국 CPI 목표 2.3% |
oil_g_us_ss |
유가 상승률(달러 기준, %) | 9.8763 | 2.3 | 장기 실질유가 불변(= 미국 CPI 목표 2.3%) |
'최근 10년 평균'은 관측자료 2016Q1–2025Q4(물가안정목표 2% 도입 이후) 평균이며 02_분석.ipynb 1-1절이 다시 계산해 대조한다. UNR_kor_ss는 실업률 추세가 확률보행이라 전망·우도에 영향이 없어 바꾸지 않았다.
정상상태는 선형 모형의 절편이므로 동학 계수를 바꾸지 않지만, 관측방정식의 추세(실질GDP·물가·디플레이터·주택가격·미국 GDP·미국 물가·유가)에 들어가므로 사후분포와 평활값이 달라진다.
사후최빈값의 −로그사후밀도는 정비판 3083.128, 이전 판 3085.377이다(같은 자료·사전분포에서 정비판의 적합이 나빠지지 않았다). 평활한 잠재성장률(G_kor)은 4.22%(2000Q1)에서 2.08%(2025Q4)로 낮아진다.
기준선 — 정비판과 이전 판
| 연도 | 실질GDP 성장률(%) | CPI 상승률(%) | 콜금리(%) | 두바이유(달러) | 이전 판 실질GDP(%) | 이전 판 CPI(%) | 이전 판 두바이유(달러) |
|---|---|---|---|---|---|---|---|
| 2026 | 2.19 | 1.72 | 2.42 | 63.9 | 2.39 | 2.15 | 66.8 |
| 2027 | 1.73 | 1.79 | 2.24 | 65.6 | 3.15 | 2.71 | 74.0 |
| 2028 | 2.24 | 1.87 | 2.27 | 67.2 | 3.92 | 2.94 | 81.8 |
| 2030 | 1.89 | 1.92 | 2.33 | 70.4 | 4.00 | 3.00 | 99.7 |
| 2035 | 1.82 | 1.93 | 2.38 | 78.9 | 4.34 | 2.97 | 163.4 |
주요 사후평균(정비판/이전 판): gamma_kor1 0.841/0.883, gamma_kor2 1.539/1.595, gamma_kor3 0.466/0.574, beta_kor1 0.211/0.203, lambda_kor3 0.766/0.753, alpha_kor2 0.070/0.072, rho_oil1 0.880/0.881.
수렴 진단: PSRF가 1.1을 넘는 모수 3개(RES_LS_kor_BAR 1.34, RES_S_G_kor 1.85, RES_RTB_kor_BAR 1.35), 행태계수 20개의 최대 PSRF 1.006.
외생 6종 — 2035Q4 수준
| 시나리오 | 두바이유(달러) | 세계수요(%) | 실질금리(%) | 실질환율(100·ln) | 취업자 수(천 명) | 국내 경기(%) |
|---|---|---|---|---|---|---|
| S1 기준 | 79.59 | -0.00 | 1.31 | 833.46 | 28,762.7 | -0.09 |
| S2 공급제약+충격 | 66.48 | -0.00 | 1.31 | 833.46 | 28,267.5 | -0.09 |
| S3 제약완화 | 74.39 | -0.00 | 1.31 | 833.46 | 29,249.7 | -0.09 |
| S4 기술도약 | 79.59 | -0.00 | 1.31 | 833.46 | 28,767.8 | -0.09 |
| S5 지정학 | 111.53 | -0.00 | 1.31 | 833.46 | 28,762.5 | -0.09 |
| 이전 판 S1 | 169.53 | -0.00 | 2.78 | 824.93 | 31,464.1 | -0.07 |
거시 블록의 10년 누적 고용 증가율(외생과 같은 노동공급): S1 -0.17%, S2 -1.93%, S3 +1.49%, S4 -0.17%, S5 -0.19%. 레버 전달 점검(lever_reach.csv)에서 다섯 레버가 모두 외생 6종을 움직인다
(인구 → 취업자 수 최대 495천 명, 교역비용 → 실질환율 2.90·국내 경기 0.66).
실질금리(수준) 단위근 검정 p값(상수): ADF 0.000, PP 0.000, DF-GLS 0.516, KPSS 0.001; (상수+추세) KPSS 0.188. 1차 차분은 모든 검정에서 정상(KPSS 0.283).
폴더 구조
s3-macro/
├─ README.md 이 문서
├─ requirements.txt 검증한 패키지 버전(arch 추가: 단위근 검정)
├─ config.py 경로·실행 스위치(ONLINE·FULL)·입력 SHA-256·정비판 기록 수치(PUBLISHED)
├─ run_all.py 01→02→03 노트북을 순서대로 실행하고 output/run_log.txt 기록
├─ 01_입수.ipynb 스냅샷 무결성·관측 20변수 검증, (ONLINE=1) ECOS·FRED 재수집 비교 → data/interim/
├─ 02_분석.ipynb 정상상태 정비표, 사후분포 요약·수렴 진단, 기준선, 레버, 거시 블록, 외생 6종(수준·투입형), 실질금리 단위근 검정 → output/
├─ 03_결과.ipynb 표 0–6·그림 1–3, 이전 판 대비, 설계 일관성 점검, 검증 셀
├─ src/bokdpm_macro.py 계산 함수(노트북은 이 함수만 호출)
├─ dynare/ BOKDPM_2025.mod(추정)·BOKDPM_forecast.mod(전망) — 정비판 정상상태; original/ 원 캘리브레이션 판; run_est_local.m·run_forecast.m
├─ data/
│ ├─ inputs/ 고정 입력(스냅샷) 9개와 PROVENANCE.md
│ ├─ reference/ 정비판 기록 산출물(2026-10 정비 실행에서 동결, 검증 기준)
│ ├─ reference_prev/ 이전 판 공표 산출물(비교용)
│ └─ interim/ 01·02가 만드는 중간 산출물
└─ output/ 02·03이 만드는 최종 산출물
실행 방법
bash
pip install -r requirements.txt
python run_all.py # 기본: 스냅샷과 저장된 사후 표본으로 계산(약 1분)
| 환경변수 | 하는 일 | 필요한 것 | 소요 |
|---|---|---|---|
| (없음) | 스냅샷 검증, 사후분포 요약 재계산, 기준선·시나리오·외생 6종 계산, 검증 | Python 패키지 | 약 1분 |
ONLINE=1 |
01에서 ECOS·FRED로 관측 20변수, 경제활동인구·취업자, 1999–2000년 CPI를 다시 받아 스냅샷과 비교 | API_KEY_BOK, API_KEY_FRED |
+약 30초 |
FULL=1 |
02에서 Octave+Dynare로 베이지언 추정(MH 2블록 × 30,000회)과 40분기 전망을 다시 실행 | GNU Octave 11.1, Dynare 7.1(OCTAVE_CLI, DYNARE_MATLAB) |
약 2시간 15분 |
FULL=1의 Dynare 실행은 난수 시드가 기본값(0)으로 고정되어 있다. 정비판 스냅샷은 2026-10 이 패키지의 모형 파일로 실행한 결과이다(Octave 11.1·Dynare 7.1).
입력과 산출물
| 단계 | 입력 | 산출물 |
|---|---|---|
| 01 입수 | data/inputs/ 9개 파일 |
data/interim/obs20_2000_2025.csv, (ONLINE=1) online_obs20.csv·online_compare.csv |
| 02 분석 | 스냅샷(또는 FULL=1의 새 Dynare 결과), dynare/*.mod |
steady_state_revision.csv, posterior_summary.csv, mcmc_diagnostics.csv, baseline_forecast_70.csv, baseline_annual.csv, bokdpm_lgdp_2000_2035.csv, scenario_levers.csv, scenario_lever_paths.csv, dsge_macro_paths.csv, dsge_exog_paths.csv, exog_levels_2000_2035.csv, 외생변수_수준_시나리오별(2000-2035).xlsx, lever_reach.csv, unit_root_real_rate.csv, exog_hist_v2.csv, exog_scen_v2.csv |
| 03 결과 | output의 위 파일, data/reference/, data/reference_prev/ |
table0_steady_state.csv ~ table6_exog_vs_prev.csv, fig1_baseline.png, fig2_macro_paths.png, fig3_exog_levels.png, verification.csv |
exog_hist_v2.csv·exog_scen_v2.csv는 4장·5장 재현 패키지의 외생 입력, bokdpm_lgdp_2000_2035.csv는 5장 통제 총량의 기준선 입력이다.
외생변수_수준_시나리오별(2000-2035).xlsx는 이전 전달본과 같은 배치로 만든 정비판 수준 외생표이며, 프로젝트 루트의 전달본 교체는 연구진 확인 후 한다.
계산 요약
- 재추정. 행태계수 20개와 구조충격 표준편차 34개를 관측 20변수(2000Q1–2025Q4)로 베이지언 추정한다(확산 칼만필터,
mode_compute=5, MH 2블록 × 30,000회, 배율 0.3, 앞 30% 제외). 사전분포는 이전 판과 같다. - 기준선. 과거는 칼만 평활값, 2026Q1–2035Q4는 사후최빈값 모수의 무충격 전망(
forecast.Mean)이다. - 시나리오 레버. 인구 가정(S2 저위·S3 고위·나머지 중위)과 감쇠 충격 4종 $x_t = \text{최고치} \times \max(1 - t/k, 0)$(미국수요
yus, 유가oil, 교역비용tcost, 내수dshk). 크기와 기간은 이전 판과 같다. - 거시 블록. IS·필립스·테일러·UIP·오쿤 5식(계수 고정)을 Fair–Taylor 반복으로 푼다. 정비: IS 식 해외수요 = $yus - 0.75\,tcost$, 고용 증가율 = Δln(경제활동인구 × 인구 레버) − Δ실업갭.
- 외생 6종. 수준 = 기준선 + (시나리오 − S1) 편차, 정의는 관측 가능한 조합이며 회귀계수가 없다. 실질금리 = 회사채(3년, AA−) 수익률 − 전년동기 CPI 상승률(정책금리가 아니다). 취업자 수 = 경제활동인구(관측 + 인력수급 전망 증가율) × 인구 레버 × (1 − 실업률/100). 투입형은 유가·실질금리·실질환율 1차 차분, 취업자 수 로그 차분(×100), 세계수요·국내 경기 수준이다.
쟁점 — 정비 후 남은 사항
- 미국 대출태도(
BLT_us)의 원천이 확정되지 않았다. FRED 선임대출담당자 서베이와의 상관은 0.90이며 재현되지 않는다. 자료파일 값을 고정해 쓴다. - 시나리오 편차는 추정한 BOKDPM이 아니라 캘리브레이션 거시 블록에서 나온다. 기준선은 재추정 BOKDPM이지만 시나리오 간 차이는 계수를 고정한 5식 블록이 만든다. 블록 계수를 추정 BOKDPM의 사후값과 맞추는 일은 후속 과제이다.
- 유가의 영구 수준차. 시나리오 유가 충격을 증가율로 주고 누적하므로 일시 충격이 영구 수준 차이로 남는다(6장 보완 과제 우선순위 3). 정비판은 이 처리를 바꾸지 않았다.
- 교역비용 전달 계수(0.75). 새로 추정한 값이 아니라 설계 교역량 식(trd_g = 1 + 0.8·yus − 0.6·tcost)의 계수비이다. 교역비용 충격을 해외수요 감소와 같은 경로로 보는 가정이다.
- 노동공급 기준 경로. 인력수급 전망의 기간별 증감(2024→2029 +34.6만 명, 2029→2034 −21.0만 명)을 2024년 관측 평균 기준의 로그증가율로 바꾸어 관측 구간(2026Q2) 뒤에 잇는다. 2025–2026년 관측치가 전망보다 빨리 늘었으므로 수준은 전망보다 조금 높다.
- 수렴 진단. 위 수렴 진단 문장을 본다. 기준선은 사후평균이 아니라 사후최빈값 모수의 전망이다.
- 세부 처리. 2000년 실질금리는 원본 BOKDPM 워크북의 1999–2000년 CPI로 계산한 상승률(소수 둘째 자리)을 쓴다(2026-09-02 보정). 투입형 변환에서 차분 변수의 첫 분기(2000Q1)는 다음 분기 값으로 채운 값이다.
정정 기록
- 2026-10 정비: 위 네 가지 정비를 반영하여 Dynare로 다시 추정하고 정비판 기록 산출물을
data/reference/에 동결하였다. 이전 판 쟁점 1(유가 원천 문서), 3(인구 레버), 4(교역비용 레버), 5(S3 세계수요), 7(장기 수렴값)은 해소되었다. 이전 판 공표 산출물은data/reference_prev/, 원 캘리브레이션 모형 파일은dynare/original/에 있다. 원고(reports_src/content/report-gva/s3-macro.md)와 포털은 이전 판 수치이며 갱신이 필요하다. - 2026-10-08: 이전 판 재현(공표 수치 정정 없음).
출처
입력별 원래 경로·원천 계열 코드·입수일은 data/inputs/PROVENANCE.md에 있다. 정상상태 근거: 한국은행(2024.12) 「우리 경제의 잠재성장률과 향후 전망」, 한국은행(2024.11) BOK 경제연구 「한국의 중립금리 추정」,
미 의회예산처(2025.1) 「The Budget and Economic Outlook: 2025 to 2035」, FOMC 경제전망(2026.9), 고용노동부·한국고용정보원(2026.2) 「2024~2034 중장기 인력수급 전망」.
R 사용
R은 쓰지 않는다. 계산은 모두 Python으로 하되, BOKDPM의 베이지언 추정과 전망은 Dynare를 GNU Octave에서 실행한다(FULL=1).