ComeçarComece de graça

Previsão de preços de ativos

Agora você pode usar uma rede neural para prever o preço de um ativo, que é um grande componente da análise financeira quantitativa e do gerenciamento de riscos.

Você usará os preços das ações do Citibank, Goldman Sachs e J. P. Morgan entre 2005 e 2010 para treinar uma rede para prever o preço das ações do Morgan Stanley.

Você criará e treinará uma rede neural com uma camada de entrada, uma camada de saída e duas camadas ocultas.

Em seguida, será mostrado um gráfico de dispersão para você ver a distância entre os preços previstos pelo Morgan Stanley e seus valores reais no período de 2005 a 2010. (Lembre-se de que, se as previsões forem perfeitas, o gráfico de dispersão resultante ficará na linha de 45 graus do gráfico).

Os objetos Sequential e Dense estão disponíveis, bem como o DataFrame prices com preços de bancos de investimento de 2005 a 2010.

Este exercício faz parte do curso

Gerenciamento quantitativo de riscos em Python

Ver curso

Instruções do exercício

  • Defina os dados de entrada como sendo todos os bancos prices , exceto o Morgan Stanley, e os dados de saída como sendo apenas o prices do Morgan Stanley.
  • Crie uma rede neural Sequential model com duas camadas ocultas Dense: a primeira com 16 neurônios (e três neurônios de entrada ) e a segunda com 8 neurônios.
  • Adicione uma única camada de saída Dense de 1 neurônio para representar o preço do Morgan Stanley.
  • Compile a rede neural e treine-a ajustando o site model.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# 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()
Editar e executar o código