ฉันจะอธิบายว่านักวิเคราะห์เชิงปริมาณในสถาบันใช้การวิเคราะห์อนุกรมเวลาอย่างไรเพื่อค้นหา edge ในตลาดใดๆ ก็ตาม และแบ่งปันกรอบการทำงานที่สมบูรณ์ที่คุณสามารถนำไปใช้ได้ตั้งแต่วันนี้
มาเริ่มกันเลย
คั่นหน้านี้ไว้ - ผมคือ Roan นักพัฒนาแบ็กเอนด์ที่ทำงานเกี่ยวกับการออกแบบระบบ การดำเนินการแบบ HFT และระบบเทรดดิ้งเชิงปริมาณ งานของผมเน้นไปที่พฤติกรรมที่แท้จริงของตลาดทำนายภายใต้ภาระงาน สำหรับข้อเสนอแนะ ความร่วมมือที่รอบคอบ หรือการเป็นพาร์ทเนอร์ เปิดให้ส่งข้อความได้
ในปี 2008 เทรดเดอร์ส่วนใหญ่มองดูหลักทรัพย์ที่มีสินเชื่อที่อยู่อาศัยค้ำประกันและเห็นแต่เส้นที่กำลังขึ้น
พวกเขาเห็นแนวโน้ม เห็นโมเมนตัม พวกเขารันโมเดลอนุกรมเวลาของพวกเขา โมเดลบอกให้ซื้อ และโมเดลเหล่านั้นผิดอย่างมหันต์
เทรดเดอร์กลุ่มเล็กๆ กลุ่มหนึ่งมองดูเส้นเดียวกันนั้นแล้วถามคำถามที่แตกต่างกัน ไม่ใช่ถามว่าเส้นจะไปทางไหนต่อ แต่ถามว่าแท้จริงแล้วอะไรเป็นตัวสร้างเส้นนั้นขึ้นมา พวกเขาลงลึกไปในข้อมูลสินเชื่อที่อยู่อาศัยที่อยู่เบื้องหลัง พบว่ามีการให้สินเชื่ออัตราดอกเบี้ยปรับเปลี่ยนได้แก่คนที่ไม่มีการตรวจสอบรายได้ พบว่าอัตราการผิดนัดชำระหนี้กำลังเพิ่มขึ้นอย่างเงียบๆ ในข้อมูล ก่อนที่กราฟราคาจะแสดงอะไรออกมา พวกเขาใช้ข้อมูลนั้น ซึ่งโมเดลอนุกรมเวลาไม่มีทางจับได้ด้วยตัวเอง เพื่อสร้างสถานะที่ทำเงินหลายพันล้านดอลลาร์เมื่อตลาดล่ม
นี่คือบทเรียนที่สำคัญที่สุดในการวิเคราะห์อนุกรมเวลาทั้งหมด เส้นบนกราฟของคุณเป็นผลจากสิ่งที่เกิดขึ้นในโลกแห่งความเป็นจริง โมเดลอนุกรมเวลาสามารถบอกคุณได้ว่าเส้นนั้นกำลังทำอะไรอยู่ แต่ไม่สามารถบอกคุณได้ว่าอะไรเป็นสาเหตุที่แท้จริง และเมื่อใดก็ตามที่ความจริงเบื้องหลังเปลี่ยนไป โมเดลของคุณจะกลายเป็นภาระแทนที่จะเป็นทรัพย์สิน
ผมได้ครอบคลุม Markov Chains สำหรับการตรวจจับสภาวะตลาด และ Neural Networks สำหรับการสร้างสัญญาณในบทความก่อนหน้านี้แล้ว การวิเคราะห์อนุกรมเวลาเป็นชั้นที่สามที่จำเป็นของชุดเครื่องมือเทรดดิ้งเชิงระบบ เมื่อรวมกันทั้งสามกรอบงานนี้จะ形成一个ระบบเทรดดิ้งเชิงปริมาณที่สมบูรณ์
เมื่ออ่านบทความนี้จบ คุณจะเข้าใจอย่างถ่องแท้ว่าอนุกรมเวลาคืออะไรและตลาดสร้างมันขึ้นมาได้อย่างไร ทำไมโมเดลอนุกรมเวลาของคุณถึงผิดเสมอ และทำไมนั่นถึงไม่ใช่ปัญหา ภารกิจพื้นฐานสามอย่างที่ขับเคลื่อนทุกการตัดสินใจเทรดดิ้งเชิงปริมาณ กรอบการดำเนินการที่สมบูรณ์ตั้งแต่ข้อมูลดิบไปจนถึงสัญญาณเทรดสด และข้อผิดพลาดเดียวที่ทำให้โมเดลอนุกรมเวลา 90% ล้มเหลวก่อนที่จะได้แตะเงินทุนจริง
หมายเหตุ: บทความนี้ตั้งใจให้ยาว ทุกส่วนต่อยอดจากส่วนก่อนหน้า หากคุณจริงจังกับการสร้าง edge เชิงระบบโดยใช้การวิเคราะห์อนุกรมเวลา ให้อ่านทุกคำ หากคุณกำลังมองหาทางลัด บทความนี้ไม่เหมาะสำหรับคุณ
ส่วนที่ 1: อนุกรมเวลาจริงๆ แล้วคืออะไร และมันซ่อนอะไรจากคุณ
อนุกรมเวลาคือลำดับของการสังเกตที่บันทึกในช่วงเวลาสม่ำเสมอตามกาลเวลา ราคาปิดรายวันของหุ้น ค่าอุณหภูมิรายชั่วโมง จำนวนผู้ว่างงานรายเดือน แต่ละอย่างคือชุดของค่าที่มีดัชนีตามเวลา
คำจำกัดความนี้ถูกต้องในทางเทคนิค แต่ไม่สมบูรณ์ในทางปฏิบัติ
สิ่งที่คนส่วนใหญ่พลาดไปคือทุกอนุกรมเวลาถูกสร้างขึ้นโดยบางสิ่ง ราคาหุ้นไม่ได้เคลื่อนที่แบบสุ่มในสุญญากาศ มันเป็นผลลัพธ์ของการตัดสินใจนับล้านครั้งโดยนักลงทุน อัลกอริทึม ผู้ดูแลสภาพคล่อง และแรงมหภาคที่คุณไม่สามารถสังเกตได้โดยตรงจากอนุกรมราคาเพียงอย่างเดียว ราคาคือสิ่งที่นักเศรษฐศาสตร์เรียกว่าตัวแปรผลลัพธ์ สิ่งที่ขับเคลื่อนมันจริงๆ คือการแจกแจงที่สร้างข้อมูลที่อยู่เบื้องล่าง

