Bắt đầu ngayBắt đầu miễn phí

Dự đoán giá tài sản

Giờ bạn có thể dùng một mạng neural để dự đoán giá tài sản, một thành phần quan trọng của phân tích tài chính định lượng cũng như quản trị rủi ro.

Bạn sẽ dùng giá cổ phiếu giai đoạn 2005–2010 của Citibank, Goldman Sachs và J. P. Morgan để huấn luyện mạng dự đoán giá cổ phiếu của Morgan Stanley.

Bạn sẽ tạo và huấn luyện một mạng neural với một tầng đầu vào, một tầng đầu ra và hai tầng ẩn.

Sau đó một biểu đồ scatter sẽ hiển thị để xem giá dự đoán của Morgan Stanley lệch bao nhiêu so với giá thực tế trong giai đoạn 2005–2010. (Nhớ rằng nếu dự đoán hoàn hảo, các điểm trên biểu đồ scatter sẽ nằm trên đường 45 độ của đồ thị.)

Các đối tượng SequentialDense đã có sẵn, cùng với DataFrame prices chứa giá của các ngân hàng đầu tư từ 2005–2010.

Bài tập này là một phần của khóa học

Quản trị Rủi ro Định lượng với Python

Xem khóa học

Hướng dẫn bài tập

  • Đặt dữ liệu đầu vào là toàn bộ prices của các ngân hàng ngoại trừ Morgan Stanley, và dữ liệu đầu ra là chỉ prices của Morgan Stanley.
  • Tạo một mạng neural Sequential tên model với hai tầng ẩn Dense: tầng đầu có 16 neuron (và ba neuron đầu vào), tầng thứ hai có 8 neuron.
  • Thêm một tầng đầu ra Dense gồm 1 neuron để biểu diễn giá của Morgan Stanley.
  • Biên dịch (compile) mạng neural và huấn luyện nó bằng cách fit model.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# 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()
Chỉnh sửa và Chạy Mã