Объединение DataFrame с акциями и вычисление доходности
Первый шаг к построению портфелей на основе современной теории портфеля (MPT) — получение дневной и месячной доходности. В итоге мы выберем лучшие портфели для каждого месяца на основе коэффициента Шарпа. Проще всего объединить все цены акций в один DataFrame, а затем привести их к дневному и месячному временным периодам. Дневные изменения цен нужны нам для расчёта волатильности, которую мы будем использовать как меру риска.
Это упражнение является частью курса
Машинное обучение для финансов на Python
Инструкции к упражнению
- Объедините
lng_df,spy_dfиsmlv_dfс помощьюpd.concat()в DataFramefull_df. - Выполните ресемплинг
full_dfдо частоты начала делового месяца ('BMS'). - Вычислите дневное процентное изменение
full_dfс помощью.pct_change().
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# 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())