Libro

The Evaluation and Optimization of Trading Strategies: Pardo กับ Walk-Forward Analysis

ฉบับพิมพ์ครั้งที่ 2 (Wiley 2008) ของ Robert Pardo ว่าด้วยการทดสอบ ปรับค่า และประเมิน mechanical trading system บทความนี้สรุปจากสารบัญและบทที่ 1 ที่สำนักพิมพ์เผยแพร่ให้อ่านตัวอย่าง เพื่อช่วยดูว่าเล่มนี้เหมาะกับคุณหรือไม่

ภาพประกอบบทความ: ปกหนังสือ The Evaluation and Optimization of Trading Strategies โดย Robert Pardo

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

คนที่เริ่มเขียนระบบเทรดมักเจอปัญหาเดียวกัน ผล backtest ดูดี พอปรับพารามิเตอร์จนได้ตัวเลขสวยที่สุดแล้วนำไปเทรดจริง ผลกลับไม่เหมือนเดิม คำถามคือ optimization ผิดตั้งแต่ต้น หรือเราทำมันผิดวิธี

Robert Pardo ตอบคำถามนี้ไว้ชัดในบทที่ 1 ว่า optimization คือการทดสอบที่ทำถูกวิธี ส่วน overfitting คือ optimization ที่ผิดพลาด (บทที่ 1, หัวข้อ Why This Book Was Written) บทความนี้ช่วยดูว่าเล่มนี้ครอบคลุมอะไร และเหมาะกับใคร

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

The Evaluation and Optimization of Trading Strategies ฉบับพิมพ์ครั้งที่ 2 เขียนโดย Robert Pardo อยู่ในชุด Wiley Trading ฉบับปกแข็งความยาว 368 หน้า ISBN 9780470128015 หน้าสำนักพิมพ์ระบุวันวางจำหน่ายมีนาคม 2008 (Wiley-VCH) ส่วนระเบียน Open Library ระบุ 8 กุมภาพันธ์ 2008 (Open Library)

เล่มนี้คือฉบับปรับปรุงของ The Design, Testing, and Optimization of Trading Systems ซึ่งในบทที่ 1 ผู้เขียนระบุว่าพิมพ์ครั้งแรกโดย John Wiley & Sons ในปี 1991 หน้าสำนักพิมพ์ระบุว่า Pardo ก่อตั้ง Pardo Capital Limited เคยเป็นที่ปรึกษาให้บริษัทอย่าง Goldman Sachs และพัฒนาแพลตฟอร์มเทรด XT99 ร่วมกับ Dunn Capital Management

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

สารบัญมี 14 บท (Wiley-VCH) ในบทที่ 1 ผู้เขียนบอกว่าลำดับบทเรียงตามขั้นตอนพัฒนาระบบเทรดจริง ตั้งแต่การกำหนดกฎ การทดสอบ optimization ผ่าน Walk-Forward Analysis จนถึงการเทรดจริง คำอธิบายในตารางสรุปจากส่วน The Lay of the Land ของบทที่ 1

บท

ชื่อบท

สิ่งที่บทที่ 1 บอกไว้

1

On Trading Strategies

ภาพรวมและเป้าหมายของหนังสือ

2

The Systematic Trading "Edge"

ข้อดีและข้อเสียของระบบเทรดที่ทดสอบด้วยคอมพิวเตอร์

3

The Trading Strategy Development Process

ขั้นตอนพัฒนาระบบตั้งแต่กำหนดกฎถึงเทรดจริง

4

The Strategy Development Platform

ความสามารถขั้นต่ำของซอฟต์แวร์ทดสอบ

5

The Elements of Strategy Design

องค์ประกอบของระบบเทรดและผลต่อการทดสอบ

6

The Historical Simulation

historical simulation ให้ใกล้ความจริงที่สุด

7

Formulation and Specification

การแปลงไอเดียคลุมเครือเป็นโค้ดที่ทดสอบได้

8

Preliminary Testing

ทดสอบรอบแรกกับตะกร้าตลาดและช่วงเวลาหลายชุด

