설명
GuaranteeModel.gms: 보증을 통한 보험 정책 관리 - Prometeia 모델. Consiglio, Nielsen, Vladimirou 및 Zenios: 재무 최적화 모델 라이브러리, 섹션 7.4 Zenios: 실용적인 재무 최적화, 12장도 참조하세요. 최종 수정일: 2005년 11월.
카테고리 : 슬롯 FIN 라이브러리
메인파일 : GuaranteeModel.gms 다음을 포함합니다: GuaranteeCommonInclude.inc AssetReturns-Guarantee.inc AbandonProbabilities.inc PeriodicCapFactors.inc CapFactors.inc
* GuaranteeModel.gms: 보증을 통한 보험 정책 관리 - Prometeia 모델.
* Consiglio, Nielsen, Vladimirou 및 Zenios: 재무 최적화 모델 라이브러리, 섹션 7.4
* Zenios: 실용적인 재무 최적화, 12장도 참조하세요.
* 최종 수정일: 2005년 11월.
$include "GuaranteeCommonInclude.inc"
$include "AssetReturns-Guarantee.inc";
$include "AbandonProbabilities.inc";
$include "PeriodicCapFactors.inc";
$include "CapFactors.inc";
긍정적인 변수
HO(i) 자산 보유
YP(l,t) yPlus - 최소 보증을 초과하는 잉여금입니다.
YM(l,t) yMinus - 최소 보증이 부족하여 적자.;
자유 변수
PRT(l,t) 포트폴리오 수익률.
EUROE 기대 유틸리티 자기자본 수익률;
방정식
OFe 목적 함수 방정식.
BAe 균형 방정식.
PRTd(l,t) 포트폴리오 수익률 역학.
YPMd(l,t) yPlus 및 yMinus 역학을 정의하는 방정식.
OFe.. 유로 =E= (1.0/CARD(l)) * SUM(l, LOG (((1+rho) *
PROD (t, (1+PRT(l,t))) + SUM(t, ((YM(l,t) - (abp(t) * (1.0 + mig + YP(l,t)))) *
PROD(k$(ORD(k) > ORD(t)), (1.0 + PRT(l,k))) *
PROD(k$(ORD(k) < ORD(t)), ((1 - abp(k)) * (1.0 + mig + YP(l,k)))))) -
PROD(t,((1 - abp(t)) * (1.0 + mig + YP(l,t))))) / (( rho * cf(l)) +
SUM(t, YM(l,t) * pcf(l,t) * PROD(k$(ORD(k) < ORD(t)),
((1 - abp(k)) * (1.0 + mig + YP(l,k))))))
)
);
BAe.. SUM(i, HO(i)) =E= 1.0;
PRTd(l,t).. PRT(l,t) =E= SUM(i, (HO(i) * ar(l,t,i)));
YPMd(l,t).. (ptr * PRT(l,t) - mig) =E= YP(l,t) - YM(l,t);
모델 Prometeia모델 'PFO 12.4.1' /ALL/;
* 초기 솔루션을 추측하고 변수의 범위를 설정합니다.
HO.UP(i) = 1.0;
HO.L(i) = 0.0;
HO.L('AA_1') = 0.8;
HO.L('AA_2') = 0.2;
PRT.L(l,t) = SUM(i, (HO.L(i) * ar(l,t,i)));
YM.L(l,t) = - MIN ((ptr * PRT.L(l,t) - mig), 0);
YP.L(l,t) = MAX ((ptr * PRT.L(l,t) - mig), 0);
유로화를 극대화하는 NLP를 사용하여 Prometeia 모델을 해결합니다.
* 사후 최적화 계산 및 출력
스칼라
OptimalCeXRoe 최적 확실성 등가 초과 자기자본수익률
AnnualNetCeXRoe OptimalCeXRoe의 연간 세금 환산액
ExpGuarCost 예상 보증 비용.
매개변수
FinalEquity(l) 최종 자기자본 수준;
OptimalCeXRoe = EXP ( EUROE.L );
최종 자산(l) = ( rho * cf(l) ) +
SUM(t, YM.L(l,t) * pcf(l,t) *
PROD(k$(ORD(k) < ORD(t)),
((1 - abp(k)) * (1.0 + mig + YP.L(1,k)))));
ExpGuarCost = (1.0 / CARD(l) ) * SUM (l, (FinalEquity(l) / cf(l)) - (rho * ili) );
AnnualNetCeXRoe = ((OptimalCeXRoe)**(1/CARD(t)) - 1) * (1 - txr);
파일 ResultHandle /"InsuranceResults.csv"/;
ResultHandle.pc = 5;
ResultHandle.pw = 1048;
PUT 결과 핸들;
PUT "시나리오 수", CARD(l):0:0/;
PUT "참여율", ptr:0:3/;
PUT "최소 보장", mig:0:4/;
PUT "자본 비율", rho:0:3/;
PUT "모델 상태", PrometeiaModel.MODELSTAT:0:0/;
PUT "포트폴리오 구성" /;
LOOP (i $HO.L(i),
PUT i.TL,i.TE(i),HO.L(i):12:8/
);
PUT "CExROE","연간 순 CExROE","최소 보증 비용"/;
PUT OptimalCeXRoe:12:8,AnnualNetCeXRoe:12:8,ExpGuarCost:12:8/;
매개변수 YPYM(l,t);
YPYM(l,t) = YP.L(l,t) * YM.L(l,t);
YPYM 표시;