본문 바로가기
Python/Data Science in Industry

Implementing Minimum Variance Portfolio with Python

by Quantrol 2023. 1. 25.
반응형

이전 기사에서는 최소 분산 포트폴리오의 개념과 Yahoo Financial 라이브러리를 사용하여 이를 계산하는 방법에 대해 논의했습니다. 이 기사에서는 Python만을 사용하여 최소 분산 포트폴리오를 구현하는 방법을 보여줌으로써 한 단계 더 나아갈 것입니다. Pandas 및 Numpy 라이브러리를 사용하여 Yahoo Financial 라이브러리에서 주식 데이터를 검색하고 분석할 것입니다.

Retrieving Stock Data

최소 분산 포트폴리오를 계산하기 전에 Yahoo Financial 라이브러리에서 주식 데이터를 검색해야 합니다. 다음은 Pandas 라이브러리를 사용하여 여러 회사의 과거 주가를 검색하는 방법의 예입니다.

 

import pandas_datareader as pdr

stock_prices = pdr.get_data_yahoo(["AAPL", "GOOG", "AMZN", "MSFT"])

 

그러면 Apple, Google, Amazon 및 Microsoft 회사의 과거 주가가 검색됩니다. 날짜 범위 및 기타 매개변수를 지정하여 특정 데이터를 검색할 수도 있습니다.

Calculating the Minimum Variance Portfolio

주가가 파악되면 Pandas 및 Numpy 라이브러리를 사용하여 최소 분산 포트폴리오를 계산할 수 있습니다. 다음은 최소 분산 포트폴리오를 계산하는 방법의 예입니다.

 

import numpy as np
import pandas as pd

# Calculate the expected returns and covariance matrix
expected_returns = stock_prices.mean()
cov_matrix = stock_prices.cov()

# Calculate the minimum variance portfolio
portfolio_return = 0.1
portfolio_volatility = portfolio_return**2 *np.linalg.inv(cov_matrix)
min_var_portfolio = np.dot(portfolio_volatility, expected_returns)
print(min_var_portfolio)

 

이 코드는 Pandas 및 numpy 라이브러리의 mean()및 cov()함수를 사용하여 주식의 예상 수익률 및 공분산 행렬을 계산합니다. 그런 다음 , np.linalg.inv()함수 np.dot()를 사용하여 최소 분산 포트폴리오를 계산합니다. 이 함수는 최소 분산 포트폴리오에서 주식 및 해당 가중치의 사전을 반환합니다.

Conclusion

이 기사에서는 Python과 해당 라이브러리만 사용하여 최소 분산 포트폴리오를 구현하는 방법을 보여주었습니다. 재무 데이터를 검색하고 기대 수익 및 공분산 행렬을 계산하고 이를 사용하여 최소 분산 포트폴리오를 계산하는 방법에 대해 논의했습니다. 이 지식을 통해 이제 자신의 재무 데이터에 대한 최소 분산 포트폴리오 분석을 구현하고 귀중한 통찰력을 얻을 수 있습니다.

반응형