시작하기무료로 시작하기

금융 위기 쪼개서 살펴보기

영상에서는 글로벌 금융 위기 전·중·후를 모두 포함하는 2005 - 2010 전체 기간에 대해 투자은행 포트폴리오의 효율적 프런티어를 보셨습니다.

여기서는 이 기간을 세 개의 하위 기간, 즉 epochs로 나눕니다: 2005-2006(위기 이전, before), 2007-2008(위기 동안, during), 2009-2010(위기 이후, after). 각 기간마다 효율적 공분산 행렬을 계산하고 서로 비교해 보겠습니다.

2005 - 2010의 포트폴리오 prices는 작업 공간에 준비되어 있고, PyPortfolioOpt의 CovarianceShrinkage 객체도 제공되어 있습니다.

이 연습은 강의의 일부입니다

Python을 활용한 정량적 리스크 관리

강의 보기

연습 안내

  • 딕셔너리 epochs를 만드세요: 키(keys)는 하위 기간이고, 값(values)은 'start'와 'end' 날짜를 담은 딕셔너리입니다.
  • epochs의 각 하위 기간 키에 대해, 해당 기간의 prices 범위를 sub_price로 설정하세요.
  • sub_priceCovarianceShrinkage 객체를 사용해 각 하위 기간의 효율적 공분산 행렬을 구하세요.
  • 세 하위 기간 모두에 대해 계산된 효율적 공분산 행렬을 출력하고 비교하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Create a dictionary of time periods (or 'epochs')
epochs = { 'before' : {'start': '1-1-2005', 'end': '31-12-2006'},
           'during' : {____: '1-1-2007', 'end': '31-12-2008'},
           'after'  : {'start': '1-1-2009', ____: '31-12-2010'}
         }

# Compute the efficient covariance for each epoch
e_cov = {}
for x in epochs.keys():
  sub_price = prices.loc[epochs[x][____]:____[x]['end']]
  e_cov[x] = CovarianceShrinkage(____).ledoit_wolf()

# Display the efficient covariance matrices for all epochs
print("Efficient Covariance Matrices\n", e_cov)
코드 편집 및 실행