ПочатиПочніть безкоштовно

Керування ризиком у реальному часі

Час застосувати знання про нейронні мережі, щоб виконати (майже) керування ризиком у реальному часі.

Ковзне 14-денне вікно доходностей активів дає достатньо даних, щоб побудувати часовий ряд портфелів із мінімальною волатильністю за сучасною теорією портфеля, як ви бачили в розділі 2. Ці ваги портфелів minimum_vol є навчальними значеннями для нейронної мережі. Це матриця розміру (1497 x 4).

Вхід — це матриця тижневих average_asset_returns, що відповідає кожному ефективному портфелю. Це матриця розміру (1497 x 4).

Створіть послідовну (Sequential) нейронну мережу з належною розмірністю входу та двома прихованими шарами. Навчання цієї мережі зайняло б надто багато часу, тож ви використаєте наявну pre_trained_model того самого типу, щоб передбачити ваги портфеля для нового вектора цін активів.

Ця вправа є частиною курсу

Кількісне управління ризиками в Python

Переглянути курс

Інструкції до вправи

  • Створіть послідовну (Sequential) нейронну мережу з двома прихованими шарами, одним вхідним і одним вихідним шарами.
  • Використайте pre_trained_model, щоб передбачити, яким буде портфель з мінімальною волатильністю, коли надані нові дані про активи asset_returns.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# Create neural network model
model = ____()
model.add(Dense(128, input_dim = ____, activation = 'relu'))
model.____(____(64, activation = 'relu'))
model.____(____(____, activation = 'relu'))

# Use the pre-trained model to predict portfolio weights given new asset returns
asset_returns = np.array([0.001060, 0.003832, 0.000726, -0.002787])
asset_returns.shape = (1,4)
print("Predicted minimum volatility portfolio: ", pre_trained_model.____(asset_returns))
Редагувати та запускати код