Hedge Ratio ด้วย Kalman Filter: การถดถอยแบบพลวัตสำหรับ Pairs Trading
เรียนรู้ว่าการถดถอยแบบ state-space ปรับ hedge ratio ที่เปลี่ยนแปลงอย่างไร noise ของกระบวนการควบคุมการตอบสนองอย่างไร และเหตุใด spread ที่ผ่าน filter แล้วยังต้องตรวจสอบนอกตัวอย่าง
ในคู่มือนี้Dynamic hedge ratio ใช้จำลองความสัมพันธ์ที่เปลี่ยนไป
สรุปสั้น
Kalman filter ปรับ intercept และ hedge coefficient ของสมการถดถอยได้เมื่อมีข้อมูลใหม่เข้ามา ค่าประมาณที่เปลี่ยนไปเป็นแบบจำลองวิวัฒนาการของความสัมพันธ์ ไม่ใช่หลักฐานของ cointegration, spread ที่กลับสู่ค่าเฉลี่ย หรือสัญญาณที่ทำกำไรได้
Dynamic hedge ratio ใช้จำลองความสัมพันธ์ที่เปลี่ยนไป
Hedge ratio แบบคงที่ประมาณค่าสัมประสิทธิ์หนึ่งค่าจากตัวอย่างช่วงสร้างแบบจำลองแล้วตรึงไว้ ส่วนแบบจำลอง hedge แบบพลวัตถือว่า intercept และ slope เป็นค่าซ่อนเร้นที่เปลี่ยนตามเวลาได้ Kalman filter ประมาณค่าสองตัวนี้แบบเวียนซ้ำ โดยผสานค่าประมาณก่อนหน้ากับข้อมูลจากการสังเกตครั้งใหม่
สำหรับสินทรัพย์สองตัวที่เลือก ให้ \(y_t\) เป็น log price ของตัวหนึ่ง และ \(x_t\) เป็น log price ของอีกตัวหนึ่ง การถดถอยระยะยาวที่เปลี่ยนไปเขียนได้เป็น \(y_t=\alpha_t+\beta_t x_t+\epsilon_t\) สัมประสิทธิ์ \(\beta_t\) อธิบายความสัมพันธ์ที่ fit ณ เวลา \(t\) แต่ไม่ได้เป็นจำนวนหุ้น สถานะที่ dollar-neutral หรือกฎเศรษฐกิจที่คงที่โดยอัตโนมัติ
การประยุกต์นี้ใช้ขั้นตอนเวียนซ้ำสำหรับการพยากรณ์และอัปเดตของแบบจำลอง state-space เชิงเส้น Kalman เสนอกรอบการ filtering แบบเวียนซ้ำ และงานเศรษฐมิติภายหลังนำไปประมาณสัมประสิทธิ์ถดถอยที่เปลี่ยนตามเวลา การเทรดคู่ด้วย spread เชิงสุ่มเป็นหนึ่งในการประยุกต์ แต่ต้องประเมินสมมติฐานการเทรดแยกจากอัลกอริทึม filtering

