Łączenie obiektów DataFrame akcji i obliczanie zwrotów
Pierwszym krokiem w budowaniu portfeli zgodnie z nowoczesną teorią portfela (MPT) jest wyznaczenie dziennych i miesięcznych zwrotów. Naszym celem będzie wyłonienie najlepszych portfeli każdego miesiąca na podstawie wskaźnika Sharpe'a. Najwygodniej jest połączyć ceny wszystkich akcji w jednym obiekcie DataFrame, a następnie poddać je resamplingowi do interwałów dziennych i miesięcznych. Dzienne zmiany cen będą potrzebne do obliczenia zmienności, którą przyjmiemy jako miarę ryzyka.
To ćwiczenie jest częścią kursu
Uczenie maszynowe w finansach z Pythonem
Instrukcje do ćwiczenia
- Połącz
lng_df,spy_dfismlv_dfza pomocąpd.concat()w obiekt DataFrame o nazwiefull_df. - Dokonaj resampleingu
full_dfdo częstotliwości Business Month Start ('BMS'). - Oblicz dzienną zmianę procentową
full_dfprzy użyciu.pct_change().
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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())