meanvar.gms : 재무 최적화: 위험 관리

설명

평균-분산 모델은 잔여 위험을 관리하는 데 종종 사용됩니다.
우아한 방법. 이 모델 클래스는 H Markowitz에 의한 것입니다.
이러한 개념은 1952년에 도입되었습니다. [IMMUN] 헤지와 같은 다른 모델
다양한 종류의 체계적 위험에 대비합니다.

이 파일에 제시된 모델 제품군은 다음과 같습니다.

VAR1 최소 차이 포트폴리오 모델
       글로벌 자산 배분 - 효율적인 프론티어 모델
VAR2 무위험 자산 최소 차이 모델
샤프 비율을 사용한 SHARPE 최소 분산 모델
평균 평균-분산 모델
한계 분산 정의를 사용한 MARG 평균 분산 모델

소형 모델 유형 :NLP


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


메인 파일 : meanvar.gms

$title 재무 최적화: 위험 관리(MEANVAR,SEQ=112)

$onText
평균-분산 모델은 잔여 위험을 관리하는 데 종종 사용됩니다.
우아한 방법. 이 모델 클래스는 H Markowitz에 의한 것입니다.
이러한 개념은 1952년에 도입되었습니다. [IMMUN] 헤지와 같은 다른 모델
다양한 종류의 체계적 위험에 대비합니다.

이 파일에 제시된 모델 제품군은 다음과 같습니다.

VAR1 최소 차이 포트폴리오 모델
       글로벌 자산 배분 - 효율적인 프론티어 모델
VAR2 무위험 자산 최소 차이 모델
샤프 비율을 사용한 SHARPE 최소 분산 모델
평균 평균-분산 모델
주변 분산 정의를 사용한 MARG 평균 분산 모델

Dahl, H, Meeraus, A 및 Zenios, S A, 일부 재무 최적화
모델: 위험 관리. Zenios, S A, Ed, 재무 최적화.
캠브리지 대학 출판부, 뉴욕, 뉴욕, 1993.

키워드: 비선형 프로그래밍, 위험 관리, 포트폴리오 최적화, 금융
          재무 최적화
$offText

세트
   s '투자 세트' / cn, fr, gr, jp, sw, uk, us, wr /
   i(s) '분석된 투자' / cn, fr, gr, jp, sw, uk, us /;

별칭(i,j);

* 참고: 이 사례는 헤지된 외국 증권에 대한 투자를 나타냅니다.
매개변수 mu(s) '예상 증권 반환' / cn 0.1287
                                                fr 0.1096
                                                gr 0.0501
                                                jp 0.1524
                                                남서 0.0763
                                                영국 0.1854
                                                우리 0.0620
                                                wr 0.0916 /;

테이블 q(i,j) '공분산 행렬'
           cn fr gr jp sw 영국 우리
   CN 42.18
   fr 20.18 70.89
   gr 10.88 21.58 25.51
   일본 5.30 15.41 9.60 22.33
   남 12.32 23.24 22.63 10.32 30.01
   영국 23.84 23.80 13.22 10.46 16.36 42.23
   미국 17.41 12.62 4.70 1.00 7.20 9.90 16.42;

q(i,j)$(ord(j) > ord(i)) = q(j,i);

Scalar mup '포트폴리오의 목표 기대 수익률' / 0.115 /;

변수
   v '분산'
   m '돌아가라는 뜻이야'
   x(i) '증권 i로 구성된 포트폴리오의 일부';

양수 변수 x;
x.up(i) = 1;

방정식
   vbal '분산 정의'
   mbal '평균 균형 제약 조건'
   예산 '예산 제약';

vbal.. v =e= sum((i,j), x(i)*q(i,j)*x(j));

mbal..m =e= sum(i, mu(i)*x(i));

예산.. sum(i, x(i)) =e= 1;

m.fx = mup;

모델 var1 / vbal, mbal, 예산 /;

nlp를 사용하여 v를 최소화하는 var1을 해결합니다.

$sTitle 무위험 자산 최소 차이 모델
스칼라 r '무위험 자산의 반환' / 0.0979 /;

무위험 방정식 '무위험 비율을 사용한 평균 균형 제약';

무위험.. sum(i, (mu(i)-r)*x(i)) =e= mup - r;

모델 var2 / vbal, 무위험 /;

nlp를 사용하여 v를 최소화하는 var2를 해결합니다.

디스플레이 mup, r;

샤프 비율을 사용한 $sTitle 최소 분산 모델
h(s) '과거 투자'를 설정합니다. / wr /;

스칼라 SF '수축 인자';

가변 오메가 '객관적';

방정식
  obj2 '목적 함수'
  평균 '평균 균형 제약';

obj2..오메가 =e= m/sqrt(v);

평균.. 합계(i, x(i)*(sf*sum(h, mu(h)) + (1 - sf)*mu(i))) =e= m;

ml = 1;
v.lo = 0.01;
v.1 = 1;
SF = .65;
m.lo = 0;
m.up = inf;

모델 샤프 / obj2, 평균, vbal, 예산 /;

nlp를 사용하여 오메가를 최대화하는 샤프를 해결합니다.

$sTitle 글로벌 자산 배분 - 효율적인 프론티어 모델
세트
   p '효율적인 경계점' / minvar, p1*p4, maxvar /
   pp '효율적인 경계점' / p1*p4 /;

스칼라
   vmin '최소 분산'
   vmax '최대 분산';

매개변수 xres(*,p) '다른 지점의 포트폴리오';

옵션 limCol = 0, limRow = 0;
var1.solPrint=%solPrint.quiet%;

루프(p('maxvar'),
   nlp를 사용하여 var1 최대화 m을 해결합니다.
   xres(i,p) = x.l(i);
   xres('평균',p) = ml.l;
   xres('var',p) = v.l;
   xres('상태',p) = var1.modelStat;
   vmax = v.l;
);

루프(p('minvar'),
   nlp를 사용하여 var1 최소화 v를 해결합니다.
   xres(i,p) = x.l(i);
   xres('평균',p) = ml.l;
   xres('var',p) = v.l;
   xres('상태',p) = var1.modelStat;
   vmin = v.l;
);

루프(p(pp),
   v.fx = vmin + (vmax - vmin)/(카드(pp) + 1)*ord(pp);
   nlp를 사용하여 m을 최대화하는 var1을 해결합니다.
   xres(i,p) = x.l(i);
   xres('평균',p) = ml.l;
   xres('var',p) = v.l;
   xres('상태',p) = var1.modelStat;
);

xres 표시;