กำหนดสัมประสิทธิ์ถดถอยเป็น hidden state
กำหนดเวกเตอร์สถานะและแถวของการสังเกตดังนี้
\[ \theta_t= \begin{bmatrix}\alpha_t\\\beta_t\end{bmatrix}, \qquad H_t=\begin{bmatrix}1&x_t\end{bmatrix}. \]
สมการการสังเกตคือ \(y_t=H_t\theta_t+\epsilon_t\) ซึ่งเชื่อม log price ที่สังเกตได้กับ intercept และ hedge coefficient ที่ซ่อนอยู่ รวมทั้ง observation noise จุดเริ่มต้นที่ใช้บ่อยคือกำหนดให้สัมประสิทธิ์ทั้งสองเดินตาม random walk:
\[ \theta_t=\theta_{t-1}+\eta_t,\qquad \eta_t\sim N(0,Q),\qquad \epsilon_t\sim N(0,R). \]
\(Q\) คือ covariance ของการเปลี่ยนแปลงสัมประสิทธิ์ และ \(R\) คือ variance ของ observation noise เมื่อ \(Q=0\) สัมประสิทธิ์จะคงที่ในแบบจำลองนี้ ส่วน \(Q\) ที่เป็นบวกเปิดให้สัมประสิทธิ์เปลี่ยนได้ การเปลี่ยน state transition แบบอื่นก็ทำได้ แต่แต่ละแบบตั้งสมมติฐานต่างกันว่าความสัมพันธ์จะเคลื่อนไหวอย่างไร
การใช้ \(Q\) แบบเมทริกซ์แนวทแยงเพิ่มสมมติฐานว่า shock ของการเปลี่ยน intercept กับ slope ไม่สัมพันธ์กัน สมาชิกนอกแนวทแยงยอมให้ทั้งคู่เคลื่อนไหวร่วมกัน แต่ตัวอย่างต้องมีข้อมูลพอสำหรับประมาณ covariance นั้น เมทริกซ์ covariance ที่ใช้ได้ต้องสมมาตรและเป็นบวกกึ่งกำหนด
ข้อกำหนดอย่างง่ายนี้สมมติว่า disturbance ของกระบวนการและการสังเกตมีค่าเฉลี่ยศูนย์ ไม่สัมพันธ์กันตามลำดับเวลา และเป็นอิสระต่อกัน นี่เป็นสมมติฐานของแบบจำลอง ไม่ใช่คุณสมบัติที่ข้อมูลราคาจะเป็นไปโดยอัตโนมัติ
พยากรณ์สถานะและความไม่แน่นอนก่อนเห็นราคาใหม่
เมื่อสิ้นสุดเวลา \(t-1\) filter มีค่าประมาณ \(\hat\theta_{t-1|t-1}\) และ covariance \(P_{t-1|t-1}\) สมการสถานะ random walk ให้ค่าพยากรณ์ดังนี้
\[ \hat\theta_{t|t-1}=\hat\theta_{t-1|t-1}, \qquad P_{t|t-1}=P_{t-1|t-1}+Q. \]
ค่าประมาณถูกส่งต่อ ขณะที่ความไม่แน่นอนเพิ่มตาม covariance ของการเปลี่ยนสัมประสิทธิ์ที่อนุญาต \(P\) บอกความไม่แน่นอนของสถานะถดถอยแฝงภายใต้แบบจำลองที่กำหนด ไม่ใช่การพยากรณ์การขาดทุนจากการเทรดคู่หรือค่าความเสี่ยงทั้งหมดของพอร์ต
ค่าพยากรณ์การสังเกตล่วงหน้าหนึ่งขั้นคือ \(H_t\hat\theta_{t|t-1}\) การใช้สถานะ prior สำคัญเพราะคำนวณโดยยังไม่เห็น \(y_t\) ใหม่ หากคำนวณ residual หลังปรับสัมประสิทธิ์ด้วยข้อมูลเดียวกัน residual จะถูกดึงเข้าหาศูนย์จากขั้นตอนอัปเดตแล้ว
เนื่องจาก \(H_t\) มี \(x_t\) อยู่ ราคาตัวแปรอธิบายปัจจุบันจึงมีผลต่อ \(S_t\) และ gain เมื่อความไม่แน่นอนของ slope มีนัยสำคัญ ข้อมูลที่ค่า \(x_t\) ต่างกันอาจให้สารสนเทศเกี่ยวกับ \(\beta_t\) ต่างกัน โดย covariance ระหว่าง intercept กับ slope ก็มีส่วนด้วย การ center หรือปรับ scale \(x_t\) เปลี่ยนความหมายของ intercept และหน่วยของสัมประสิทธิ์ ดังนั้นต้องแปลงหรือประมาณสมาชิกที่เกี่ยวข้องของ \(Q\) และ \(P\) ตั้งต้นใหม่ ไม่ใช่คัดลอกค่าเดิมตรง ๆ
Innovation กำหนดการอัปเดต hedge estimate
เมื่อข้อมูลใหม่มาถึง ค่าคลาดเคลื่อนการพยากรณ์หนึ่งขั้น หรือ innovation คือ
\[ v_t=y_t-H_t\hat\theta_{t|t-1}, \qquad S_t=H_tP_{t|t-1}H_t^{\mathsf T}+R. \]
Innovation variance \(S_t\) รวมความไม่แน่นอนของสถานะที่พยากรณ์กับ observation noise เข้าด้วยกัน Kalman gain และการอัปเดตสถานะคือ
\[ K_t=P_{t|t-1}H_t^{\mathsf T}S_t^{-1}, \qquad \hat\theta_{t|t}=\hat\theta_{t|t-1}+K_tv_t. \]
Gain แบ่งความคลาดเคลื่อนใหม่ระหว่างการปรับความสัมพันธ์ที่ประมาณไว้กับการถือว่าข้อมูลเป็น noise ค่า gain ที่สูงขึ้นหมายถึง filter ปรับตามข้อมูลนี้มากขึ้น ไม่ได้หมายความว่าความสัมพันธ์เชื่อถือได้มากขึ้น
สมมติ filter ตัวอย่างพยากรณ์ \(\hat\alpha=2.0\), \(\hat\beta=1.20\) เมื่อ \(x_t=50\) จึงได้ \(\hat y=62.0\) หาก \(y_t=62.8\) ที่สังเกตได้ innovation เท่ากับ \(0.8\) หาก gain ของแบบจำลองคือ \([0.08,0.006]^{\mathsf T}\) intercept หลังอัปเดตเป็น \(2.064\) และ slope เป็น \(1.2048\) ตัวเลขสมมตินี้แสดงวิธีคำนวณเท่านั้น ไม่ใช่ hedge ratio จากข้อมูลจริงหรือหลักฐานว่าความเบี่ยงเบนจะกลับทิศ
Process noise และ measurement noise ควบคุมความยืดหยุ่นคนละด้าน
เมทริกซ์ process noise \(Q\) กำหนดว่าสัมประสิทธิ์ถดถอยเปลี่ยนได้มากเพียงใดระหว่างการสังเกต โดยทั่วไป \(Q\) ที่สูงขึ้นทำให้ gain สูงขึ้นและค่าประมาณตอบสนองเร็วขึ้น จึงตามการเปลี่ยนแปลงจริงได้เร็วกว่า แต่ก็อาจไล่ตาม noise ชั่วคราวและทำให้น้ำหนัก hedge เปลี่ยนเร็ว \(Q\) ที่ต่ำเกินไปทำให้ค่าประมาณเรียบขึ้น แต่อาจตามการเปลี่ยนโครงสร้างจริงไม่ทัน
ค่า variance ของ measurement noise \(R\) อธิบายความแปรปรวนของ \(y_t\) ที่ความสัมพันธ์ไม่ได้อธิบาย เมื่อปัจจัยอื่นคงเดิม \(R\) ที่สูงขึ้นทำให้ filter เชื่อข้อมูลใหม่แต่ละครั้งน้อยลง ไม่มีค่า \(Q\) หรือ \(R\) ที่เป็นค่าปรับจูนสากล ขนาดขึ้นอยู่กับว่าแบบจำลองใช้ราคา log price หรืออนุกรมที่ normalize แล้ว รวมถึงช่วงห่างของข้อมูล
ผู้วิเคราะห์อาจประมาณพารามิเตอร์ noise ด้วย likelihood หรือกำหนดไว้ก่อนจากช่วง training แต่การปรับตามผลของช่วงเทรดสุดท้ายทำให้ข้อมูลผลลัพธ์รั่วไหลเข้ามา สถานะเริ่มต้น \(\hat\theta_{0|0}\) และ covariance \(P_{0|0}\) ก็สำคัญเช่นกัน การเริ่มต้นที่ไม่แน่นอนอาจทำให้เกิดช่วงปรับตัวอย่างรวดเร็วในตอนต้น ให้รายงานการตั้งต้น ตัวอย่างที่ใช้ประมาณพารามิเตอร์ และความไวต่อทางเลือกที่สมเหตุสมผล
Filtering และ smoothing ใช้ชุดข้อมูลคนละชุด
ค่าประมาณแบบ filtering \(\hat\theta_{t|t}\) ใช้ข้อมูลถึงเวลา \(t\) ส่วนค่าประมาณแบบ smoothing ณ \(t\) อาจใช้ข้อมูลที่มาถึงหลังจาก \(t\) Smoothing ช่วยอธิบายสถานะแฝงในอดีต แต่ผู้เทรดไม่มีข้อมูลนั้น ณ เวลาตัดสินใจในอดีต
ปัญหาเรื่องเวลานี้ยังใช้กับการประมาณ \(Q\), \(R\), การเลือกคู่ และ threshold ของสัญญาณ หาก fit ทั้งหมดครั้งเดียวด้วยข้อมูลทั้งชุด ค่าประมาณช่วงต้นก็อาศัยข้อมูลที่มาทีหลัง แม้การเวียนซ้ำของสัมประสิทธิ์จะเดินไปข้างหน้าเพียงทางเดียว สำหรับการจำลองแบบ real time ให้ fit hyperparameter จากช่วงสร้างแบบจำลองเท่านั้น แล้วตรึงค่าหรือปรับตามตาราง walk-forward ที่ประกาศไว้ ทุกการตัดสินใจเปิดสถานะต้องใช้ข้อมูลที่มีอยู่ก่อนส่งคำสั่ง
เวลาสังเกตไม่ใช่เวลาที่คำสั่งได้ execution หากต้องใช้ราคาปิด ณ \(t\) เพื่อคำนวณ \(v_t\) backtest จะสมมติว่าได้ซื้อขายที่ราคาปิดเดียวกันไม่ได้ เว้นแต่กระบวนการ execution ทำได้จริง ให้ใช้ราคาที่ส่งคำสั่งได้ถัดไปหรือแบบจำลอง execution ที่สมเหตุสมผล และรวม spread, market impact, ค่าธรรมเนียม, ต้นทุนยืม และ funding
Hedge coefficient ยังไม่ใช่น้ำหนักพอร์ตหรือสัญญาณ spread
ในการศึกษาคู่สินทรัพย์ innovation \(v_t\) ก่อนอัปเดตคือค่าคลาดเคลื่อนเมื่อเทียบกับความสัมพันธ์ที่คาดไว้ก่อนหน้า เมื่อนำไปหารด้วย \(\sqrt{S_t}\) จะได้ standardized innovation ภายใต้แบบจำลอง ช่วยเปรียบเทียบความคลาดเคลื่อนข้ามช่วงที่มีค่าความไม่แน่นอนต่างกัน แต่ไม่ได้ระบุว่าควรซื้อหรือขายสินทรัพย์แต่ละตัวเท่าใด หรือความเบี่ยงเบนขนาดใหญ่จะกลับทิศหรือไม่
Residual หลังอัปเดต \(y_t-H_t\hat\theta_{t|t}\) เป็นอีกปริมาณหนึ่ง เพราะใช้ข้อมูลปัจจุบันปรับสัมประสิทธิ์แล้ว การนำ residual นี้ไปเทียบกับ threshold ก่อนอัปเดตทำให้ความหมายของสัญญาณเปลี่ยนไป ให้ระบุ spread เวลาในการคำนวณ และ threshold ชัดเจน พร้อมบอกว่าสัมประสิทธิ์เป็นค่า prior, filtered หรือ smoothed
แม้ประมาณ \(\beta_t\) จาก log price การแปลงค่านั้นเป็นคำสั่งซื้อขายก็ต้องมีกฎกำหนดสถานะแยกต่างหาก น้ำหนักจาก log price ไม่ได้ระบุจำนวนหุ้นหรือจำนวนสัญญาโดยตรง ราคา contract multiplier สกุลเงิน และข้อจำกัดบัญชีเป็นตัวกำหนด dollar exposure ส่วน intercept ไม่ใช่สินทรัพย์ที่ซื้อขายได้ ยังต้องคำนึงถึงต้นทุนปรับสมดุลและการเปลี่ยน exposure ระหว่างการอัปเดตสัมประสิทธิ์ด้วย
สัมประสิทธิ์ที่เปลี่ยนไปอาจซ่อนความล้มเหลวของแบบจำลอง
สัมประสิทธิ์ที่เคลื่อนช้าอาจเป็นวิธีแทนการเปลี่ยนแปลงอย่างค่อยเป็นค่อยไป แต่ก็อาจดูดซับความสัมพันธ์ที่พังไปแล้ว แบบจำลองสถานะที่ยืดหยุ่นอาจทำให้ residual ที่ fit ดูเล็ก แม้ไม่มีดุลยภาพระยะยาวที่เสถียร Filter ไม่ได้ทดสอบ cointegration และไม่รับประกันว่า residual จะมีสภาวะคงที่
การเลือกคู่สินทรัพย์ก็สำคัญ การคัดกรองสินทรัพย์จำนวนมากแล้วเลือกคู่ที่ residual ในตัวอย่างเรียบที่สุด หมายถึงใช้ข้อมูลชุดเดียวกันเลือกคู่และอ้างว่าความสัมพันธ์เสถียร Corporate action, ราคาเก่า, ราคาปิดไม่พร้อมกัน, ข้อจำกัด short selling, สภาพคล่องที่เปลี่ยน และการเปลี่ยน regime ล้วนเปลี่ยนสถานะประมาณได้หรือทำให้ hedge ตามทฤษฎีส่งคำสั่งจริงได้ยาก
ตรวจพฤติกรรม residual ความไม่แน่นอนของสถานะ turnover และเส้นทางสัมประสิทธิ์ควบคู่กับเส้น fit ใช้ช่วงทดสอบนอกตัวอย่างตามลำดับเวลา และเปรียบเทียบกับ benchmark ที่ใช้อัตราส่วนคงที่ ค่าประมาณที่ปรับตัวได้มากขึ้นต้องชดเชย turnover และความเสี่ยงการประมาณหลังต้นทุนจริงได้ ความเรียบของกราฟเพียงอย่างเดียวไม่ใช่ผลการดำเนินงาน
รายงานแบบจำลองและการตรวจสอบเพื่อให้ผู้อื่นทำซ้ำได้
ระบุว่าจำลองชุดราคา/ผลตอบแทนใด ใช้การแปลงแบบไหน ความถี่ข้อมูล ช่วงตัวอย่าง และสินทรัพย์ใดอยู่ด้านซ้ายของสมการถดถอย ให้สมการ observation และ state, transition matrix, \(Q\), \(R\), วิธีตั้งต้น วิธีประมาณ และระบุว่าสถานะที่รายงานเป็น filtering หรือ smoothing
สำหรับผลการเทรด ให้กำหนด innovation หรือ spread ที่ใช้สร้างสัญญาณ วิธีปรับมาตรฐาน เวลาตัดสินใจ ความล่าช้าของคำสั่ง ขนาดสถานะ กฎปรับสมดุล และต้นทุน execution ทั้งหมด อธิบายการคัดเลือกคู่ ช่วง training และ test วิธีปรับพารามิเตอร์ noise และพฤติกรรมกลยุทธ์เมื่อเกิด break หรือข้อมูลหาย เปรียบเทียบสัมประสิทธิ์คงที่กับแบบพลวัตบนการแบ่งข้อมูลตามลำดับเวลาเดียวกัน
บทความของ Kalman เรื่อง การกรองเชิงเส้น วางกรอบวิธีเวียนซ้ำ Hatanaka ศึกษา การถดถอยที่มีสัมประสิทธิ์บางตัวเปลี่ยนตามเวลา Elliott, van der Hoek และ Malcolm เสนอ แบบจำลองสุ่มสำหรับ pairs trading ดูหัวข้อที่เกี่ยวข้องได้จาก การพยากรณ์และอัปเดตด้วย Kalman, cointegration เทียบกับ correlation ใน pairs trading, การทดสอบอันดับ Johansen และ การทดสอบอัตราส่วนความแปรปรวน
คำถามที่พบบ่อย
Q1Kalman filter พิสูจน์ได้หรือไม่ว่าคู่สินทรัพย์มี cointegration?
ไม่ได้ Filter ประมาณสถานะแฝงภายใต้สมมติฐาน transition และ observation สัมประสิทธิ์ hedge ที่ยืดหยุ่นอาจตามการเปลี่ยนของข้อมูลได้โดยไม่พิสูจน์ว่ามีชุดผสมคงที่แบบ stationary
Q2Dynamic hedge ratio ดีกว่าแบบคงที่เสมอหรือไม่?
ไม่เสมอไป อาจตอบสนองต่อการเปลี่ยนจริง แต่ก็อาจไล่ตาม noise เพิ่ม turnover และเพิ่มความเสี่ยงจากพารามิเตอร์ ควรเปรียบเทียบทั้งสองแบบบนช่วงนอกตัวอย่างตามลำดับเวลาเดียวกันและหักต้นทุนจริง
Q3ใช้ residual หลังอัปเดตเป็นสัญญาณเดียวกับ innovation ได้หรือไม่?
ไม่ได้ Innovation ใช้สถานะ prior ก่อนข้อมูลปัจจุบันอัปเดตสัมประสิทธิ์ ส่วน residual หลังอัปเดตใช้ข้อมูลนั้นปรับสัมประสิทธิ์แล้ว จึงเป็นคนละปริมาณ
แหล่งข้อมูลและการอ่านเพิ่มเติม
รายงานปัญหา
เราจะเตรียมอีเมลพร้อมลิงก์บทความนี้ Mark จะได้รับรายงานเมื่อคุณส่งอีเมลแล้วเท่านั้น
ตรวจสอบอย่างรวดเร็ว
อ่านคู่มือจบแล้ว ลองตอบคำถาม 3 ข้อ
คำถาม 01
ใน state-space regression covariance ของ process noise Q ควบคุมอะไร?
เลือกคำตอบเพื่อดูคำอธิบาย
อภิธานศัพท์ออปชัน
A recursion predicting and updating state means and error covariances in a linear Gaussian state-space model.
อ่านคู่มือฉบับละเอียดCointegrationThe existence of a stationary linear combination among nonstationary series, implying a shared long-run equilibrium restriction under a specified model.
อ่านคู่มือฉบับละเอียด