threemge.gms : 메가 슬롯조세 정책 분석에 대한 세 가지 접근 방식

설명

메가 슬롯 세금 정책 분석에 대한 세 가지 접근 방식

소형 유형 메가 슬롯 :MPSGE mcp


카테고리 : 메가 슬롯 모델 라이브러리


메인 파일 : 메가 슬롯gms

$title 차등 세금 정책 분석에 대한 세 가지 접근 방식(THREEMGE,SEQ=154)

$onText
차등 조세 정책 분석에 대한 세 가지 접근 방식

Rutherford, TF, MPSGE를 사용한 일반 평형 모델링 적용
메가 슬롯 하위 시스템: 모델링 프레임워크 및 구문 개요.
전산경제학 14(1999), 1-46.

       -----------------------------------------------------
       섹션 (i) 데이터 사양 및 벤치마킹

키워드: 혼합상보성 문제, 일반균형모형, 조세정책
$offText

세트
   G '상품 및 부문' / X, Y /
   F '주 요인' / K, L /
   H '가구' / 소유자, 근로자/;

별칭(S,G)

표 A(G,S) '매트릭스 만들기(부문별 상품 생산량)'
         엑스와이
   X 100
   Y80;

표 B(G,S) '매트릭스 사용(부문별 물품 투입)'
        엑스와이
   X 20
   Y10 ;

표 C(G,H) '가계수요'
       소유자 근로자
   엑스 30 50
   예 40 30;

표 FD(F,S) '부문별 요소수요'
        엑스와이
   케이 20 40
   패 50 10;

표 E(F,H) '인자 부여'
       소유자 근로자
   K 60
   엘 100;

표 D(F,H) '가구별 요소수요'
       노동자
   패 40;

표 T(F,S) '부문별 요소별 세금 납부'
        엑스와이
   K 20 10;

매개변수
   TRN(H) '이전수익' / OWNER 10, WORKER 20 /
   ELAS(S) '생산의 대체탄력성'
   ESUB(H) '수요의 대체탄력성'
   TF(F,S) '요소 세율'
   PF(F,S) '기준 요소 가격 총 세금';

ELAS(S) = 1;
ESUB(H) = 0.5;
TF(F,S) = T(F,S)/FD(F,S);
PF(F,S) = 1 + TF(F,S);

Scalar GREV '벤치마크 정부 수입';
GREV = 합계(H, TRN(H));

매개변수
   THETA(G) '숫자 가격 지수의 가중치'
   WBAR(H) '벤치마크 복지 지수';

THETA(G) = 합(H, C(G,H));
THETA(G) = THETA(G)/합(S, THETA(S));
WBAR(H) = 합(G, C(G,H)) + 합(F, D(F,H));

* 외생적으로 특정된 세율을 적용한 모델 #1 세금 정책
* 섹션 (ii) MPS/GE 모델 선언
$onText
$모델:하버거

$섹터:
   AL(들)

$상품:
   P(G) W(F) PT

$소비자:
   RA(H)정부

$보고서:
   V:CD(G,H) D:P(G) 수요:RA(H)
   V:DF(F,H) D:W(F) 수요:RA(H)
   V:EMPLOY(S) I:W("L") PROD:AL(S)
   V:WLF(H) W:RA(H)

$PROD:AL(S) s:0 a:ELAS(S)
   O:P(G) Q:A(G,S)
   I:P(G) Q:B(G,S)
   I:W(F) Q:FD(F,S) P:PF(F,S) A:GOVT T:TF(F,S) a:

$DEMAND:RA(H) s:1 a:ESUB(H)
   D:P(G) Q:C(G,H) a:
   D:W(F) Q:D(F,H)
   전자:W(여) Q:E(여,H)
   E:PT Q:TRN(H)

$Demand:정부
   D:PT Q:GREV
$offText

* 헤더 파일 읽기:
$sysInclude mpsgeset HARBERGER

* 섹션 (iii) 벤치마크 복제
HARBERGER.iterLim = 0;
$include HARBERGER.GEN
mcp를 사용하여 HARBERGER를 해결합니다.
abort$(abs(HARBERGER.objVal) > 1.E-4) "*** HARBERGER 벤치마크가 보정되지 않습니다.";
HARBERGER.iterLim = 1000;

* -----------------------------------------------------
* 섹션 (iv) 반사실적 사양 및 해결 방법:
SC '계산할 반사실적 시나리오' / L 'UNIFORM TAX ON LABOR' 설정
                                                   K '자본에 대한 획일적인 세금'
                                                   VA '균일 부가가치세' /;

매개변수
   TAXRATE(F,S,SC) '반사실적 세율'
   REPORT(*,*,*,SC) '솔루션 보고서 - % 변경 사항'
   PINDEX '가격 디플레이터';