9

Search and Judgment

วิธีค้นหาค่าพารามิเตอร์และความสำคัญของ objective function

10

Optimization

การปรับค่าข้ามหลายตลาดและหลายช่วงเวลา

11

Walk-Forward Analysis

การทดสอบที่วัดผลจากข้อมูล out-of-sample เท่านั้น

12

The Evaluation of Performance

ประเมินระบบเทียบกับการลงทุนอื่นและด้วยสถิติของตัวเอง

13

The Many Faces of Overfitting

อาการของ overfitting และวิธีตรวจจับ

14

Trading the Strategy

ประเมินผลเทรดจริงเทียบกับโปรไฟล์จากการทดสอบ

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

  • นิยามที่กว้าง ผู้เขียนใช้คำว่า automated trading strategy ครอบคลุมทั้ง trading system, mechanical trading system, trading model และ algorithmic trading และเชื่อว่าเทรดเดอร์ที่ประสบความสำเร็จ ไม่ว่าแบบ discretionary หรืออัตโนมัติ ล้วนมีกฎที่เป็นระบบอยู่แล้ว

  • กำไรต้องดูคู่กับความเสี่ยง ผู้เขียนมองว่าการประเมินระบบต้องวัดสองมิติพร้อมกัน คือกำไรและความเสี่ยง และการทดสอบด้วยคอมพิวเตอร์คือวิธีที่วัดทั้งสองอย่างได้แม่นยำ (หัวข้อ Who Will Benefit from This Book?)

  • เป้าหมายของหนังสือ บทที่ 1 ระบุแปดเรื่องที่หนังสือจะอธิบาย เช่น วิธีกำหนด ทดสอบ และประเมินระบบ วิธี optimize ให้ถูก อาการของ overfitting การใช้ข้อมูล out-of-sample การทำ Walk-Forward Analysis และการสร้าง strategy profile เพื่อใช้ตัดสินผลเทรดจริง (หัวข้อ The Goals of This Book)

  • Walk-Forward Analysis มีสามเป้าหมาย ข้อแรกและสำคัญที่สุดคือดูว่าระบบยังได้ผลกับข้อมูลที่ไม่เคยใช้ปรับค่าหรือไม่ ข้อสองคือหาค่าพารามิเตอร์ที่จะใช้เทรดจริง ข้อสามคือกำหนดขนาดช่วงข้อมูลที่ใช้ optimize และความถี่ในการปรับค่าใหม่ (หัวข้อ The Lay of the Land, บทที่ 11)

  • ความเห็นของผู้เขียนเรื่อง WFA Pardo เรียก WFA ว่าเป็นวิธี optimize ที่ "เกือบจะไม่พลาด" และบอกว่าเขานำเสนอวิธีนี้ต่อสาธารณะครั้งแรกในฉบับพิมพ์แรก ผู้เขียนเองยอมรับว่ามีคนเห็นต่าง และชวนให้ผู้อ่านทดสอบก่อนตัดสิน ข้อนี้เป็นความเห็นของผู้เขียน ไม่ใช่ข้อสรุปที่บทความนี้ตรวจสอบ

  • objective function สำคัญมาก ในคำแนะนำบทที่ 9 ผู้เขียนบอกว่าฟังก์ชันที่ใช้เลือกค่าพารามิเตอร์มีผลต่อคุณภาพของ model ในระดับใหญ่จนถึงเป็นปัจจัยหลัก

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

ตัวอย่างประกอบ: Walk-Forward ทำงานอย่างไร

