Gộp các DataFrame cổ phiếu và tính lợi nhuận
Bước đầu tiên để tính các danh mục theo modern portfolio theory (MPT) là lấy lợi nhuận theo ngày và theo tháng. Cuối cùng, bạn sẽ chọn ra danh mục tốt nhất mỗi tháng dựa trên Sharpe ratio. Cách đơn giản nhất là đưa tất cả giá cổ phiếu vào một DataFrame, rồi resample chúng sang khung thời gian ngày và tháng. Chúng ta cần biến động giá theo ngày để tính độ biến động (volatility), thứ sẽ được dùng làm thước đo rủi ro.
Bài tập này là một phần của khóa học
Machine Learning cho Tài chính bằng Python
Hướng dẫn bài tập
- Gộp
lng_df,spy_dfvàsmlv_dfbằngpd.concat()vào DataFramefull_df. - Resample
full_dfsang tần suất Business Month Start ('BMS'). - Lấy phần trăm thay đổi theo ngày của
full_dfvới.pct_change().
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# Join 3 stock dataframes together
full_df = pd.concat(____, axis=1).dropna()
# Resample the full dataframe to monthly timeframe
monthly_df = full_df.resample(____).first()
# Calculate daily returns of stocks
returns_daily = ____
# Calculate monthly returns of the stocks
returns_monthly = monthly_df.pct_change().dropna()
print(returns_monthly.tail())