* CETERIS를 달성하기 위해 반대 사실 세율을 지정
* 파리버스 균형예산:
TAXRATE("L",S,"L") = GREV/sum(G, FD("L",G));
TAXRATE("K",S,"K") = GREV/sum(G, FD("K",G));
TAXRATE("L",S,"VA") = GREV/sum((F,G), FD(F,G));
TAXRATE("K",S,"VA") = GREV/sum((F,G), FD(F,G));

루프(SC,
* 이 반작용에 대한 세율을 설치하세요:
   TF(F,S) = 세금율(F,S,SC);

$ HARBERGER.GEN 포함
   mcp를 사용하여 HARBERGER를 해결합니다.

* -----------------------------------------------------
* 섹션 (v) 보고서 작성:
* 일부 결과 보고:
   PINDEX = 합계(G, P.1(G)*THETA(G));
   REPORT("하버거","수익","_",SC) = 100*(PT.l/PINDEX - 1);
   REPORT("하버거","세율","_",SC) = 100*smax((F,S), 세금율(F,S,SC));
   REPORT("하버거","복지","총계",SC) = 100*(sum(H, WBAR(H)*(WLF.l(H) - 1))/sum(H, WBAR(H)));
   REPORT("하버거","복지",H,SC) = 100*(WLF.l(H) - 1);
   REPORT("하버거","고용",S,SC) = 100*(EMPLOY.l(S)/FD("L",S) - 1);
   REPORT("하버거","가격",G,SC) = 100*(P.l(G)/PINDEX - 1);
   REPORT("하버거","가격",F,SC) = 100*(W.l(F)/PINDEX - 1);
   REPORT("하버거","출력",S,SC) = 100*(AL.l(S) - 1);
);

* -----------------------------------------------------
* 모델#2 내생적 차등조세 정책
* 동일한 수익률을 달성하기 위한 요율 조정

* 섹션 (ii) MPS/GE 모델 선언
$onText
$모델:쇼벤

$섹터:
   AL(들)

$상품:
   P(G) W(F) PT

$소비자:
   RA(H) 정부

$보조:
   타우

$보고서:
   V:CD(G,H) D:P(G) 수요:RA(H)
   V:DF(F,H) D:W(F) 수요:RA(H)
   V:EMPLOY(S) I:W("L") PROD:AL(S)
   V:WLF(H) W:RA(H)

$PROD:AL(S) s:0 a:ELAS(S)
   O:P(G) Q:A(G,S)
   I:P(G) Q:B(G,S)
   I:W(F) Q:FD(F,S) P:PF(F,S) A:GOVT N:TAU M:TF(F,S) a:

$DEMAND:RA(H) s:1 a:ESUB(H)
   D:P(G) Q:C(G,H) a:
   D:W(F) Q:D(F,H)
   전자:W(여) Q:E(여,H)
   E:PT Q:TRN(H)

$Demand:정부
   D:PT Q:GREV

$제약:TAU
   PT =g= 합(G, THETA(G)*P(G));
$offText
$sysInclude mpsgeset SHOVEN

* -----------------------------------------------------
* 섹션 (iii) 벤치마크 복제

* 보조 변수의 기본 초기값은 0입니다.
* 따라서 벤치마크를 복제하려면 레벨을 할당해야 합니다.
* 화합에 대한 가치:
TAU.1 = 1;

* 벤치마크 세율을 다시 설치합니다.
TF(F,S) = PF(F,S) - 1;

* 벤치마크 균형이 재현되었는지 확인합니다.
SHOVEN.iterLim = 0;
$include SHOVEN.GEN
mcp를 사용하여 SHOVEN을 해결합니다.
abort$(abs(SHOVEN.objVal) > 1.E-4) "*** SHOVEN 벤치마크가 보정되지 않습니다.";
SHOVEN.iterLim = 1000;

* -----------------------------------------------------
* 섹션 (iv) 반사실적 사양 및 해결 방법:
루프(SC,
* 이 반작용에 대한 세율을 설치하세요:
   TF(F,S) = 세금율(F,S,SC);

$ SHOVEN.GEN 포함
   mcp를 사용하여 SHOVEN을 해결합니다.

* -----------------------------------------------------
* 섹션 (v) 보고서 작성:
   PINDEX = 합계(G, P.1(G)*THETA(G));

   REPORT("SHOVEN","수익","_",SC) = 100*(PT.l/PINDEX - 1);
   REPORT("SHOVEN","세율","_",SC) = 100*TAU.l*smax((F,S), 세금율(F,S,SC));
   REPORT("SHOVEN","복지","총계",SC) = 100*(sum(H, WBAR(H)*(WLF.l(H) - 1))/sum(H, WBAR(H)));
   REPORT("SHOVEN","복지",H,SC) = 100*(WLF.l(H) - 1);
   REPORT("SHOVEN","EMPLOY",S,SC) = 100*(EMPLOY.l(S)/FD("L",S) - 1);
   REPORT("SHOVEN","PRICE",G,SC) = 100*(P.l(G)/PINDEX - 1);
   REPORT("SHOVEN","PRICE",F,SC) = 100*(W.l(F)/PINDEX - 1);
   REPORT("쇼븐","출력",S,SC) = 100*(AL.l(S) - 1);
);

