Îmbină DataFrame-urile de acțiuni și calculează randamentele
Primul pas către calcularea portofoliilor bazate pe teoria modernă a portofoliului (MPT) este obținerea randamentelor zilnice și lunare. În final, vom identifica cele mai bune portofolii pentru fiecare lună pe baza raportului Sharpe. Cel mai simplu mod de a face acest lucru este să reunim toate prețurile acțiunilor într-un singur DataFrame, apoi să le reesantionăm la intervale zilnice și lunare. Avem nevoie de variațiile zilnice ale prețurilor pentru a calcula volatilitatea, pe care o vom folosi ca măsură a riscului.
Acest exercițiu face parte din cursul
Machine Learning pentru finanțe în Python
Instrucțiuni pentru exercițiu
- Îmbină
lng_df,spy_dfșismlv_dffolosindpd.concat()într-un singur DataFrame numitfull_df. - Reesantionează
full_dfla frecvența Business Month Start ('BMS'). - Calculează variația procentuală zilnică a
full_dfcu.pct_change().
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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())