Nhập môn Phân tích Danh mục đầu tư với Python
Charlotte Werger
Data Scientist

Gặp Harry Markowitz

$$

Diễn giải:

from pypfopt.efficient_frontier import EfficientFrontier
from pypfopt import risk_models
from pypfopt import expected_returns
df=pd.read_csv('portfolio.csv')
df.head(2)
XOM RRC BBY MA PFE
date
2010-01-04 54.068794 51.300568 32.524055 22.062426 13.940202
2010-01-05 54.279907 51.993038 33.349487 21.997149 13.741367
# Tính lợi nhuận kỳ vọng hằng năm và ma trận hiệp phương sai mẫu
mu = expected_returns.mean_historical_return(df)
Sigma = risk_models.sample_cov(df)
# Tính lợi nhuận kỳ vọng hằng năm và rủi ro
mu = expected_returns.mean_historical_return(df)
Sigma = risk_models.sample_cov(df)
# Lấy EfficientFrontier
ef = EfficientFrontier(mu, Sigma)
# Chọn danh mục tối ưu
ef.max_sharpe()
# Chọn danh mục Sharpe tối đa
ef.max_sharpe()
# Chọn lợi nhuận tối ưu cho mức rủi ro mục tiêu
ef.efficient_risk(2.3)
# Chọn rủi ro tối thiểu cho mức lợi nhuận mục tiêu
ef.efficient_return(1.5)
# Lấy các chỉ số hiệu quả
ef.portfolio_performance(verbose=True, risk_free_rate = 0.01)
Lợi nhuận kỳ vọng hằng năm: 21.3%
Độ biến động hằng năm: 19.5%
Tỷ lệ Sharpe: 0.98
Nhập môn Phân tích Danh mục đầu tư với Python