portfolio.gms : 확률론적 포트폴리오 모델

설명

이것은 LINGO 모델의 무료 슬롯 사이트 버전입니다

조건부 위험 가치 모델(PORTCVAR)
확률 세타(예: 0.1)를 지정합니다.
그런 다음 모델이 a) 목표 수익,
b) 포트폴리오 구성
 최대 세타*목표 - (목표보다 부족할 것으로 예상됨)
모든 시나리오의 가능성이 동일하다면 쉽게 알 수 있습니다.
그렇다면 목표를 높이는 것이 좋습니다.
세타 미만의 시나리오는 목표에 미치지 못합니다.
따라서 최적의 경우 목표를 놓칠 확률은
세타에 관한 것입니다.;

핵심 단어: 조건부 위험 가치, CVAR, 위험 가치,
           하락 위험, 시나리오 방법, 포트폴리오;

소형 모델 유형 :SP


카테고리 : 무료 슬롯 사이트 EMP 라이브러리


메인 파일 : portfolio.gms

$title 확률론적 포트폴리오 모델(PORTFOLIO,SEQ=80)

$onText

이것은 LINGO 모델의 무료 슬롯 사이트 버전입니다.

조건부 위험 가치 모델(PORTCVAR)
확률 세타(예: 0.1)를 지정합니다.
그런 다음 모델이 a) 목표 수익,
b) 포트폴리오 구성
 최대 세타*목표 - (목표보다 부족할 것으로 예상됨)
모든 시나리오의 가능성이 동일하다면 쉽게 알 수 있습니다.
그렇다면 목표를 높이는 것이 좋습니다.
세타 미만의 시나리오는 목표에 미치지 못합니다.
따라서 최적의 경우 목표를 놓칠 확률은
세타에 관한 것입니다.;

핵심 단어: 조건부 위험 가치, CVAR, 위험 가치,
           하락 위험, 시나리오 방법, 포트폴리오;

$offText

j 자산 설정 / ATT, GMC, USX /
    시나리오 / s1*s12 /

테이블 vs(s,j) 시나리오 자산 수익
     att gmc usx
 s1 1.300 1.225 1.149
 s2 1.103 1.290 1.260
 s3 1.216 1.216 1.419
 s4 0.954 0.728 0.922
 s5 0.929 1.144 1.169
 s6 1.056 1.107 0.965
 s7 1.038 1.321 1.133
 s8 1.089 1.305 1.732
 s9 1.090 1.195 1.021
s10 1.083 1.390 1.131
s11 1.035 0.928 1.006
s12 1.176 1.715 1.908;

별칭(j,jj);
매개변수
    평균(j) 평균 수익률
    dev(s,j) 편차
    covar(j,jj) 수익의 공분산 행렬
    tot평균 총 평균 수익률;

평균(j) = 합계(s, vs(s,j))/카드(들);
dev(s,j) = vs(s,j) - 평균(j);
covar(j,jj) = sum(s, dev(s,j)*dev(s,jj))/(카드(들)-1);
totmean = sum(j, 평균(j))/card(j);

평균, dev, covar, totmean 표시;

매개변수
    p(s) 확률 / #s [1/카드] /
    v(j) 자산 반환; v(j) = 평균(j);
스칼라
    세타 상대 부피 / [1-0.9] /
    람다 가중치 EV 대 CVaR/0.2/;

변수
    r 각 시나리오에서 포트폴리오의 가치
    w(j) 포트폴리오 선택;

양의 변수 w;

방정식
    포트폴리오 반환 연기
    예산 예산 제약;

defr..r =e= sum(j, v(j)*w(j));

예산.. sum(j, w(j)) =e= 1;

모델 포트폴리오 / 모두 /;

파일 emp / '%emp.info%' /; emp.nd=4;
put emp '* 문제 %무료 슬롯 사이트i%'
      / '2단계 r defr v'
      / "jrandvar v('att') v('gmc') v('usx')"
루프(들,
  put / p(s) vs(s,"att") vs(s,"gmc") vs(s,"usx"));
putclose emp;

매개변수
    s_v(s,j) 시나리오 /s1.att 1/에 따라 자산에서 반환
    s_r(s) 시나리오별 포트폴리오 수익;

dict/s .scenario를 설정하세요.''
           v.randvar. s_v
           r.레벨.   s_r /;

emp max r 시나리오 dict를 사용하여 포트폴리오를 해결합니다.

s_r을 표시;

put emp '* 문제 %무료 슬롯 사이트i%'
      /'크발로' 세타
      / '2단계 r defr v'
      / "jrandvar v('att') v('gmc') v('usx')"
루프(들,
  put / p(s) vs(s,"att") vs(s,"gmc") vs(s,"usx"));
putclose emp;

emp max r 시나리오 dict를 사용하여 포트폴리오를 해결합니다.
s_r을 표시;

* EV(r) 및 CVaR(r)에 대한 볼록 조합이 포함된 확장 모델
변수
    r 위험에 따른 CVaR_r 조건부 값
    EV_r r의 기대값
    obj 목적변수;
방정식
    두 위험 측정에 대한 defobj 볼록 조합;

defobj..obj =e= 람다*EV_r + (1-람다)*CVaR_r;

모델 포트폴리오_ext / 모두 /;

put emp '* 문제 %무료 슬롯 사이트i%'
      / '예상값 r EV_r'
      / 'cvarlo r CVaR_r ' 세타
      / '2단계 r defr v'
      / '1단계 defobj obj'
      / "jrandvar v('att') v('gmc') v('usx')"
루프(들,
  put / p(s) vs(s,"att") vs(s,"gmc") vs(s,"usx"));
putclose emp;

emp max obj 시나리오 dict를 사용하여 포트폴리오_ext를 해결합니다.
s_r 표시;