[chap3] 투자 성과 분석 지표

hijyun·2021년 7월 25일
0
post-thumbnail

다음 내용은 한빛미디어 <퀀트 전략을 위한 인공지능 트레이딩>을 공부하며 요약한 내용입니다.

연평균 복리 수익률 (CAGR)

수익률 성과를 분석할 때 산술평균보다 기하평균 수익률이 선호되는 이유
: 복리 성질과 주기 변동이 심한 때에 따라서 변동성이 표현되기 때문

CAGR(t0,tn)=V(tn)V(t0)1tnt01CAGR(t_0,t_n) = \frac{V(t_n)}{V(t_{0})}^{\frac{1}{t_n-t_0}}-1

V(tn):V(t_n) :초기값
V(t0):V(t_0) :최종값
tnt0t_n-t_0:연 횟수

<파이썬 코드>

CAGR = price_df.loc['2021-07-23','st_rtn'] ** (252./len(price_df.index))-1
  • 2021년 7월 23일의 최종 누적 수익률의 누적 연도 제곱근을 구하는 것.
  • 일 데이터를 사용했으므로 전체 연도를 구하기 위해 전체 데이터 기간을 252로 나눈 역수를 제곱 연산한다.
  • 금융 공학에서 1년은 252영업일로 계산
  • 그리고 -1을 하면 수익률이 나온다.

최대 낙폭 (MDD)

: 투자 기간에 고점부터 저점까지 떨어지는 낙폭 중 최대값을 의미함.

  • 투자자가 겪을 수 있는 고통을 측정하는 지표. 낮을수록 좋음.

최대낙폭=Trough ValuePeak ValuePeak Value최대낙폭 = \frac{Trough \ Value - Peak \ Value}{Peak\ Value}

Peak Value : 관측 기간 최고점 가격
Trough Value : 관측 기간 최저점 가격

  • cummax()는 누적 최댓값을 반환
  • 최댓값이 아닌 행별 차례로 진행하면서 누적 값을 갱신한다.
  • 현재 수정 종가에서 누적 최댓값 대비 낙폭률을 계산하고 cummin() 함수를 사용해 최대 하락률을 계산

변동성 (Vol)

: 주가 변화 수익률 관점의 변동률.

  • 변동성은 금융 자산의 방향성에 대한 불확실성과 가격 등락에 대한 위험 예상 지표로 해석.
  • 수익률의 표준 편차를 변동성으로 계산함

σp=σP\sigma_p = \sigma_{일}\sqrt{P}

VOL = np.std(price_df['daily_rtn']) * np.sqrt(252.)
  • 변동성은 수익률의 표준편차로 계산함
  • 일 단위 변동성을 의미함
  • 루이바슐리에 투기이론에 따라 주가의 변동폭은 시간의 제곱근에 비례한다는 연구 결과에 따라 일 단위 변동성을 연율화할때 252의 제곱근을 곱함

샤프 지수

위험 대비 수익성 지표

Sa=E[RaRb]σa=E[RaRb]var[RaRb]S_a = \frac{E[R_a-R_b]}{\sigma_a} = \frac{E[R_a-R_b]}{\sqrt{var[R_a-R_b]}}

  • RaR_a는 자산 쉭률이고 RbR_b는 무위험 수익률이나 기준 지표 자산 수익률이다.
    • 사후적 샤프 비율 ex-post Sharpe ratio 은 자산의 실현 수익률을 사용한다.
    • 실현 수익률은 산술평균/실현 수익률의 변동성으로 계산한다.
Sharpe = np.mean(price_df['daily_rtn']) / np.std(price_df['daily_rtn']) * np.sqrt(252.)
profile
아무것도 모릅니다

1개의 댓글

comment-user-thumbnail
2022년 9월 25일

안녕하세요. 혹시 작성하신 글에 대해서 책 저자들에게 저작권 허가를 받으셨었나요?

답글 달기