คำอธิบายในส่วนนี้เป็นของบทความ ไม่ได้มาจากบทที่ 11 ซึ่งยังไม่ได้อ่าน สมมติมีข้อมูลราคาย้อนหลังสิบปี แทนที่จะ optimize กับทั้งสิบปีแล้วดูผลบนข้อมูลชุดเดียวกัน เราอาจ optimize กับปีที่ 1–3 แล้วทดสอบค่าที่ได้กับปีที่ 4 จากนั้นเลื่อนช่วงไป optimize ปีที่ 2–4 แล้วทดสอบกับปีที่ 5 ทำซ้ำจนสุดข้อมูล ผลที่นับคือผลจากช่วงทดสอบที่ไม่เคยใช้ปรับค่าเท่านั้น ขนาดช่วงสามปีและหนึ่งปีในตัวอย่างนี้เป็นตัวเลขสมมติ ซึ่งตรงกับเป้าหมายข้อสามที่ผู้เขียนพูดถึง คือต้องหาขนาด window และความถี่ในการปรับค่าใหม่ให้เหมาะ

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

บทที่ 1 ไม่ได้ระบุพื้นฐานที่ต้องมีไว้ตรง ๆ ผู้เขียนบอกว่าคำอย่าง optimization, back-testing และ curve-fitting จะมีนิยามในบทที่เกี่ยวข้อง ส่วนตัวอย่างวิธีเทรดที่สำนักพิมพ์ยกไว้ เช่น stochastics, moving average, chart pattern, RSI และ breakout (Google Books) บอกว่าหนังสือไม่ได้ผูกกับวิธีเทรดแบบเดียว

จากชื่อบท ควรคุ้นกับ indicator พื้นฐานและเคยใช้ซอฟต์แวร์ backtest มาบ้าง จะได้ประโยชน์มากกว่า ข้อนี้เป็นการอนุมานของบทความ

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

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

  • เหมาะ กับคนที่เขียนระบบเทรดหรือทำ backtest อยู่แล้ว และอยากได้กระบวนการทดสอบที่เป็นขั้นตอน โดยเฉพาะเรื่อง out-of-sample และ Walk-Forward Analysis

  • ควรรู้ไว้ ว่าฉบับนี้พิมพ์ปี 2008 ตัวอย่างซอฟต์แวร์และข้อมูลตลาดในบทที่ 1 อ้างถึงสภาพช่วงปี 2006–2007

  • อาจไม่ใช่เล่มแรก ถ้ายังไม่เคยเขียนกฎเทรดเป็นเงื่อนไขที่ชัดเจน หรือถ้าต้องการคู่มือเขียนโค้ด เพราะบทที่ 1 บอกว่าบทที่ 4 ไม่ได้สำรวจแพลตฟอร์มทั้งหมด และบทที่ 5 ไม่ได้อธิบายการออกแบบระบบแบบเต็ม

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

  • อ่านเฉพาะบทที่ 1 ที่ Wiley เผยแพร่ (หน้า 5–15) บทที่ 2–14 สรุปจากชื่อบทและคำแนะนำในบทที่ 1 เท่านั้น

  • ฉบับและ ISBN: หน้าสำนักพิมพ์ระบุฉบับปกแข็ง ISBN 9780470128015 ส่วน Google Books มีระเบียน e-book ISBN 9781118045053 ปี 2011 ที่ใช้ไฟล์ชุดเดียวกับ ISBN 9780470128015 และระเบียน ISBN 9781119196969 ที่ระบุฉบับที่ 2 ปี 2008 (Google Books) ซึ่งเป็น ISBN ที่หน้าสำนักพิมพ์ลิงก์ไปยัง Wiley Online Library จึงเป็นฉบับพิมพ์ครั้งที่ 2 เดียวกันในรูปแบบต่างกัน ไม่ใช่ฉบับปี 1991 ของ The Design, Testing, and Optimization of Trading Systems

  • จำนวนหน้าในแหล่งต่าง ๆ มีทั้ง 368 และ 334 หน้า ขึ้นกับรูปแบบ บทความนี้ใช้ 368 หน้าตามหน้าสำนักพิมพ์ของฉบับปกแข็ง

  • หน้าหนังสือบน wiley.com ตอบว่ามีคำขอมากเกินไป (HTTP 429) และหน้า O'Reilly ปฏิเสธการเข้าถึง จึงไม่ได้ใช้

  • บทความนี้ไม่ได้ทดลองวิธีในเล่ม และผลของระบบเทรดใด ๆ ในอดีตไม่ได้รับประกันผลในอนาคต

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

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