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

การบริหารความเสี่ยงแบบเรียลไทม์

ถึงเวลานำความรู้เรื่องโครงข่ายประสาทเทียมมาใช้เพื่อบริหารความเสี่ยงแบบ (เกือบ!) เรียลไทม์แล้ว

ข้อมูลผลตอบแทนของสินทรัพย์แบบ rolling window 14 วัน มีปริมาณเพียงพอที่จะสร้างอนุกรมเวลาของ พอร์ตโฟลิโอที่มีความผันผวนต่ำสุด โดยอิงทฤษฎีพอร์ตโฟลิโอสมัยใหม่ ตามที่เรียนไปในบทที่ 2 น้ำหนักพอร์ตโฟลิโอ minimum_vol เหล่านี้คือค่าเป้าหมาย (training values) ของโครงข่ายประสาทเทียม ซึ่งเป็นเมทริกซ์ขนาด (1497 x 4)

ข้อมูลอินพุตคือเมทริกซ์ของ average_asset_returns รายสัปดาห์ ที่สอดคล้องกับพอร์ตโฟลิโอที่มีประสิทธิภาพแต่ละชุด ซึ่งเป็นเมทริกซ์ขนาด (1497 x 4)

ให้สร้างโครงข่ายประสาทเทียมแบบ Sequential ที่มีมิติอินพุตที่เหมาะสม พร้อมเลเยอร์ซ่อน 2 ชั้น เนื่องจากการเทรนโมเดลจะใช้เวลานานเกินไป จึงจะใช้ pre_trained_model ที่มีโครงสร้างเหมือนกันทุกประการในการพยากรณ์น้ำหนักพอร์ตโฟลิโอสำหรับเวกเตอร์ราคาสินทรัพย์ใหม่

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

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

ดูคอร์ส

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

  • สร้างโครงข่ายประสาทเทียมแบบ Sequential ที่มีเลเยอร์ซ่อน 2 ชั้น เลเยอร์อินพุต 1 ชั้น และเลเยอร์เอาต์พุต 1 ชั้น
  • ใช้ 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))
แก้ไขและรันโค้ด