ความแตกต่างนี้สำคัญอย่างมากสำหรับการเทรด เมื่อคุณใช้โมเดลอนุกรมเวลากับข้อมูลตลาด คุณกำลังสร้างแบบจำลองผลลัพธ์ที่มองเห็นได้ของกระบวนการที่มองไม่เห็น ตราบใดที่กระบวนการที่มองไม่เห็นยังคงเหมือนเดิมโดยคร่าวๆ โมเดลของคุณก็จะจับรูปแบบที่มีประโยชน์ได้ ทันทีที่กระบวนการเบื้องหลังเปลี่ยนไป โมเดลของคุณก็จะกำลังฟิตกับสิ่งที่ไม่มีอยู่อีกต่อไปอย่างเงียบๆ
ลองนึกถึงอุณหภูมิในนิวยอร์กซิตี้ ถ้าเป็นเดือนธันวาคมและตอนนี้ 20 องศาฟาเรนไฮต์ พรุ่งนี้จะกี่องศา? คำตอบของคุณน่าจะประมาณ 20 องศา บวกหรือลบ คุณไม่ได้ทำนายแบบแม่นยำ คุณกำลังสร้างความคาดหวังตามสถานะปัจจุบันและรูปแบบตามฤดูกาลที่รู้จัก ความคาดหวังนั้นจะถูกต้องโดยประมาณเกือบตลอดเวลาภายใต้สภาวะปกติ
ทีนี้ลองนึกภาพว่าภูเขาไฟระเบิดในไอซ์แลนด์และทำให้อุณหภูมิโลกสูงขึ้น 15 องศาในหนึ่งสัปดาห์ โมเดลของคุณไม่มีข้อมูลเกี่ยวกับภูเขาไฟนั้น การคาดการณ์ของมันจะผิดอย่างรุนแรง ไม่ใช่เพราะโมเดลไม่ดี แต่เพราะกระบวนการสร้างข้อมูลที่อยู่เบื้องล่างเปลี่ยนไปในแบบที่มองไม่เห็นในอนุกรมอุณหภูมิเพียงอย่างเดียว
นี่คือสิ่งที่เกิดขึ้นกับหลักทรัพย์ที่มีสินเชื่อที่อยู่อาศัยค้ำประกันในปี 2008 อนุกรมเวลาของราคาบอกว่าทุกอย่างปกติดี กระบวนการเบื้องล่าง ซึ่งก็คือความน่าเชื่อถือทางเครดิตที่แท้จริงของสินเชื่อ ได้เปลี่ยนแปลงไปแล้ว ข้อมูลนั้นมีอยู่แล้ว เพียงแต่มันไม่ได้อยู่ในอนุกรมราคา
อนุกรมเวลาสามารถแยกย่อยออกเป็นสามองค์ประกอบ:
แนวโน้ม (Trend) คือการเคลื่อนไหวในทิศทางระยะยาว เส้นทางการเดินทางโดยรวมที่อนุกรมเวลาดำเนินตามในช่วงเวลาที่ยาวนาน
ฤดูกาล (Seasonality) คือรูปแบบที่เกิดขึ้นซ้ำในช่วงเวลาที่แน่นอน วงจรการขายรายเดือน ผลกระทบของผลประกอบการรายไตรมาส รูปแบบวันในสัปดาห์ของปริมาณการเทรด
การช็อกหรือส่วนที่เหลือ (Shock/Residuals) คือความผันผวนแบบสุ่มรอบองค์ประกอบแนวโน้มและฤดูกาล เหตุการณ์ที่ไม่คาดฝัน ข่าวสาร ความประหลาดใจ
ข้อมูลเชิงลึกที่สำคัญเกี่ยวกับแนวโน้มและฤดูกาลคือมันมีความหมายก็ต่อเมื่อมันมีเสถียรภาพเท่านั้น หากคุณกำลังสร้างแบบจำลองราคาหุ้นระหว่างวันและแนวโน้มกลับทิศทุกๆ สองสามชั่วโมง องค์ประกอบแนวโน้มก็ไม่ได้บอกอะไรคุณที่มีประโยชน์ เสถียรภาพคือข้อกำหนดเบื้องต้นสำหรับโมเดลอนุกรมเวลาใดๆ ที่จะมีค่าทำนาย
การบ้าน: เลือกสินทรัพย์ใดก็ได้ที่คุณกำลังเทรดอยู่ เขียนหนึ่งประโยคว่าคุณเชื่อว่าอะไรคือปัจจัยหลักที่ขับเคลื่อนการเคลื่อนไหวของราคา ปัจจัยนั้นคือสิ่งที่คุณควรติดตามควบคู่ไปกับโมเดลอนุกรมเวลาที่คุณสร้าง หากปัจจัยนั้นเปลี่ยนแปลง โมเดลของคุณจำเป็นต้องสร้างใหม่
ส่วนที่ 2: ภารกิจสามอย่าง และทำไมการคาดการณ์ถึงผิดเสมอ
ทุกการประยุกต์ใช้การวิเคราะห์อนุกรมเวลาจัดอยู่ในหนึ่งในสามประเภท การเข้าใจว่างานใดที่คุณกำลังทำจริงๆ จะช่วยคุณประหยัดจากข้อผิดพลาดที่พบบ่อยที่สุดและแพงที่สุดในการเงินเชิงปริมาณ
การกรอง (Filtering) ประมาณสถานะปัจจุบันของระบบโดยใช้ข้อมูลในอดีตและปัจจุบัน คุณกำลังพยายามกำจัดสัญญาณรบกวนและดูว่าเกิดอะไรขึ้นจริงๆ ในขณะนี้ ค่าเฉลี่ยเคลื่อนที่ (Moving Average) คือตัวกรอง มันไม่ได้ทำนายอนาคต มันทำให้ปัจจุบันเรียบขึ้น ทุกอินดิเคเตอร์ที่คุณเคยใส่บนกราฟในแพลตฟอร์มเทรดกำลังทำการกรองบางรูปแบบ เมื่อคุณใช้ค่าเฉลี่ยเคลื่อนที่ 20 วัน คุณกำลังพูดว่า: ฉันต้องการเห็นสถานะพื้นฐานของสินทรัพย์นี้โดยไม่มีสัญญาณรบกวนรายวัน นั่นคือทั้งหมดที่คุณกำลังทำ
การทำให้เรียบ (Smoothing) ใช้ทั้งข้อมูลในอดีตและอนาคตเพื่อประมาณว่าสถานะนั้นเป็นอย่างไร ณ จุดเวลาก่อนหน้า มันต้องการความรู้เส้นทางโดยรวม หมายความว่าคุณต้องเห็นสิ่งที่เกิดขึ้นหลังจากจุดเวลาหนึ่งเพื่อกำหนดลักษณะที่ดีที่สุดของสิ่งที่เกิดขึ้น ณ จุดนั้น การทำให้เรียบมีประโยชน์สำหรับการวิเคราะห์ข้อมูลในอดีตและการสร้างชุดข้อมูลวิจัย แต่ไม่สามารถใช้สำหรับการตัดสินใจเทรดแบบเรียลไทม์因为它需要ข้อมูลจากอนาคต
การพยากรณ์ (Forecasting) ใช้สถานะปัจจุบันและในอดีตเพื่อสร้างความคาดหวังเกี่ยวกับอนาคต นี่คือจุดที่เทรดเดอร์ส่วนใหญ่ให้ความสนใจและเป็นจุดที่มีความเข้าใจผิดมากที่สุด
นี่คือความจริงพื้นฐานที่การศึกษาเทรดส่วนใหญ่ปฏิเสธที่จะพูดอย่างชัดเจน
การพยากรณ์ไม่ใช่การทำนาย มันคือความคาดหวัง สองสิ่งนี้ไม่เหมือนกัน
ความคาดหวังคือตัวเลขเดียวที่ทำให้ความคลาดเคลื่อนกำลังสองน้อยที่สุดในทุกผลลัพธ์ในอนาคตที่เป็นไปได้ ในทางคณิตศาสตร์มันคือค่าเฉลี่ยแบบมีเงื่อนไข (conditional mean):
E[Xₜ₊₁ | X₁, X₂, ..., Xₜ]
เมื่อคุณทอยลูกเต๋าที่ยุติธรรม ความคาดหวังคือ 3.5 ลูกเต๋าสามารถออก 3.5 ได้หรือไม่? ไม่ได้ แต่ 3.5 ยังคงเป็นคำตอบที่ดีที่สุดที่คุณสามารถให้ได้ก่อนทอย มันคือค่าที่ทำให้ความคลาดเคลื่อนเฉลี่ยของคุณน้อยที่สุดทั่วทุกการทอยในอนาคต
การคาดการณ์ตลาดทำงานในลักษณะเดียวกันทุกประการ โมเดลของคุณสร้างค่าคาดหวังที่ดีที่สุดโดยพิจารณาจากข้อมูลที่มีอยู่ ค่าคาดหวังนั้นจะไม่มีวันเท่ากับราคาที่เกิดขึ้นจริง แต่ถ้ามันถูกต้องโดยเฉลี่ยและคุณเทรดรอบๆ มันอย่างเป็นระบบ คุณสามารถสร้างผลตอบแทนที่สม่ำเสมอได้ นี่คือวิธีที่ผู้ดูแลสภาพคล่อง (Market Makers) ดำเนินการ พวกเขาไม่จำเป็นต้องรู้ว่าราคาจะไปที่ไหน พวกเขาต้องรู้ราคาคาดหวัง เสนอราคาเสนอซื้อ-เสนอขายรอบมัน และเก็บส่วนต่างนั้นจากการเทรดหลายพันครั้ง
ข้อพิสูจน์ว่าสิ่งนี้ใช้ได้ผลแม้ว่าโมเดลจะผิด มาจากการจำลองการดูแลสภาพคล่องแบบง่าย ลองนึกภาพการเสนอราคาเสนอซื้อ-เสนอขายรอบค่าคาดหวังของกระบวนการที่มีความคาดหวังที่แท้จริงเปลี่ยนแปลงแบบสุ่มเมื่อเวลาผ่านไป ค่าเฉลี่ยเคลื่อนที่ติดตามความคาดหวังนั้นอย่างไม่สมบูรณ์ มันผิดเล็กน้อยเสมอ แต่ถ้าคุณเทรดส่วนต่างรอบค่าประมาณที่ไม่สมบูรณ์นั้น คุณยังคงสะสม P&L ที่เป็นบวกเมื่อเวลาผ่านไป เพราะคุณถูกต้องโดยเฉลี่ย
นี่คือแกนหลักของการเทรดเชิงระบบโดยใช้การวิเคราะห์อนุกรมเวลา คุณไม่ต้องการการพยากรณ์ที่สมบูรณ์แบบ คุณต้องการการพยากรณ์ที่ถูกต้องในทิศทางบ่อยพอที่จะเอาชนะต้นทุนธุรกรรม และคุณต้องการกรอบงานที่เข้มงวดเพื่อรู้ว่าเมื่อใดที่โมเดลของคุณหยุดที่จะถูกต้องโดยประมาณ

