설명
이 다중 지역 성장 모델은 Global 2100의 데이터를 사용했습니다. 이산화탄소 배출의 경제적 비용을 분석하는 데 사용되는 모델입니다.
대형 모델 유형 :MCP
카테고리 : 메가 슬롯 모델 라이브러리
메인 파일 : mr5mcp.gms
$title 글로벌 2100 기반 다중 지역 성장 모델(MR5MCP,SEQ=134)
$onText
이 다중 지역 성장 모델은 Global 2100의 데이터를 사용했습니다.
이산화탄소 배출의 경제적 비용을 분석하는 데 사용되는 모델입니다.
Manne, A S, Richels, R, 온실가스 보험 구매 – 경제
이산화 탄소 배출 제한 비용. MIT 출판 캠브리지, 1992.
키워드: 혼합 상보성 문제, 일반 평형 모델, CO2 배출,
온실가스, 지구온난화
$offText
세트
tp / t0*t11 /
iter '반복' / it1*it10 /;
스칼라
dev '현재 편차(%)'
contol '수렴 허용오차(%)' / 0.001 /
ny '기간당 연수'
nyb2 'ny over 2';
ny = 110/(카드(tp) - 1);
nyb2 = ny/2;
세트
메가 슬롯 '지역' / 미국, ooecd, ussr, 중국, 행 /
tlast(tp) '마지막 투영 연도'
tbase(tp) '기준 연도'
tfirst(tp) '첫 번째 투영 연도'
tnext(tp,tp) '후속 기간 표시기'
pp(tp) '투영 기간';
별칭 (t,tp), (r,메가 슬롯);
매개변수 nper(tp);
nper(t) = ord(t);
tnext(t,t+1) = 예;
tbase(t) = yes$(ord(t) = 1);
tfirst(t) = yes$(ord(t) = 2);
tlast(t) = yes$(ord(t) = 카드(t));
pp(t) = yes$(tbase(t)가 아님);
* 글로벌 2100 데이터를 읽습니다:
테이블 매크로(*, 메가 슬롯) '거시경제 및 기타 매개변수'
미국 ooecd 소련 중국 행
GDP 5.6 10.2 2.68 1.1 3.34
kgdp 2.4 2.8 3.0 3.0 3.0
감가상각비 5.00 5.00 5.00 5.00 5.00
kpvs 0.24 0.28 0.30 0.30 0.30;
$onText
gdp 초기 gdp($조)
kgdp 초기 자본-GDP 비율
감가상각비 연간 감가상각비
kpvs 자본 가치 지분 매개변수
$offText
10년 설정 / 1990, 2000, 2010, 2020, 2030, 2040, 2050, 2060, 2070, 2080, 2090, 2100 /;
매개변수 가중치(decade,tp);
테이블 성장(*, *) '잠재 GDP 성장률 - 연간 백분율'
미국 ooecd 소련 중국 행
1990년 2.50 2.70 2.50 4.50 3.75
2000년 2.00 2.00 2.00 4.00 3.30
2010년 2.00 2.00 2.00 4.00 3.30
2020년 1.75 1.75 1.75 3.75 3.05
2030년 1.50 1.50 1.50 3.50 2.80
2040년 1.50 1.50 1.50 3.50 2.80
2050년 1.25 1.25 1.25 3.25 2.55
2060년 1.25 1.25 1.25 3.25 2.55
2070년 1.125 1.125 1.125 3.125 2.425
2080 1.00 1.00 1.00 3.00 2.30
2090 1.00 1.00 1.00 3.00 2.30
2100 1.00 1.00 1.00 3.00 2.30 ;
* 성장률을 날짜에서 기간으로 변환:
성장(tp,"연도") = 1990 + 110*(ord(tp) - 1)/(카드(tp) - 1);
Weight(decade,tp) = abs(grow(tp,"연도") - (1990 + 10*(ord(decade) - 1)));
체중(10년,tp) = ((10 - 체중(10년,tp))/10)$(체중(10년,tp) <= 10);
성장(tp,메가 슬롯) = sum(10년, 체중(10년,tp)*grow(10년,메가 슬롯));
성장(10년,메가 슬롯) = 0;
디스플레이 성장;
매개변수
udr(메가 슬롯tp) '공과금 할인율'
kpvs(메가 슬롯) '자본가치 지분'
kgdp(메가 슬롯) '자본-GDP 비율'
depr(메가 슬롯) '감가상각률'
k0(메가 슬롯) '초기 자본금'
rk0(메가 슬롯) '벤치마크 자본 임대 가격'
l0(메가 슬롯) '초기 노동'
y0(메가 슬롯) '초기 GDP'
i0(메가 슬롯) '초기 투자'
c0(메가 슬롯) '초기 소비'
wb(메가 슬롯) '기준 복지 지수'
ksrv(메가 슬롯) 'n년 자본생존계수'
udf(메가 슬롯t) '공과금 할인 요소 - 기간 t'
l(메가 슬롯t) '노동공급량'
qref(t,메가 슬롯) '참조(균형 성장) 수량 경로'
pref(t,메가 슬롯) '참조(안정 상태) 가격 경로'
pkbar(메가 슬롯) '정상상태 수익률';
depr(메가 슬롯) = 매크로("depr",메가 슬롯)/100;
kpvs(메가 슬롯) = 매크로("kpvs",메가 슬롯);
y0(메가 슬롯) = 매크로("gdp",메가 슬롯);
kgdp(메가 슬롯) = 매크로("kgdp",메가 슬롯);
k0(메가 슬롯) = kgdp(메가 슬롯)*y0(메가 슬롯);
* 성장률을 백분율에서 분수로 변환:
성장(t,메가 슬롯) = 성장(t,메가 슬롯)/100;
ksrv(메가 슬롯) = 1/(1 + depr(메가 슬롯))**ny;
l0(메가 슬롯) = y0(메가 슬롯) - kpvs(메가 슬롯)*y0(메가 슬롯);
qref(tbase,메가 슬롯) = 1;
loop(t, qref(t+1,메가 슬롯) = qref(t,메가 슬롯)*(1 + 성장(t,메가 슬롯))**ny;);
rk0(메가 슬롯) = kpvs(메가 슬롯)/kgdp(메가 슬롯);
udr(메가 슬롯t) = rk0(메가 슬롯) - depr(메가 슬롯) - 성장(t,메가 슬롯);
pref(tbase,메가 슬롯) = 1;
pref(tfirst,메가 슬롯) = 1;
loop(t$(ord(t) > 1), pref(t+1,메가 슬롯) = pref(t,메가 슬롯)/((1 + udr(메가 슬롯t))*(1 + 성장(t,메가 슬롯)))**ny);
디스플레이 환경 설정, qref;
l(메가 슬롯pp) = l0(메가 슬롯)*qref(pp,메가 슬롯);
loop(tbase, i0(메가 슬롯) = k0(메가 슬롯)*(grow(tbase,메가 슬롯) + depr(메가 슬롯)););
c0(메가 슬롯) = y0(메가 슬롯) - i0(메가 슬롯);
wb(메가 슬롯) = c0(메가 슬롯)*sum(pp, pref(pp,"usa")*qref(pp,메가 슬롯));
* 유틸리티 할인 요소를 계산합니다.
udf(메가 슬롯tbase) = 1;
loop(t, udf(메가 슬롯t+1) = udf(메가 슬롯t)/(1+udr(메가 슬롯t))**ny;);
udf(메가 슬롯tlast) = udf(메가 슬롯tlast)/(1 - 1/(1 + udr(메가 슬롯tlast))**ny);
udf(메가 슬롯t) = udf(메가 슬롯t)/sum(pp, udf(메가 슬롯pp));
udr, udf를 표시합니다.
매개변수
임금
임대
소득;
임금(pp,메가 슬롯) = pref(pp,메가 슬롯);
임대(pp,메가 슬롯) = rk0(메가 슬롯)*pref(pp,메가 슬롯);
소득(메가 슬롯) = 합계(pp, 임금(pp,메가 슬롯)*l(메가 슬롯pp))
+ sum(tfirst, rent(tfirst,메가 슬롯)*(k0(메가 슬롯) + nyb2*i0(메가 슬롯))*ksrv(메가 슬롯));
양수 변수
y(메가 슬롯t) '뉴 빈티지 프로덕션'
inv(메가 슬롯t) '투자'
k(메가 슬롯t) '자본스톡'
p(t) '미래 가격'
ptc(메가 슬롯t) '최종 자본 가격'
w(메가 슬롯t) '임금율'
pk(메가 슬롯t) '자본수익률'
rk(메가 슬롯t) '자본에 대한 임대 가격'
i(메가 슬롯) '소득';
방정식
mkt_c(t) '출력 잔액'
capstk(메가 슬롯t) '자본금'
mkt_k(메가 슬롯t) '자본 사용'
mkt_l(메가 슬롯t) '노동 공급'
tc(메가 슬롯t) '터미널 투자'
prf_y(메가 슬롯t) '생산자 이익'
prf_i(메가 슬롯t) '투자 이익'
prf_k(메가 슬롯t) '자본주 이익'
incdef(메가 슬롯) '소득 정의';
mkt_c(t)$pp(t).. sum(메가 슬롯, y(메가 슬롯t)) =g= sum(메가 슬롯, udf(메가 슬롯t)*i(메가 슬롯)/p(t) + inv(메가 슬롯t));
capstk(메가 슬롯t)$pp(t).. nyb2*inv(메가 슬롯t) + nyb2*ksrv(메가 슬롯)*inv(메가 슬롯t-1) =g= k(메가 슬롯t) - k(메가 슬롯t-1)*ksrv(메가 슬롯);
mkt_k(메가 슬롯t)$pp(t).. k(메가 슬롯t) =g= (y(메가 슬롯t)/y0(메가 슬롯))*k0(메가 슬롯)*(w(메가 슬롯t)/pref(t,메가 슬롯))**(1 - kpvs(메가 슬롯))
* (rk(메가 슬롯t)/(rk0(메가 슬롯)*pref(t,메가 슬롯)))**kpvs(메가 슬롯)/(rk(메가 슬롯t)/(rk0(메가 슬롯)*pref(t,메가 슬롯)));
mkt_l(메가 슬롯t)$pp(t).. l(메가 슬롯t) =g= (y(메가 슬롯t)/y0(메가 슬롯))*l0(메가 슬롯)*(w(메가 슬롯t)/pref(t,메가 슬롯))**(1 - kpvs(메가 슬롯))
* (rk(메가 슬롯t)/(rk0(메가 슬롯)*pref(t,메가 슬롯)))**kpvs(메가 슬롯)/(w(메가 슬롯t)/pref(t,메가 슬롯));
tc(메가 슬롯t)$tlast(t).. inv(메가 슬롯t) =g= k(메가 슬롯t)*(grow(t,메가 슬롯) + depr(메가 슬롯));
prf_y(메가 슬롯t)$pp(t).. (1 - kpvs(메가 슬롯))*log(w(메가 슬롯t)/pref(t,메가 슬롯))
+ kpvs(메가 슬롯)*log(rk(메가 슬롯t)/(rk0(메가 슬롯)*pref(t,메가 슬롯)))
=g= log(p(t)/pref(t,메가 슬롯));
prf_i(메가 슬롯t)$pp(t).. p(t) =g= nyb2*pk(메가 슬롯t) + nyb2*ksrv(메가 슬롯)*pk(메가 슬롯t+1) + ptc(메가 슬롯t)$tlast(t);
prf_k(메가 슬롯t)$pp(t).. pk(메가 슬롯t) + (ptc(메가 슬롯t)*(grow(t,메가 슬롯)+depr(메가 슬롯)))$tlast(t) =g= rk(메가 슬롯t) + ksrv(메가 슬롯)*pk(메가 슬롯t+1);
incdef(메가 슬롯).. i(메가 슬롯) =g= sum(pp, w(메가 슬롯pp)*l(메가 슬롯pp))
+ sum(tfirst, (nyb2*i0(메가 슬롯) + k0(메가 슬롯))*ksrv(메가 슬롯)*pk(메가 슬롯tfirst));
모델 mrg / mkt_c.p, capstk.pk, mkt_k.rk, mkt_l.w, tc.ptc, prf_y.y, prf_i.inv, prf_k.k, incdef.i /;
* 전체 지평선 모델 작업:
tlast(t) = yes$(ord(t) = 카드(t));
pp(t) = yes$(tbase(t)가 아님);
* 잘못된 함수 호출을 방지하기 위해 경계를 설치합니다.
p.lo(t) = 0.0001*pref(t,"usa");
rk.lo(메가 슬롯t) = 0.0001*rk0(메가 슬롯)*pref(t,메가 슬롯);
w.lo(메가 슬롯t) = 0.0001*pref(t,메가 슬롯);
* 일부 스케일 팩터를 설치하십시오.
y.scale(메가 슬롯pp) = y0(메가 슬롯)*qref(pp,메가 슬롯);
inv.scale(메가 슬롯pp) = i0(메가 슬롯)*qref(pp,메가 슬롯);
k.scale(메가 슬롯pp) = k0(메가 슬롯)*qref(pp,메가 슬롯);
p.scale(t) = pref(t,"미국");
ptc.scale(메가 슬롯tlast) = pref(tlast,메가 슬롯);
w.scale(메가 슬롯t) = pref(t,메가 슬롯);
pk.scale(메가 슬롯t) = pref(t,메가 슬롯);
rk.scale(메가 슬롯t) = rk0(메가 슬롯)*pref(t,메가 슬롯);
i.scale(메가 슬롯) = 소득(메가 슬롯);
mrg.scaleopt = 1;
* 기본 시작점 설치:
y.l(메가 슬롯pp) = qref(pp,메가 슬롯)*y0(메가 슬롯);
inv.l(메가 슬롯pp) = qref(pp,메가 슬롯)*i0(메가 슬롯);
k.l(메가 슬롯pp) = qref(pp,메가 슬롯)*k0(메가 슬롯);
p.l(pp) = pref(pp,"미국");
ptc.l(메가 슬롯tlast) = pref(tlast,메가 슬롯);
w.l(메가 슬롯pp) = pref(pp,메가 슬롯);
pk.l(메가 슬롯pp) = pref(pp,메가 슬롯);
rk.l(메가 슬롯pp) = rk0(메가 슬롯)*pref(pp,메가 슬롯);
i.l(메가 슬롯) = 소득(메가 슬롯);
inv.fx(메가 슬롯tbase) = i0(메가 슬롯);
k.fx(메가 슬롯tbase) = k0(메가 슬롯);
* 가격 시스템을 정상화하기 위해 하나의 소득 수준을 수정합니다.
i.fx(메가 슬롯)$(ord(메가 슬롯) = 1) = 수입(메가 슬롯);
mcp를 사용하여 mrg를 해결합니다.