Libro

Advances in Financial Machine Learning: ใครควรอ่าน และต้องมีพื้นฐานอะไรก่อน

หนังสือของ Marcos López de Prado ว่าด้วยการใช้ Machine Learning กับข้อมูลการเงินตั้งแต่การจัดโครงสร้างข้อมูลจนถึงการทดสอบกลยุทธ์ บทความนี้สรุปจากสารบัญและบทที่ 1 ที่สำนักพิมพ์เผยแพร่ เพื่อช่วยตัดสินว่าเล่มนี้เหมาะกับคุณหรือยัง

ภาพประกอบบทความ: ปกหนังสือ Advances in Financial Machine Learning โดย Marcos López de Prado

ขอบเขตของบทความ: สรุปจากสารบัญฉบับเต็มและบทที่ 1 ที่สำนักพิมพ์ Wiley เผยแพร่ให้อ่านตัวอย่าง รวมกับข้อมูลหนังสือจากหน้าสำนักพิมพ์ ยังไม่ได้อ่านบทอื่นนอกจากบทที่ 1 ข้อสังเกตเรื่องเนื้อหาบทอื่นมาจากชื่อหัวข้อในสารบัญเท่านั้น

คนที่เริ่มใช้ Machine Learning กับข้อมูลตลาดมักเจอปัญหาคล้ายกัน model ที่ดูดีใน backtest กลับใช้ไม่ได้จริง วิธีแบ่งข้อมูลแบบที่เรียนมาจากงาน ML ทั่วไปให้ผลที่ดีเกินจริง และไม่แน่ใจว่าควรเริ่มแก้ตรงไหน

Advances in Financial Machine Learning ตั้งตัวเองไว้ตรงจุดนั้น ผู้เขียนบอกในบทที่ 1 ว่า Financial ML เป็นเรื่องที่เกี่ยวข้องแต่แยกออกจาก ML ทั่วไป (บทที่ 1, หัวข้อ 1.1) บทความนี้ช่วยดูว่าเล่มนี้ครอบคลุมอะไร ต้องมีพื้นฐานระดับไหน และเหมาะกับใคร

หนังสือเล่มนี้ว่าด้วยอะไร

Advances in Financial Machine Learning เขียนโดย Marcos López de Prado ตีพิมพ์โดย Wiley เมื่อกุมภาพันธ์ 2018 ความยาว 400 หน้า (หน้าหนังสือของ Wiley) หน้าสำนักพิมพ์ระบุว่าผู้เขียนเป็น principal ที่ AQR Capital Management และเป็น research fellow ที่ Lawrence Berkeley National Laboratory

บทที่ 22 เขียนร่วมโดย Kesheng Wu และ Horst D. Simon ตามที่ระบุในสารบัญ (สารบัญ)

เนื้อหาครอบคลุมหัวข้ออะไร

สารบัญแบ่งหนังสือเป็นบทนำหนึ่งบท และห้าภาค รวม 22 บท (สารบัญ):

ภาค

บท

หัวข้อตามสารบัญ

Preamble

1

Financial Machine Learning as a Distinct Subject

Part 1 Data Analysis

2–5

Financial Data Structures, Labeling, Sample Weights, Fractionally Differentiated Features

Part 2 Modelling

6–9

Ensemble Methods, Cross-Validation in Finance, Feature Importance, Hyper-Parameter Tuning

Part 3 Backtesting

10–16

Bet Sizing, The Dangers of Backtesting, Backtesting through Cross-Validation, Backtesting on Synthetic Data, Backtest Statistics, Understanding Strategy Risk, Machine Learning Asset Allocation

Part 4 Useful Financial Features

17–19

Structural Breaks, Entropy Features, Microstructural Features

Part 5 High-Performance Computing Recipes

20–22

Multiprocessing and Vectorization, Brute Force and Quantum Computers, High-Performance Computational Intelligence and Forecasting Technologies

ภาค Backtesting ยาวที่สุด มีเจ็ดบท สอดคล้องกับที่ผู้เขียนอธิบายในบทที่ 1 ว่าทำไมหนังสือให้น้ำหนักกับ backtest overfitting มาก ผู้เขียนมองว่านี่คือปัญหาเปิดที่สำคัญที่สุดปัญหาหนึ่งของการเงินเชิงคณิตศาสตร์ (บทที่ 1, หัวข้อ 1.6 FAQs)

แนวคิดที่น่าสนใจจากบทที่ 1