매개변수
   V(H) '공공재의 벤치마크 가치 평가'
   VSHR(H) '민간 수요의 일부인 공공재 수요'
   GD(G) '정부 수요에 대한 투입';

V(H) = TRN(H);
VSHR(H) = V(H)/합(G, C(G,H));
GD(G) = 합(H, VSHR(H)*C(G,H));

* 민간 수요 재조정, 민간 수요 일부 이동
* 공공재 부문 투입 항목:
C(G,H) = (1 - VSHR(H))*C(G,H);

* -----------------------------------------------------
* 모델 #3 내생적 조세 차등 정책
* 최적을 유지하기 위한 요금 조정
* 순수 공익 제공.

* 섹션 (ii) MPS/GE 모델 선언
$onText
$모델:사무엘슨

$섹터:
   AL(S) GP

$상품:
   P(G) W(F) PG VG(H)

$소비자:
   RA(H) 정부

$보조:
   타우 LGP

$보고서:
   V:CD(G,H) D:P(G) 수요:RA(H)
   V:DF(F,H) D:W(F) 수요:RA(H)
   V:EMPLOY(S) I:W("L") PROD:AL(S)
   V:WLF(H) W:RA(H)

$PROD:AL(S) s:0 a:ELAS(S)
   O:P(G) Q:A(G,S)
   I:P(G) Q:B(G,S)
   I:W(F) Q:FD(F,S) P:PF(F,S) A:GOVT N:TAU$TF(F,S) M:TF(F,S)$TF(F,S) a:

$PROD:GP s:0
   O:PG Q:GREV
   I:P(G) Q:GD(G)

$DEMAND:RA(H) s:1 a:ESUB(H)
   D:P(G) Q:C(G,H) a:
   D:W(F) Q:D(F,H)
   D:VG(H) Q:V(H)
   E:VG(H) Q:V(H) R:LGP
   전자:W(여) Q:E(여,H)

$Demand:정부
   D:PG Q:GREV

$제약:TAU
   GREV*PG =g= 합(H, V(H)*VG(H));

$제약:LGP
   LGP =g= GP;
$offText
$sysInclude mpsgeset SAMUELSON

* 보조 변수의 기본 초기값은 0입니다.
* 따라서 벤치마크를 복제하려면 레벨을 할당해야 합니다.
* 화합에 대한 가치:
TAU.1 = 1;
LGP.1 = 1;

* 벤치마크 세율을 다시 설치합니다.
TF(F,S) = PF(F,S) - 1;

* 벤치마크 균형이 재현되었는지 확인합니다.
SAMUELSON.iterLim = 0;
$include SAMUELSON.GEN
mcp를 사용하여 SAMUELSON을 해결합니다.
abort$(abs(SAMUELSON.objVal) > 1.E-4) "*** SAMUELSON 벤치마크가 보정되지 않습니다.";
SAMUELSON.iterLim = 1000;

루프(SC,
* 이 반작용에 대한 세율을 설치하세요:
   TF(F,S) = 세금율(F,S,SC);

$에는 SAMUELSON.GEN이 포함됩니다.
   mcp를 사용하여 SAMUELSON을 해결합니다.

   PINDEX = 합계(G, P.1(G)*THETA(G));

* 백분율 변경사항 보고:
   REPORT("사무엘슨","수익","_",SC) = 100*(GP.l*PG.L/PINDEX - 1);
   REPORT("사무엘슨","세율","_",SC) = 100*TAU.l*smax((F,S), TF(F,S));
   REPORT("사무엘슨","복지","총계",SC) = 100*(sum(H, WBAR(H)*(WLF.l(H) - 1))/sum(H, WBAR(H)));
   REPORT("사무엘슨","복지",H,SC) = 100*(WLF.l(H) - 1);
   REPORT("SAMUELSON","PROVISION","_",SC) = 100*(GP.l - 1);
   REPORT("사무엘슨","고용",S,SC) = 100*(EMPLOY.l(S)/FD("L",S) - 1);
   REPORT("사무엘슨","가격",G,SC) = 100*(P.l(G)/PINDEX - 1);
   REPORT("사무엘슨","가격",F,SC) = 100*(W.l(F)/PINDEX - 1);
   REPORT("사무엘슨","출력",S,SC) = 100*(AL.l(S) - 1);
);

* 최종 보고서 생성:
옵션 보고서:1:2:1;
보고서 표시;