Прогнозирование цены актива
Теперь вы можете использовать нейронную сеть для прогнозирования цены актива — ключевого элемента количественного финансового анализа и управления рисками.
Вы воспользуетесь котировками акций Citibank, Goldman Sachs и J. P. Morgan за 2005–2010 годы, чтобы обучить сеть прогнозировать цену акций Morgan Stanley.
Вы создадите и обучите нейронную сеть с одним входным слоем, одним выходным слоем и двумя скрытыми слоями.
Затем будет построен точечный график, позволяющий оценить, насколько предсказанные цены акций Morgan Stanley отличаются от фактических за 2005–2010 годы. (Напомним: если прогнозы идеальны, точки на графике выстраиваются вдоль линии под углом 45 градусов.)
Объекты Sequential и Dense уже доступны, как и DataFrame prices с ценами инвестиционных банков за 2005–2010 годы.
Это упражнение является частью курса
Количественное управление рисками на Python
Инструкции к упражнению
- Задайте входные данные как все банковские
pricesкроме Morgan Stanley, а выходные данные — какpricesтолько Morgan Stanley. - Создайте нейронную сеть
modelтипаSequentialс двумя скрытыми слоямиDense: первый — с 16 нейронами (и тремя входными нейронами), второй — с 8 нейронами. - Добавьте один выходной слой
Denseиз 1 нейрона для представления цены акций Morgan Stanley. - Скомпилируйте нейронную сеть и обучите её, выполнив подгонку
model.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Set the input and output data
training_input = prices.____('Morgan Stanley', axis=1)
training_output = prices['Morgan Stanley']
# Create and train the neural network with two hidden layers
model = ____()
model.add(Dense(16, input_dim=____, activation='sigmoid'))
model.add(____(8, activation='relu'))
model.add(____(1))
model.____(loss='mean_squared_logarithmic_error', optimizer='rmsprop')
model.____(training_input, training_output, epochs=100)
# Scatter plot of the resulting model prediction
axis.scatter(training_output, model.predict(training_input)); plt.show()