ส่วนที่ 3: ปัญหา Unit Root ที่ทำลายโมเดลเทรดส่วนใหญ่
นี่คือส่วนที่จะช่วยคุณประหยัดจากข้อผิดพลาดที่พบบ่อยที่สุดและแพงที่สุดในการเทรดเชิงปริมาณด้วยข้อมูลอนุกรมเวลา
คนส่วนใหญ่ที่พยายามสร้างโมเดลทำนายราคาหุ้นเริ่มต้นด้วยการทำ regression ของราคาปิดของวันพรุ่งนี้กับราคาปิดของวันนี้ เมื่อพวกเขาทำเช่นนี้ พวกเขาจะได้ค่า R-squared สูงกว่า 0.99 พวกเขาเชื่อว่าค้นพบความสัมพันธ์ในการทำนายที่เกือบสมบูรณ์แบบแล้ว
แต่พวกเขาไม่ได้ค้นพบ พวกเขาตกอยู่ในหนึ่งกับดักที่มีการบันทึกไว้อย่างดีในสถิติที่เรียกว่า spurious regression (การถดถอยเทียม)
นี่คือสิ่งที่เกิดขึ้นจริง รัน regression เดียวกันแต่แทนที่ราคาปิดด้วยผลตอบแทนรายวัน ค่า R-squared จะลดลงเหลือประมาณ 0.01 คุณได้จากที่อธิบายความแปรปรวนได้ 99 เปอร์เซ็นต์เหลือเพียง 1 เปอร์เซ็นต์ สินทรัพย์พื้นฐานเดียวกัน ข้อมูลเดียวกัน โครงสร้างโมเดลเดียวกัน ผลลัพธ์ที่แตกต่างกันอย่างสิ้นเชิง
สาเหตุคือ unit root
อนุกรมเวลามี unit root เมื่อค่าปัจจุบันเท่ากับค่าก่อนหน้าบวกกับการช็อกแบบสุ่ม:
Xₜ = Xₜ₋₁ + εₜ
นี่เรียกว่า random walk ราคาหุ้นประมาณตามกระบวนการนี้ เมื่อคุณทำ regression ของ random walk หนึ่งกับ random walk อีกอันหนึ่ง คุณจะพบความสัมพันธ์ทางสถิติที่แข็งแกร่งเกือบตลอดเวลาแม้ว่าทั้งสองอนุกรมจะไม่เกี่ยวข้องกันเลย นี่คือ spurious regression และเป็นที่มาของสัญญาณเทรดปลอมนับไม่ถ้วนในอุตสาหกรรม
การทดสอบสำหรับสิ่งนี้คือ Augmented Dickey-Fuller test สมมุติฐานว่างคืออนุกรมมี unit root ค่า p-value ต่ำกว่า 0.05 หมายความว่าคุณสามารถปฏิเสธสมมุติฐานว่างและอนุกรมน่าจะ stationary (นิ่ง) ค่า p-value สูงกว่า 0.05 หมายความว่าอนุกรมอาจมี unit root และโมเดล regression ดิบจะให้ผลลัพธ์ที่ผิดพลาด
คุณจะพบว่าอนุกรมราคาล้มเหลวในการทดสอบ ในขณะที่อนุกรมผลตอบแทนผ่านการทดสอบ สิ่งนี้บอกคุณอย่างชัดเจนว่าควรสร้างแบบจำลองอะไร ห้ามสร้างโมเดลทำนายบนระดับราคาดิบ ให้แปลงเป็นผลตอบแทน ผลตอบแทนลอการิทึม หรือปริมาณที่ derive มาซึ่ง stationary ก่อนที่จะใช้โมเดลอนุกรมเวลา
การแปลงที่เปลี่ยนอนุกรมราคาให้เป็นอนุกรม stationary เรียกว่า first differencing (ผลต่างอันดับหนึ่ง):
rₜ = ln(Pₜ) - ln(Pₜ₋₁)
ผลตอบแทนลอการิทึมมีค่าประมาณ stationary แม้ว่าอนุกรมผลตอบแทนทางการเงินยังคงมี stylized facts เช่นการจับกลุ่มของความผันผวน (volatility clustering) และหางหนา (fat tails) ที่ความ stationary บริสุทธิ์ไม่สามารถจับได้อย่างสมบูรณ์ เราจะกล่าวถึงสิ่งเหล่านี้ในส่วน GARCH ด้านล่าง
การบ้าน: นำโมเดลเทรดใดๆ ที่คุณกำลังใช้หรือเคยใช้ในอดีต ตรวจสอบว่ามันสร้างบนระดับราคาหรือผลตอบแทน ถ้ามันสร้างบนระดับราคา ให้รัน Dickey-Fuller test บนข้อมูลพื้นฐาน ถ้าค่า p-value สูงกว่า 0.05 ผลลัพธ์ backtest ของคุณน่าจะสูงเกินจริงจากสหสัมพันธ์เทียม (spurious correlation)
ส่วนที่ 4: โมเดลที่ใช้งานได้จริง และวิธีใช้มัน
ตอนนี้คุณเข้าใจแล้วว่าอนุกรมเวลาคืออะไร ภารกิจพื้นฐานสามอย่าง และปัญหา unit root คุณก็พร้อมที่จะสร้างโมเดลที่จะใช้งานได้จริงในตลาดสด
กลุ่มของโมเดลที่เป็นแกนหลักของการเทรดเชิงระบบคือตระกูล ARMA และส่วนขยายของมัน แต่ละโมเดลในตระกูลนี้จับลักษณะที่แตกต่างกันของโครงสร้างการพึ่งพาอนุกรม (serial dependence) ในอนุกรมเวลาทางการเงิน
AR: โมเดล Autoregressive
โมเดล autoregressive อันดับ p เขียนเป็น AR(p) กล่าวว่าค่าปัจจุบันของอนุกรมเป็นฟังก์ชันเชิงเส้นของค่า p ค่าก่อนหน้าบวกกับการช็อกแบบสุ่ม:
Xₜ = φ₁Xₜ₋₁ + φ₂Xₜ₋₂ + ... + φₚXₜ₋ₚ + εₜ
สัมประสิทธิ์ φ คือพารามิเตอร์ autoregressive พวกมันจับว่าค่าปัจจุบันถูกอธิบายโดยแต่ละ lag มากน้อยเพียงใด ในการเทรด โมเดล AR มีประโยชน์สำหรับการจับโมเมนตัมระยะสั้นและพลศาสตร์การกลับสู่ค่าเฉลี่ย (mean reversion) โมเดล AR(1) ที่ φ₁ เป็นบวกจับโมเมนตัม โมเดล AR(1) ที่ φ₁ เป็นลบจับการกลับสู่ค่าเฉลี่ย
MA: โมเดล Moving Average
โมเดล moving average อันดับ q เขียนเป็น MA(q) กล่าวว่าค่าปัจจุบันเป็นฟังก์ชันเชิงเส้นของการช็อกแบบสุ่มในปัจจุบันและในอดีต:
Xₜ = εₜ + θ₁εₜ₋₁ + θ₂εₜ₋₂ + ... + θqεₜ₋q
โมเดล MA จับผลของความประหลาดใจในอดีตต่อค่าปัจจุบัน มันมีประโยชน์โดยเฉพาะอย่างยิ่งสำหรับการสร้างแบบจำลองว่าตลาดตอบสนองต่อเหตุการณ์ข่าวสารอย่างไร
ARMA: การรวมทั้งสอง
โมเดล ARMA(p,q) รวมทั้งสององค์ประกอบ:
Xₜ = φ₁Xₜ₋₁ + ... + φₚXₜ₋ₚ + εₜ + θ₁εₜ₋₁ + ... + θqεₜ₋q
สำหรับอนุกรมที่ไม่ stationary คุณใช้การหาผลต่าง (differencing) ก่อนเพื่อทำให้อนุกรม stationary และโมเดลที่ได้เรียกว่า ARIMA(p,d,q) โดยที่ d คืออันดับของการหาผลต่าง
GARCH: การสร้างแบบจำลองความผันผวน
ปัญหาของโมเดล ARMA สำหรับข้อมูลทางการเงินคือมันถือว่าความผันผวนคงที่ ผลตอบแทนทางการเงินแสดงการจับกลุ่มของความผันผวน: การเคลื่อนไหวขนาดใหญ่มักตามด้วยการเคลื่อนไหวขนาดใหญ่ และการเคลื่อนไหวขนาดเล็กมักตามด้วยการเคลื่อนไหวขนาดเล็ก นี่คือปรากฏการณ์ ARCH (ARCH effect) และเป็นหนึ่งใน stylized facts ที่ได้รับการบันทึกไว้อย่างดีที่สุดในแวดวงการเงินทั้งหมด
โมเดล GARCH(1,1) จัดการกับสิ่งนี้โดยการสร้างแบบจำลองความแปรปรวนของเทอมความคลาดเคลื่อนเป็นกระบวนการที่เปลี่ยนแปลงตามเวลา:
σₜ² = ω + α₁εₜ₋₁² + β₁σₜ₋₁²
โดยที่ σₜ² คือความแปรปรวนแบบมีเงื่อนไข ณ เวลา t, εₜ₋₁² คือการช็อกยกกำลังสองจากช่วงก่อนหน้า และ σₜ₋₁² คือความแปรปรวนของช่วงก่อนหน้า โมเดลนี้จับการจับกลุ่มของความผันผวนที่คุณสังเกตเห็นในตลาดได้อย่างแม่นยำ: ความผันผวนสูงในวันนี้ทำนายความผันผวนสูงในวันพรุ่งนี้
สำหรับการเทรด GARCH มีความจำเป็นสำหรับการกำหนดขนาดสถานะ (position sizing) เมื่อ σₜ² สูง คุณลดขนาดสถานะ เมื่อ σₜ² ต่ำ คุณสามารถรับความเสี่ยงได้มากขึ้น ข้อมูลเชิงลึกเดี่ยวนี้ นั่นคือการปรับขนาดสถานะแบบไดนามิกตามความผันผวนที่ประมาณไว้ เป็นสาเหตุของสัดส่วนที่มีนัยสำคัญของผลตอบแทนที่ปรับตามความเสี่ยงที่สร้างโดยกองทุนเชิงระบบ

