재현 패키지 — 보고서1 「산업별 실질부가가치 시나리오 전망」 3장 거시엔진과 시나리오(2026-10 정비판)

이 묶음은 3장의 계산을 데이터 입수 → 분석 → 결과 도출 세 단계로 다시 수행한다. 한국은행 동태예측모형(BOKDPM)의 2000–2025년 재추정 결과(사후분포 요약), 기준선 전망, 다섯 시나리오(S1–S5)의 거시경로, 그리고 산업모형에 넘기는 외생 6종(유가·세계수요·실질금리·실질환율·취업자 수·국내 경기)을 계산한다.

2026-10 정비판. 2026-10-08 재현에서 드러난 쟁점(기준선 장기값, 실질금리 적분차수, 시나리오 레버 미전달, 유가 정의)을 고친 판이다.

  1. 정상상태(장기 수렴값) 13개 교체 → Dynare 재추정. 원 모형의 2000년대 표본 평균 대신 공식 추정·목표치(잠재성장률·물가목표·중립금리)와 최근 10년(2016–2025) 평균을 쓴다.
  2. 실질금리 투입형을 1차 차분으로. 실질금리 수준은 표본 기간 하락 추세를 지녀 성장률 식과 적분차수가 맞지 않았다.
  3. 노동공급과 레버 연결. 경제활동인구 기준 경로를 「2024~2034 중장기 인력수급 전망」의 증가율로 잇고, 인구 레버를 경제활동인구에, 교역비용 레버를 IS 식의 실효 해외수요에 전달하며, S3 세계수요에 미국수요 충격을 더한다.
  4. 유가 정의 정리. 유가는 두바이유이며, 수집 코드·원천 기록·관측자료 파일을 추정 입력과 같은 두바이유로 통일하였다(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는 이전 전달본과 같은 배치로 만든 정비판 수준 외생표이며, 프로젝트 루트의 전달본 교체는 연구진 확인 후 한다.

계산 요약

  1. 재추정. 행태계수 20개와 구조충격 표준편차 34개를 관측 20변수(2000Q1–2025Q4)로 베이지언 추정한다(확산 칼만필터, mode_compute=5, MH 2블록 × 30,000회, 배율 0.3, 앞 30% 제외). 사전분포는 이전 판과 같다.
  2. 기준선. 과거는 칼만 평활값, 2026Q1–2035Q4는 사후최빈값 모수의 무충격 전망(forecast.Mean)이다.
  3. 시나리오 레버. 인구 가정(S2 저위·S3 고위·나머지 중위)과 감쇠 충격 4종 $x_t = \text{최고치} \times \max(1 - t/k, 0)$(미국수요 yus, 유가 oil, 교역비용 tcost, 내수 dshk). 크기와 기간은 이전 판과 같다.
  4. 거시 블록. IS·필립스·테일러·UIP·오쿤 5식(계수 고정)을 Fair–Taylor 반복으로 푼다. 정비: IS 식 해외수요 = $yus - 0.75\,tcost$, 고용 증가율 = Δln(경제활동인구 × 인구 레버) − Δ실업갭.
  5. 외생 6종. 수준 = 기준선 + (시나리오 − S1) 편차, 정의는 관측 가능한 조합이며 회귀계수가 없다. 실질금리 = 회사채(3년, AA−) 수익률 − 전년동기 CPI 상승률(정책금리가 아니다). 취업자 수 = 경제활동인구(관측 + 인력수급 전망 증가율) × 인구 레버 × (1 − 실업률/100). 투입형은 유가·실질금리·실질환율 1차 차분, 취업자 수 로그 차분(×100), 세계수요·국내 경기 수준이다.

쟁점 — 정비 후 남은 사항

  1. 미국 대출태도(BLT_us)의 원천이 확정되지 않았다. FRED 선임대출담당자 서베이와의 상관은 0.90이며 재현되지 않는다. 자료파일 값을 고정해 쓴다.
  2. 시나리오 편차는 추정한 BOKDPM이 아니라 캘리브레이션 거시 블록에서 나온다. 기준선은 재추정 BOKDPM이지만 시나리오 간 차이는 계수를 고정한 5식 블록이 만든다. 블록 계수를 추정 BOKDPM의 사후값과 맞추는 일은 후속 과제이다.
  3. 유가의 영구 수준차. 시나리오 유가 충격을 증가율로 주고 누적하므로 일시 충격이 영구 수준 차이로 남는다(6장 보완 과제 우선순위 3). 정비판은 이 처리를 바꾸지 않았다.
  4. 교역비용 전달 계수(0.75). 새로 추정한 값이 아니라 설계 교역량 식(trd_g = 1 + 0.8·yus − 0.6·tcost)의 계수비이다. 교역비용 충격을 해외수요 감소와 같은 경로로 보는 가정이다.
  5. 노동공급 기준 경로. 인력수급 전망의 기간별 증감(2024→2029 +34.6만 명, 2029→2034 −21.0만 명)을 2024년 관측 평균 기준의 로그증가율로 바꾸어 관측 구간(2026Q2) 뒤에 잇는다. 2025–2026년 관측치가 전망보다 빨리 늘었으므로 수준은 전망보다 조금 높다.
  6. 수렴 진단. 위 수렴 진단 문장을 본다. 기준선은 사후평균이 아니라 사후최빈값 모수의 전망이다.
  7. 세부 처리. 2000년 실질금리는 원본 BOKDPM 워크북의 1999–2000년 CPI로 계산한 상승률(소수 둘째 자리)을 쓴다(2026-09-02 보정). 투입형 변환에서 차분 변수의 첫 분기(2000Q1)는 다음 분기 값으로 채운 값이다.

정정 기록

출처

입력별 원래 경로·원천 계열 코드·입수일은 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).