Python을 활용한 정량적 리스크 관리
Dr. Jamsheed Shorish
Computational Economist
Pandas 데이터 분석 라이브러리prices.pct_change() 메서드returns의 .dot() 메서드prices = pandas.read_csv("portfolio.csv")returns = prices.pct_change()weights = (weight_1, weight_2, ...)portfolio_returns = returns.dot(weights)
returns의 DataFrame 메서드 .cov() 사용 후 연율화
covariance = returns.cov()*252print(covariance)

returns의 DataFrame 메서드 .cov() 사용 후 연율화covariance의 대각선은 개별 자산 분산
covariance = returns.cov()*252print(covariance)

returns의 DataFrame 메서드 .cov() 사용 후 연율화covariance의 대각선은 개별 자산 분산covariance = returns.cov()*252print(covariance)

weights에 따라 달라짐@ 연산자로 계산weights = [0.25, 0.25, 0.25, 0.25] # 포트폴리오에 4개 자산 가정portfolio_variance = np.transpose(weights) @ covariance @ weightsportfolio_volatility = np.sqrt(portfolio_variance)
Series.rolling()이 윈도우 생성windowed = portfolio_returns.rolling(30)volatility = windowed.std()*np.sqrt(252) volatility.plot() .set_ylabel("Standard Deviation...")

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