บทที่ 1 เปิดให้อ่านเป็นตัวอย่าง และวางกรอบความคิดของทั้งเล่มไว้หลายเรื่อง

  • ทำไมโปรเจกต์ Financial ML ส่วนใหญ่ล้มเหลว ผู้เขียนเรียกปัญหาว่า Sisyphus paradigm คือให้ quant แต่ละคนพัฒนากลยุทธ์ทั้งกระบวนการคนเดียว ผลมักจบที่ false positive จาก backtest ที่ overfit หรือ factor investing มาตรฐานที่ Sharpe ratio ต่ำ ทางเลือกที่เสนอคือ meta-strategy paradigm ที่แบ่งงานเป็นสถานีเฉพาะทางแบบสายการผลิต (หัวข้อ 1.2)

  • โครงสร้างหนังสือตามสายการผลิต บทที่ 1 แบ่งบทบาทเป็น Data Curators, Feature Analysts, Strategists, Backtesters, Deployment Team และ Portfolio Oversight แล้วชี้ว่าบทไหนรองรับบทบาทไหน เช่น บทที่ 2–9 และ 17–19 สำหรับ Feature Analysts (หัวข้อ 1.3.1)

  • ตารางข้อผิดพลาดที่พบบ่อย ตารางที่ 1.2 จับคู่ข้อผิดพลาดกับวิธีแก้และบทที่อธิบาย เช่น การติดป้ายแบบ fixed-time horizon คู่กับ triple-barrier method ในบทที่ 3 และ cross-validation leakage คู่กับ purging และ embargoing ในบทที่ 7 และ 9 (หัวข้อ 1.3.3)

  • ไม่ได้สอน algorithm เฉพาะ ผู้เขียนบอกว่าหนังสือไม่ผูกกับ algorithm ML ตัวใดตัวหนึ่ง แต่เน้นปัญหาร่วม เช่น การจัดโครงสร้างข้อมูล การติดป้าย การถ่วงน้ำหนักตัวอย่าง และ backtest (หัวข้อ 1.6)

ตัวอย่างเรื่อง cross-validation ช่วยให้เห็นภาพ ในงาน ML ทั่วไป การแบ่งข้อมูลแบบ K-fold มักสมมติว่าตัวอย่างเป็นอิสระต่อกัน แต่ข้อมูลการเงินเรียงตามเวลาและ label มักซ้อนช่วงเวลากัน สารบัญบทที่ 7 จึงมีหัวข้อ "Why K-Fold CV Fails in Finance" และ "A Solution: Purged K-Fold CV" คำอธิบายในย่อหน้านี้เป็นคำอธิบายประกอบของบทความ รายละเอียดวิธีจริงอยู่ในบทที่ 7 ซึ่งยังไม่ได้อ่าน

พื้นฐานที่ควรมีก่อนอ่าน

หัวข้อ 1.5 Requisites ระบุว่าการเข้าใจเนื้อหาต้องมีความรู้เชิงปฏิบัติด้าน ML, market microstructure, portfolio management, mathematical finance, statistics, econometrics, linear algebra, convex optimization และ parallel processing เป็นต้น (บทที่ 1)

ด้านโปรแกรม ผู้เขียนสมมติว่าผู้อ่านเป็นนักพัฒนา Python ที่มีประสบการณ์ และใช้ scikit-learn, pandas, numpy, scipy, multiprocessing และ matplotlib ได้คล่อง โค้ดในเล่มเรียกไลบรารีด้วยตัวย่อปกติ เช่น pd และ np

เหมาะกับใคร และใครควรเริ่มจากเล่มอื่นก่อน

หัวข้อ 1.4 Target Audience ระบุกลุ่มผู้อ่านหลักว่าเป็นผู้ทำงานด้านการลงทุนที่มีพื้นฐาน ML แข็งแรง และนักวิทยาศาสตร์ข้อมูลที่ใช้ ML สำเร็จในสาขาอื่นแล้วแต่พบว่าใช้กับข้อมูลการเงินไม่ได้ผล

ผู้เขียนเขียนไว้ตรง ๆ ว่าถ้ายังใหม่กับ ML และไม่เคยทำงานกับ algorithm ที่ซับซ้อน หนังสือเล่มนี้อาจยังไม่เหมาะ และแนะนำให้อ่านหนังสือ ML เบื้องต้นก่อน ในบรรณานุกรมท้ายบทที่ 1 มีรายชื่อ เช่น An Introduction to Statistical Learning และ Hands-On Machine Learning with Scikit-Learn and TensorFlow

สรุปตามหลักฐานที่มี:

  • เหมาะ กับคนที่เขียน Python และใช้ scikit-learn เป็นอยู่แล้ว และอยากรู้ว่าทำไมผลทดสอบกลยุทธ์ของตัวเองอาจดีเกินจริง

  • ควรเริ่มจากเล่มอื่นก่อน ถ้ายังไม่คุ้นกับ ML พื้นฐาน, statistics หรือการเขียน Python ระดับใช้งานจริง

ข้อจำกัดของข้อมูลที่ใช้ในบทความนี้

  • อ่านเฉพาะบทที่ 1 และสารบัญที่ Wiley เผยแพร่ บทที่ 2–22 สรุปจากชื่อหัวข้อเท่านั้น

  • หน้า Wiley แสดง ISBN ฉบับพิมพ์ 978-1-119-48208-6 และ e-book 978-1-119-48210-9 ส่วนข้อมูลในแคตตาล็อกของ Libro ใช้ ISBN 9781119482116 ซึ่ง Open Library ผูกกับฉบับ Wiley ปี 2018 ความยาว 400 หน้าเช่นเดียวกัน (Open Library) ควรยืนยันรูปแบบไฟล์และฉบับอีกครั้งตอนสอบถาม

  • บทความนี้ไม่ได้ทดลองโค้ดหรือวิธีในเล่ม

แหล่งอ้างอิง

บทความนี้อ่านจบได้ในตัวเอง หนังสือด้านบนคือจุดต่อยอดสำหรับผู้ที่ต้องการศึกษาลึกขึ้น