BOKDPM · DSGE 시나리오 설계
거시 블록(DSGE, BOKDPM 이식)은 베이지안 추정이 아니라 계산된(calibrated) 상수로 방정식을 결정론적으로 푼다. 그 대신 "어떤 충격을 넣을지"를 설계해 다섯 갈래 미래(2026Q1~2035Q4, 40분기)를 만든다 — 이 페이지는 그 설계 원리를 보여준다.
다섯 시나리오는 인구가정(노동공급)과 대외 충격 두 축의 조합이다.
yus, oil, tcost, dshk)이 켜지며,
인구가정도 시나리오마다 다르다(S2 저위 · S3 고위 · 나머지 중위). S3은 완화 방향의 약한 충격에 고위 인구가 겹친다.모든 충격은 2026년 1분기(t=0)에 최고치로 시작해서, k분기에 걸쳐 직선으로 0까지 줄어든 뒤 계속 0이다. 이렇게 만드는 이유는 간단하다 — 충격은 "영원히 지속되는 새로운 정상상태"가 아니라 "한동안 부는 바람"이기 때문이다.
예: S2의 유가충격은 oil = −8.0 × dec(8) — 2026Q1에 −8.0(%p 근사)에서 시작해 8분기(2년) 만에 0으로 사라진다.
S4의 국내수요는 dshk = +0.6 × dec(28) — 훨씬 작지만 28분기(7년)에 걸쳐 오래 지속된다.
아래 네 그림은 실제 코드(scenario_inputs())가 만들어낸 40분기 충격 경로 그대로다.
대외 충격이 IS곡선으로 들어가 일시적으로 경기를 흔든다면, 노동은 오쿤 실업식으로 들어가고 그 원천인 인구는 영구적이다. 노동 경로는 세 단계로 만들어진다.
kosis_생산연령인구.csv).partic).UNRgap = α₁·UNRgap₋₁ − α₂·Y (α₁=0.80, α₂=0.30). 산출갭 Y는 앞의 대외 충격이 IS곡선을 통해 만든 값이므로, 충격과 노동이 여기서 만난다.개념적으로 고용 = 노동력 × (1 − 실업률) — 인구가 정한 노동력에서 경기적 실업을 뺀 값이다. 시나리오는 이 노동력 부분을 저위(S2) · 중위(S1·S4·S5) · 고위(S3)로 달리해 생성한다.
dec(k)로 결국 0으로 사라지지만, 노동력은 인구추계 경로라 영구적 레벨 차이로 남는다. 그래서 2035년 실질 GDP가 인구 가정에 따라 갈리는 것이 이 모형의 핵심 결과다.이렇게 만든 네 가지 충격(yus, oil, tcost, dshk)과 노동공급 경로가 전향 IS·필립스·테일러준칙·UIP·오쿤 다섯 방정식에
Fair–Taylor(Gauss–Seidel 시간반복)로 결정론적으로 대입되어, 산출갭·인플레·정책금리·환율갭·실업갭의
거시경로가 나온다. 이 거시경로가 BOKDPM 관측·파생 변수에 반영되어 얻어지는 관측 가능한 외생 6종(유가·세계수요·실질금리·실질환율·고용·우리경기)이
다시 70개 산업 월별 VARX(분기값을 3으로 나눠 월별화)와 36개 산업 BVARX의 조건부 입력으로 들어가
산업별 전망을 만든다.
| 시나리오 | 인구 | 충격(최고치 → 감쇠기간) |
|---|---|---|
| S1 기준 | 중위 | 무충격 |
| S2 제약+위기 | 저위 | 해외수요 −1.2(12분기) · 유가 −8.0(8분기) · 교역비용 +1.5(12분기) · 내수 −1.0(12분기) |
| S3 제약완화 | 고위 | 해외수요 +0.6(12분기) · 유가 −3.0(8분기) · 교역비용 −1.0(12분기) · 내수 +0.5(12분기) |
| S4 기술도약 | 중위 | 해외수요 +0.8(20분기) · 내수 +0.6(28분기) |
| S5 지정학 | 중위 | 유가 +15.0(8분기) · 교역비용 +2.0(10분기) · 해외수요 −0.6(10분기) · 내수 −0.8(10분기) |
code/08_dsge_block.py의 scenario_inputs()·labor_force_growth() 그대로 재현.