설명
Corporate.gms: 회사채 지수화 모델 콘실리오, 닐슨, 제니오스. 실제 재무 최적화: 슬롯 커뮤니티 모델 라이브러리, 섹션 8.3 최종 수정 날짜: 2008년 5월.
카테고리 : 슬롯 커뮤니티 FIN 라이브러리
메인파일 : 기업.gms 포함: CorporateCommonInclude.inc CorporateScenarios.inc
$title 회사채 지수화 모델
* Corporate.gms: 회사채 지수화 모델
* Consiglio, Nielsen 및 Zenios.
* 실제 재무 최적화: 슬롯 커뮤니티 모델 라이브러리, 섹션 8.3
* 최종 수정일: 2008년 5월.
$include "CorporateCommonInclude.inc"
$include "CorporateScenarios.inc"
매개변수
BroadWeights(j) 광범위한 자산 클래스의 가중치
AssetWeights(i) 지수 내 각 자산의 가중치.
* 가중치를 무작위로 할당
AssetWeights(i) = UNIFORM(1,10);
DISPLAY 자산 가중치;
* 무작위 가중치를 정규화
스칼라
가중치합;
WeightsSum = SUM(i, AssetWeights(i) );
AssetWeights(i) = AssetWeights(i) / WeightsSum;
BroadWeights('BA_1') = SUM(m1, AssetWeights(m1) );
BroadWeights('BA_2') = SUM(m2, AssetWeights(m2) );
BroadWeights('BA_3') = SUM(m3, AssetWeights(m3) );
매개변수
IndexReturns(l) 지수 수익률 시나리오
BroadAssetReturns(j,l) 광범위한 자산 클래스 수익률 시나리오
벤치마크(l) 현재 벤치마크 시나리오 수익;
BroadAssetReturns('BA_1',l) = SUM(m1, AssetWeights(m1) * AssetReturns(m1,l));
BroadAssetReturns('BA_2',l) = SUM(m2, AssetWeights(m2) * AssetReturns(m2,l));
BroadAssetReturns('BA_3',l) = SUM(m3, AssetWeights(m3) * AssetReturns(m3,l));
IndexReturns(l) = SUM(j, BroadWeights(j) * BroadAssetReturns(j,l));
스칼라
CurrentWeight 전술 할당을 위한 현재 가중치
EpsTolerance 공차;
매개변수
pr(l) 시나리오 확률;
pr(l) = 1.0 / 카드(l);
긍정적인 변수
x(i) 각 증권에 투자된 비율
z(j) 각 광범위한 자산 클래스에 투자된 비율;
자유변수
PortRet(l) 포트폴리오 수익
ObjValue 목적 함수 값.
방정식
ObjDef 전략적 모델에 대한 목적 함수(기대 수익)
BroadPortRetDef(l) 광범위한 자산 클래스에 대한 포트폴리오 수익 정의
PortRetDef(l) 포트폴리오 반환 정의
광범위한 자산 클래스에 대한 정규화 제약 조건을 정의하는 BroadNormalCon 방정식
정규화 제약 조건을 정의하는 NormalCon 방정식
MADCon(l) MAD 제약;
ObjDef.. ObjValue =E= SUM(l, pr(l) * PortRet(l));
BroadPortRetDef(l).. PortRet(l) =E= SUM(j, z(j) * BroadAssetReturns(j,l));
PortRetDef(l).. PortRet(l) =E= SUM(a, x(a) * AssetReturns(a,l));
MADCon(l).. PortRet(l) =G= Benchmark(l) - EpsTolerance;
BroadNormalCon.. SUM(j, z(j)) =E= 1.0;
NormalCon.. SUM(a, x(a)) =E= CurrentWeight;
옵션 SOLVEOPT = 교체;
MODEL StrategicModel 'PFO 모델 11.5.1' /ObjDef,BroadPortRetDef,MADCon,BroadNormalCon/;
MODEL TacticalModel 'PFO 모델 11.5.2' /ObjDef,PortRetDef,MADCon,NormalCon/;
* 전략적 모델 해결
벤치마크(l) = IndexReturns(l);
EpsTolerance = 0.02;
ObjValue를 최대화하는 LP를 사용하여 전략적 모델을 해결합니다.
DISPLAY "전략적 자산 배분";
디스플레이 z.l;
* 광범위한 자산 1(BA_1)에 대한 전술 모델 해결
CurrentWeight = z.l('BA_1');
Benchmark(l) = BroadAssetReturns('BA_1',l);
EpsTolerance = 0.02;
ACTIVE(i) = BroadAssetClassOne(i);
IF(현재가중치 > 0.05,
ObjValue를 최대화하는 LP를 사용하여 TacticalModel을 해결합니다.
디스플레이 "모델 BA_1"
디스플레이 a;
디스플레이 x.l;
);
* Broad Asset 2(BA_2)에 대한 전술 모델 해결
CurrentWeight = z.l('BA_2');
ACTIVE(i) = BroadAssetClassTwo(i);
Benchmark(l) = BroadAssetReturns('BA_2',l);
EpsTolerance = 0.03;
IF(현재가중치 > 0.05,
ObjValue를 최대화하는 LP를 사용하여 TacticalModel을 해결합니다.
디스플레이 "모델 BA_2"
디스플레이 a;
디스플레이 x.l;
);
* Broad Asset 3(BA_3)에 대한 전술 모델 해결
CurrentWeight = z.l('BA_3');
ACTIVE(i) = BroadAssetClassThree(i);
Benchmark(l) = BroadAssetReturns('BA_3',l);
EpsTolerance = 0.02;
IF(현재가중치 > 0.05,
ObjValue를 최대화하는 LP를 사용하여 TacticalModel을 해결합니다.
디스플레이 "모델 BA_3"
디스플레이 a;
디스플레이 x.l;
);
* 통합 모델 해결
현재 가중치 = 1.0;
벤치마크(l) = IndexReturns(l);
EpsTolerance = 0.02;
활성(i) = 예;
ObjValue를 최대화하는 LP를 사용하여 TacticalModel을 해결합니다.
디스플레이 "모델 통합"
디스플레이 a;
디스플레이 x.l;