샤프 : 샤프 모델입니다.

설명

Sharpe.gms: 샤프 모델.
콘실리오, 닐슨, 제니오스.
실제 재무 최적화: 슬롯 나라 모델 라이브러리, 섹션 3.3
최종 수정 날짜: 2008년 4월.

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


메인파일 : Sharpe.gms 포함: 추정.gdx

$title 샤프 모델

* Sharpe.gms: 샤프 모델.
* Consiglio, Nielsen 및 Zenios.
* 실제 재무 최적화: 슬롯 나라 모델 라이브러리, 섹션 3.3
* 최종 수정일: 2008년 4월.

SET 자산;

ALIAS(자산,i,j);

매개변수
         무위험비율
         ExExpectedReturns(i) 초과 기대 수익
         ExVarCov(i,j) 초과 수익의 분산-공분산 행렬.

$gdxIn 추정치
$load Assets=하위 집합 RiskFreeRate=MeanRiskFreeReturn ExVarCov=ExcessCov
$load ExExpectedReturns=MeanExcessRet
$gdxIn

긍정적인 변수
    x(i) 자산 보유;

변수
   PortVariance 포트폴리오 분산
   d_bar 포트폴리오 기대초과수익률
   z 목적 함수 값;

방정식
    포트폴리오 초과 수익을 정의하는 ReturnDef 방정식
    포트폴리오 초과 차이를 정의하는 VarDef 방정식
    정규화 제약 조건을 정의하는 NormalCon 방정식
    ObjDef 목적 함수 정의;

ReturnDef .. d_bar =E= SUM(i, ExExpectedReturns(i) * x(i));

VarDef .. PortVariance =E= SUM((i,j), x(i) * ExVarCov(i,j) * x(j));

NormalCon .. SUM(i, x(i)) =E= 1;

ObjDef .. z =E= d_bar / SQRT( PortVariance );

* 모델에 문제가 발생하지 않도록 Variance에 엄격하게 양수 경계를 설정합니다.

PortVariance.LO = 0.001;

모델 샤프 /ReturnDef, VarDef, NormalCon, ObjDef/;

nlp를 사용하여 z를 최대화하는 Sharpe 해결;

* 최적의 샤프 비율을 사용하여 효율적인 프론티어를 구축하세요.
* 이 경우 국경은 선으로 표시됩니다.
* 기울기는 샤프비율이고 절편은 벤치마크 수익률과 동일합니다.
* 스칼라 "세타"는
* 탄젠시 포트폴리오에 투자된 금액입니다. 세타가 다음보다 작을 때
* 1, 자본의 일부는 기준금리로 투자됩니다. 세타가 클 때
* 1보다 투자자는 기준금리로 차입하여 투자한다.
* 탄젠트 포트폴리오에서 수익을 얻습니다. (벤치마크라고 가정하겠습니다.
*는 위험이 없으므로 분산이 0입니다.

스칼라
   세타(theta) 시장 포트폴리오에 투자된 부의 비율
   CurrentPortVariance 현재 포트폴리오의 차이
   CurrentPortReturn 현재 포트폴리오의 반환입니다.

파일 SharpeHandle /"SharpeFrontier.csv"/;

SharpeHandle.pc = 5;

PUT 샤프핸들;

PUT "표준편차", "기대수익률", "세타"/;

FOR ( CurrentPortVariance = 0 TO 1 BY 0.1,

     theta = SQRT ( CurrentPortVariance / PortVariance.L );
     CurrentPortReturn = RiskFreeRate + theta * d_bar.L;
     PUT SQRT(CurrentPortVariance):6:5, CurrentPortReturn:6:5, theta:6:5/;
);

* 또한 탄젠트 포트폴리오를 플롯합니다.

세타 = 1;

PUT SQRT(PortVariance.L):6:5,(RiskFreeRate + theta * d_bar.L):6:5,theta:6:5/;

PUTCLOSE;