Python으로 시작하는 포트폴리오 리스크 관리
Dakota Wixom
Quantitative Analyst | QuantCourse.com

샤프 비율은 위험 조정 수익률의 척도입니다.
1966년 버전의 샤프 비율 계산식:
$$ S = \frac{ R_a - r_f }{\sigma_a} $$

효율적 프론티어 위의 모든 점은 최적 포트폴리오입니다.
다음 두 가지 주요 지점을 마르코위츠 포트폴리오라고 합니다:

최적의 포트폴리오를 어떻게 선택할까요?
Volatility와 Returns 열을 가진 무작위 포트폴리오 DataFrame df가 있다고 가정합니다:
numstocks = 5
risk_free = 0
df["Sharpe"] = (df["Returns"] - risk_free) / df["Volatility"]
MSR = df.sort_values(by=['Sharpe'], ascending=False)
MSR_weights = MSR.iloc[0, 0:numstocks]
np.array(MSR_weights)
array([0.15, 0.35, 0.10, 0.15, 0.25])
최대 샤프 비율 포트폴리오는 매력적으로 들리지만, 실제로 수익률을 예측하기는 매우 어렵습니다.
Volatility와 Returns 열을 가진 무작위 포트폴리오 DataFrame df가 있다고 가정합니다:
numstocks = 5
GMV = df.sort_values(by=['Volatility'], ascending=True)
GMV_weights = GMV.iloc[0, 0:numstocks]
np.array(GMV_weights)
array([0.25, 0.15, 0.35, 0.15, 0.10])
Python으로 시작하는 포트폴리오 리스크 관리