เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การพยากรณ์ราคาสินทรัพย์

ตอนนี้ลองใช้โครงข่ายประสาทเทียมเพื่อพยากรณ์ ราคาสินทรัพย์ ซึ่งเป็นองค์ประกอบสำคัญของการวิเคราะห์การเงินเชิงปริมาณและการบริหารความเสี่ยง

จะใช้ข้อมูลราคาหุ้นของ Citibank, Goldman Sachs และ J. P. Morgan ระหว่างปี 2005-2010 เพื่อฝึกโครงข่ายให้พยากรณ์ราคาหุ้นของ Morgan Stanley

โครงข่ายประสาทเทียมที่จะสร้างและฝึกประกอบด้วย input layer หนึ่งชั้น, output layer หนึ่งชั้น และ hidden layer สอง ชั้น

จากนั้น scatter plot จะแสดงให้เห็นว่าราคา Morgan Stanley ที่ พยากรณ์ ได้นั้นห่างจากค่าจริงมากน้อยเพียงใดในช่วงปี 2005-2010 (ขอให้นึกไว้ว่า หากการพยากรณ์ แม่นยำสมบูรณ์ จุดใน scatter plot จะเรียงตัวอยู่บนเส้น 45 องศาพอดี)

ออบเจกต์ Sequential และ Dense พร้อมใช้งานแล้ว รวมถึง DataFrame prices ที่บรรจุราคาของธนาคารเพื่อการลงทุนในช่วงปี 2005-2010

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การบริหารความเสี่ยงเชิงปริมาณด้วย Python

ดูคอร์ส

คำแนะนำการฝึกหัด

  • กำหนดข้อมูล input เป็นราคาหุ้น prices ของธนาคารทุกแห่ง ยกเว้น Morgan Stanley และกำหนดข้อมูล output เป็นราคา prices ของ Morgan Stanley เท่านั้น
  • สร้างโมเดลโครงข่ายประสาทเทียมแบบ Sequential พร้อม hidden layer แบบ Dense สองชั้น ได้แก่ ชั้นแรกมี 16 neurons (และ input neuron 3 ตัว) และชั้นที่สองมี 8 neurons
  • เพิ่ม output layer แบบ Dense จำนวน 1 neuron เพื่อแทนราคาหุ้นของ Morgan Stanley
  • คอมไพล์โครงข่ายประสาทเทียม จากนั้นฝึกโมเดลด้วยการ fit 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()
แก้ไขและรันโค้ด