ส่วนที่ 5: ท่อส่งงานดำเนินการที่สมบูรณ์ (Complete Implementation Pipeline)
ส่วนนี้ประกอบทุกอย่างเข้าด้วยกันเป็นระบบที่ใช้งานได้ซึ่งคุณสามารถรันบนข้อมูลจริงได้ตั้งแต่วันนี้
สามสิ่งที่สำคัญอย่างยิ่งที่จะต้องเข้าใจเกี่ยวกับการดำเนินการนี้ก่อนที่คุณจะนำไปใช้งาน
ประการแรก: การกำหนดขนาดสถานะตาม GARCH ทำงานหนักกว่าทิศทางการคาดการณ์ของ ARIMA การลดการเปิดรับในช่วงที่ความผันผวนสูงเป็น edge ที่น่าเชื่อถือที่สุดในทั้งระบบ การคาดการณ์ทิศทางที่มีความแม่นยำ 52 ถึง 55 เปอร์เซ็นต์รวมกับการปรับขนาดตามความผันผวนให้ผลตอบแทนที่ปรับตามความเสี่ยงดีกว่าความแม่นยำ 60 เปอร์เซ็นต์ที่มีขนาดสถานะคงที่
ประการที่สอง: โครงสร้าง walk-forward เป็นสิ่งที่ไม่มีข้อต่อรอง ในแต่ละขั้นตอนคุณจะฟิตโมเดลบนข้อมูลในอดีตเท่านั้นและคาดการณ์หนึ่งขั้นไปข้างหน้า ห้ามฟิตบนชุดข้อมูลทั้งหมดและสร้างการคาดการณ์ในตัวอย่าง (in-sample) แล้วเรียกมันว่า backtest นั่นไม่ใช่ backtest มันคือการ curve fit ที่มีป้ายกำกับ
ประการที่สาม: ข้อมูลทางเลือก (Alternative data) คือเพดานของสิ่งที่การวิเคราะห์อนุกรมเวลาสามารถบรรลุได้ กรอบงานที่คุณสร้างขึ้นที่นี่คือพื้น มันจับรูปแบบที่มีอยู่ในอนุกรมราคา เทรดเดอร์ที่ทำผลงานได้ดีกว่าอย่างสม่ำเสมอจะเพิ่มข้อมูลที่อนุกรมราคาไม่สามารถบรรจุได้ เช่น ความรู้สึกจากการประชุมทางโทรศัพท์ของผลประกอบการ ความไม่สมดุลของคำสั่งซื้อขายจาก order book สัญญาณจากตลาดสินเชื่อ ข้อมูลสภาวะตลาดข้ามสินทรัพย์ สิ่งเหล่านี้ไม่ใช่การปรับปรุงโมเดล มันคือข้อมูลนำเข้าจากชุดข้อมูลที่แตกต่างกันโดยพื้นฐาน

