MPT(Modern Portfolio Theory)는 1년대에 경제학자 Harry Markowitz[50]에 의해 최적의 포트폴리오 할당을 객관적으로 찾는 방법으로 제안되었습니다. 따라서 주어진 기대 수익에 대한 위험을 최소화하거나 주어진 위험 수준에 대한 수익을 최대화하는 포트폴리오를 구축하는 데 사용할 수 있습니다.
간단히 말해서 이론은 다음 개념을 기반으로 합니다.
- 두 가지 주요 수량: 예상 수익 그리고 변화 (변동성과 그에 따른 위험의 대리인) 고려 기간 동안의 포트폴리오;
- XNUMXD덴탈의 효율적인 국경: 주어진 수익에 대해 위험이 최소화되는 위험-수익 트레이드오프의 의미에서 최적의 포트폴리오 세트;
- 다각화: 단일 자산은 특히 변동성이 높을 수 있지만 여러 자산을 효율적으로 결합하면 상관 관계의 영향으로 인해 전체 변동성이 크게 감소된 포트폴리오로 이어질 수 있습니다.
포트폴리오의 기대수익률은 확률변수로 정의됩니다. R, 로 얻은 가중 합계 각 자산의 기대수익률(만약 우리가 N) 고려된 기간 동안(이 자습서에서는 XNUMX년을 선택합니다):
자산의 기대 수익 i 다시 확률 변수이고, w_i 자산 i에 할당된 포트폴리오의 비율입니다.
스포일러 경고: 이 가중치는 우리가 최적화하고자 하는 것입니다! ;). 기대 수익을 얻으려면 기대 연산자의 선형성으로 간단히 다음을 얻습니다.
다음과 같이 벡터화할 수 있습니다.
우리가 고려한다면 w 가중치 벡터로, R을 (각) 자산 반환 벡터로 사용합니다. "라는 개념 자체가return” 여기에서 다소 모호하고 이를 공식적으로 정의할 수 있는 다른 유효한 공식이 존재합니다. 우리는 사용할 것입니다 종료 가격과 시작 가격 사이의 비율의 로그 고려된 기간 동안, 즉
이 시점에서 우리는 값을 근사화해야 합니다.s E[R_i] 우리가 고려하고 있는 자산의 경우: MTP는 수익이 독립적이고 동일하게 분포된다는 가설을 기반으로 하므로 일일 수익의 예상 가치를 계산한 다음 해당 기간의 거래일 수를 곱하면 됩니다. 암호화폐 시장이 항상 상승하고 있기 때문에 이것은 단지 365입니다.
당 변화 우리 포트폴리오의 우선, 우리는 두 개의 확률 변수 X와 Y에 대해 공분산이 다음과 같이 정의된다는 것을 상기해야 합니다.
수집된 데이터에서 계산할 수 있습니다. 사실 그 점을 감안하면 X 및 Y 이 경우 자산 쌍의 가격이고, 두 번째 항은 위의 고려 사항에서 쉽게 얻을 수 있는 반면 첫 번째 항은 모든 일일 수익률의 제품 평균에 거래 일수에서 XNUMX을 제곱한 값을 곱하여 파생됩니다. 총 포트폴리오 분산은 다음과 같습니다.
(계산에 대한 자세한 내용은 [2]에서 영감을 얻었습니다.) 식을 다시 공분산 행렬을 도입하여 벡터화할 수 있습니다. 시그마 as
예상(로그) 수익과 분산을 정의했으므로 이제 둘 사이의 절충을 최소화할 비용 함수로 정의할 수 있습니다. 우리가 관심이 있다면 위험을 설정, 우리는 다음과 같이 최적의 가중치를 얻을 수 있습니다.
어디에 r 는 위험 허용 범위(높을수록 분산 및 수익이 높음)입니다. 대신, 우리가 원하는 경우 예상 수익을 수정, 우리는 의지할 수 있습니다
어디에 k 는 우리가 기대하는 (로그) 수익입니다. 두 경우 모두 해결해야 합니다. 제한된 최소화(가중치 및 두 번째 경우 예상 수익에 대한 제약으로 인해)는 다음에서 매우 쉽습니다. Scipy.
Python 구현을 진행하기 전에 MPT의 맥락에서 자주 고려되는 추가 수량을 정의할 수 있습니다. 샤프 비율. 이는 포트폴리오의 분산(위험)으로 정규화된 "무위험" 투자(예: 미국 국채)에 대한 포트폴리오의 성과로 정의됩니다. 가중치 w의 함수로 쉽게 구할 수 있으므로 최적화도 가능합니다. 사실로,