*해당 게시글은 2022.06.16 파이썬 금융코드 작성본을 업로드한 게시글입니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
# numpy로 MDD(maximum drawdown 구하기)
# mdd란 기간중 최고값에서 최저값의 비율 나타내는 수치
# 투자자들에게는 투자를 계획하면서 내가 어느정도까지 손실을 감내할 수 있는지 파악하고
# 해당 포트폴리오가 목적에 맞는지 파악하는데 사용함.
import numpy as np
def mdd(x) :
arr = np.array(x)
idx_lower = np.argmin(arr - np.maximum.accumulate(arr))
idx_upper = np.argmax(arr[:idx_lower])
return ((arr[idx_lower]-arr[idx_upper])/arr[idx_upper])
values = np.array([100,120,130,100,65,80,100,120,140,160])
print(mdd(values))
## mdd(고점대비 저점값)은 50% 를 뜻한다.
## 내포트폴리오가 50%까지 떨어질 가능성이 있다는 의미.
|
cs |
댓글