ข้อจำกัดในทางปฏิบัติที่สำคัญที่สุด: โมเดลในตระกูล ARMA ทั้งหมดถือว่าคุณสมบัติทางสถิติของอนุกรมมีเสถียรภาพโดยประมาณตลอดหน้าต่างการประมาณค่า ในตลาดการเงิน สมมติฐานนี้ถูกละเมิดอย่างต่อเนื่อง การบรรเทามาตรฐานคือหน้าต่างการประมาณค่าแบบหมุน (rolling estimation window) ที่มี 252 วันทำการ ซึ่งทิ้งข้อมูลเก่าเมื่อข้อมูลใหม่มาถึง หน้าต่างที่สั้นกว่าปรับตัวได้เร็วกว่าแต่ให้การประมาณค่าพารามิเตอร์ที่มีสัญญาณรบกวนมากกว่า หน้าต่างที่ยาวกว่ามีเสถียรภาพมากกว่าแต่ล่าช้าต่อการเปลี่ยนแปลงสภาวะ ความยาวหน้าต่างที่เหมาะสมเป็นคำถามเชิงประจักษ์ที่ต้องตอบแยกกันสำหรับแต่ละตราสารและแต่ละกลยุทธ์
สรุป
การวิเคราะห์อนุกรมเวลาไม่ได้ทำนายอนาคต สิ่งที่มันทำคือสร้างความคาดหวังที่เหมาะสมทางคณิตศาสตร์ของอนาคตโดยพิจารณาจากสถานะปัจจุบันและประวัติที่สังเกตได้ เมื่อความคาดหวังนั้นถูกต้องในทิศทางบ่อยพอและรวมกับการกำหนดขนาดสถานะตามความผันผวน มันจะสร้าง edge ที่สม่ำเสมอ
กรอบงานที่สมบูรณ์อยู่ในบทความนี้ ตรวจสอบ stationarity ก่อนสร้างโมเดลใดๆ ใช้ผลตอบแทน ไม่ใช่ราคา เป็นข้อมูลนำเข้า ฟิต ARIMA เพื่อจับสัญญาณทิศทางใน autocorrelation ของผลตอบแทน วางชั้น GARCH ด้านบนเพื่อสร้างแบบจำลองความผันผวนที่เปลี่ยนแปลงตามเวลาและปรับขนาดสถานะของคุณแบบไดนามิก ตรวจสอบทุกอย่างโดยใช้โครงสร้าง walk-forward แบบหมุน และจำไว้เสมอว่าการเคลื่อนไหวที่ใหญ่ที่สุด ซึ่งสร้างหรือทำลายเงินทุนมากที่สุด มาจากการเปลี่ยนแปลงสภาวะที่ไม่มีโมเดลอนุกรมเวลาใดจะเห็นล่วงหน้า
ส่วนสุดท้ายนั้นไม่ใช่ข้อจำกัดของโมเดล มันคือคำอธิบายของความเป็นจริง เทรดเดอร์ที่สร้างกลยุทธ์เชิงระบบที่ประสบความสำเร็จมากที่สุดในประวัติศาสตร์เข้าใจอย่างถ่องแท้ว่าโมเดลของพวกเขาทำอะไรได้และไม่ได้อะไร พวกเขาใช้อนุกรมเวลาสำหรับสิ่งที่มันเก่งจริงๆ: การดึงรูปแบบที่เสถียรจากสภาวะที่มีเสถียรภาพ และพวกเขาใช้ข้อมูลทางเลือกและการตรวจจับสภาวะเพื่อรู้ว่าเมื่อใดที่สภาวะเหล่านั้นกำลังจะเปลี่ยนแปลง
ตอนนี้คุณมีทั้งสองอย่างแล้ว กรอบงานอนุกรมเวลาอยู่ในบทความนี้ กรอบงานการตรวจจับสภาวะด้วย Markov Chain อยู่ในบทความก่อนหน้านี้ กรอบงานการสร้างสัญญาณด้วยโครงข่ายประสาทเทียมอยู่ในบทความก่อนหน้านั้นอีก
ตอนนี้คุณมีชุดเครื่องมือเทรดดิ้งเชิงระบบที่สมบูรณ์แล้ว
นี่คือคำถามที่ผมอยากให้คุณนั่งคิด
โมเดล GARCH บอกคุณว่าความผันผวนกำลังจะพุ่งสูงขึ้นตามรูปแบบในประวัติผลตอบแทนเพียงอย่างเดียว Markov Chain บอกคุณว่าตลาดกำลังจะเปลี่ยนจากสภาวะความผันผวนต่ำไปเป็นสภาวะความผันผวนสูงตามสถานะปัจจุบัน ถ้าสัญญาณทั้งสองเห็นพ้องกัน การบรรจบกันนั้นเป็นหนึ่งในสัญญาณการจัดการความเสี่ยงที่แข็งแกร่งที่สุดที่มีอยู่ ถ้าพวกมันไม่เห็นพ้อง ความแตกต่างนั้นก็เป็นข้อมูลในตัวของมันเอง อะไรจะทำให้พวกมันไม่เห็นพ้องกัน และความแตกต่างนั้นจะบอกอะไรคุณเกี่ยวกับสภาวะตลาดในปัจจุบัน?
ฝากคำตอบของคุณไว้ในความคิดเห็น
ไม่มีคำตอบที่ผิด แต่มีคำตอบที่เปิดเผยอะไรหลายอย่าง





