ผลลัพธ์การคำนวณตรงกันแล้ว แต่คนที่ถูกต้องคือฝ่ายที่ไม่ตรงกัน
ผลลัพธ์การคำนวณตรงกันนะ แต่คนที่ถูกต้องจริงๆ คือคนที่ตรงกันไม่ได้
ในการวิจัยการซื้อขายอัตโนมัติ จำเป็นต้องสอบถามไม่เฉพาะวิธีการซื้อขายเท่านั้น แต่รวมถึงวิธีการตรวจสอบด้วย
ในบทความครั้งที่ 1 บอกไว้ว่า การที่โค้ดทำงานได้ถูกต้องกับการตรวจสอบที่ถูกต้องเป็นสองเรื่องที่ต่างกัน
คราวนี้ เป็นตอนต่อเนื่องของเรื่องนั้น
ในการวิจัยปัจจุบัน ได้มีการนำระบบการคำนวณใหม่ที่คำนวณซ้ำและตรวจสอบผลลัพธ์เข้ามา
และจริงๆ แล้ว จากการเปรียบเทียบนี้พบปัญหา
และที่สำคัญกว่านั้น ผลลัพธ์ที่ไม่ตรงกันกับหุ้นที่ตรงกันกลับ กลับเป็นข้อมูลที่ถูกต้องมากกว่า
ก่อนดูผลลัพธ์ ต้องกำหนดกติกาไว้ล่วงหน้า
ในการวิจัยปัจจุบัน ก่อนเริ่มการตรวจสอบ เราจะตัดสินใจว่าอะไรจะถูกตรวจสอบและเงื่อนไขใดที่จะใช้ในการตัดสินใจ
แนวคิดที่เรียกว่า “การลงทะเบียนล่วงหน้า”
เมื่อทำวิจัย เราอาจอยากเปลี่ยนเงื่อนไขหลังจากเห็นผลลัพธ์
หากผลที่ได้ไม่เป็นไปตามที่คาด ก็อยากลองเงื่อนไขอื่น
หากได้ผลดี ก็ควรนำเงื่อนไขนั้นมาใช้
อย่างไรก็ตาม ถ้าเปลี่ยนเกณฑ์การตัดสินระหว่างดูผลลัพธ์ จะยากที่จะแยกได้ว่าเดิมทีตั้งสมมติฐานไว้หรือเลือกเงื่อนไขให้เหมาะกับผลลัพธ์
ดังนั้น เราจะกำหนดกติกาไว้ก่อนดูผลลัพธ์
เราคิดว่าเมื่อได้ผลลัพธ์ที่สอดคล้องกับความต้องการ ยิ่งต้องมีระบบที่ไม่สามารถเปลี่ยนการตัดสินใจภายหลังได้
แน่นอนว่า การลงทะเบียนล่วงหน้าไม่รับประกันว่าจะได้ผลลัพธ์ที่ถูกต้องทั้งหมด
นี่คือระบบที่ลดความอิสระในการตัดสินใจลงอย่างตั้งใจ
เปิดข้อมูลภาคหลังได้เพียงหนึ่งครั้งตลอดการหาผลลัพธ์
ในครั้งที่ 1 เราแบ่งข้อมูลเป็นช่วงหน้าและช่วงหลัง และแนะนำว่าเงื่อนไขที่เลือกในช่วงหน้าไม่ควรเลือกใหม่ในช่วงหลัง
ตอนนี้ เราบังคับเกณฑ์ให้เข้มขึ้นอีก
เปิดข้อมูลช่วงหลังได้เพียงหนึ่งครั้งตลอดการค้นหา
ก่อนหน้านั้น จะคัดกรองผู้สมัครและกำหนดเงื่อนไขที่ใช้ในการตรวจสอบให้แน่นอน
และหากผู้สมัครที่เลือกไว้ในตอนแรกไม่ผ่านการตรวจในช่วงหลัง ก็จะไม่ย้ายผู้สมัครไปชิงช่วงหลังด้วยการเพิ่มเงื่อนไขและลองใหม่บนข้อมูลช่วงหลังเดิม
เพราะเมื่อดูผลแล้ว ข้อมูลนั้นจะไม่หายไป
ผู้สมัครที่ค้นหามาอาจถูกปฏิเสธในการตรวจขั้นสุดท้าย
ถึงแม้จะทำการทดสอบด้วยเวลายาวนาน แต่หากเปลี่ยนผู้สมัครไปเรื่อยๆ ข้อมูลช่วงหลังที่เหลืออยู่ก็จะหมดความหมาย
ที่นี่คือส่วนที่ต้องรักษาความเข้มงวดไว้เป็นพิเศษในการดำเนินงานวิจัย
日経225 เท่านั้นที่ผลลัพธ์ไม่ตรงกัน
นี่คือปัญหาที่เกิดขึ้นจริงในครั้งนี้
เมื่อคำนวณใหม่และตรวจสอบ พบว่าเฉพาะ Nikkei 225 ที่ผลลัพธ์ไม่ตรงกัน
หุ้นอื่นๆ สี่ตัวตรงกัน
หากคิดตามเหตุผลทั่วไป จะอยากสงสัยการคำนวณของ Nikkei 225 ที่ไม่ตรงกัน
แต่เมื่อไล่ตรวจกลับพบว่า เรื่องจริงไม่ใช่ Nikkei 225 แต่เป็นอีกสี่หุ้นที่ตรงกัน
ในการเทรดอัตโนมัติ เราใช้อินดิเคเตอร์ ATR เพื่อกำหนดระดับกำไรและจุดตัดขาดกำไร
ATR เป็นตัวชี้วัดขนาดการเคลื่อนไหวของราคา
มีหลายวิธีในการคำนวณค่าเฉลี่ยของ ATR
กติกาที่ตั้งไว้เดิมคือใช้ค่าเฉลี่ยแบบ simple moving average (SMA)
Nikkei 225 คำนวณตามกติกานั้น และสอดคล้องกับวิธีที่ใช้จริง
อย่างไรก็ตาม ในสี่หุ้นอื่นๆ ตั้งแต่ช่วงหนึ่ง มีการใช้วิธี Wilder's method อีกแบบในการคำนวณ
และการเปลี่ยนแปลงนั้นก็ไม่ถูกบันทึกไว้
โค้ okolที่ใช้ในการตรวจสอบในปัจจุบันก็เป็น Wilder’s method ทำให้ผลลัพธ์ของสี่หุ้นที่คำนวณด้วยวิธีเดียวกันตรงกัน
ในขณะที่ Nikkei 225 ที่กำหนดไว้ตั้งแต่ต้น ไม่ตรงกัน
หมายความว่า ถึงแม้ผลลัพธ์จะตรงกันก็ไม่หมายความว่าเป็นถูกต้องเสมอไป
หากทำผิดพลาดแบบเดิม ผลลัพธ์ก็จะตรงกันได้
ปัญหานี้ไม่ใช่ว่าควรเปรียบเทียบว่าวิธีไหนดีกว่า SMA หรือ Wilder
แต่เป็นเรื่องที่วิธีการคำนวณที่กำหนดล่วงหน้าเปลี่ยนไปโดยที่บันทึกไม่ได้
หุ้นทั้ง 4 ตัว คำนวณใหม่ด้วยวิธีที่กำหนดไว้ ตอนนี้จำเป็นต้องคำนวณซ้ำหลายวัน แต่คิดว่ามันดีกว่าการสรุปผลลัพธ์บนพื้นฐานข้อสมมติที่ผิด
หลังจากนั้นการคำนวณที่ตามมาก็ถูกทำใหม่ทั้งหมด
ผลลัพธ์การคำนวณเดิมไม่ถูกลบออก แต่ถูกเก็บไว้เป็น “ไม่ถูกต้อง”
หากตรวจสอบเฉพาะผลลัพธ์และแก้ไข Nikkei 225 ตามนั้น ก็อาจทำให้การคำนวณที่ถูกต้องถูกกระทบไปด้วย
จากประสบการณ์นี้ ทำให้เห็นอีกครั้งว่า ไม่ใช่แค่การทำให้ผลลัพธ์ตรงกันเท่านั้น แต่ต้องเห็นว่าอะไรเป็นเกณฑ์ในการตัดสินความถูกต้อง
คำนวณ 45 ชั่วโมงหายไปจากการรีสตาร์ท
ไม่ใช่เฉพาะวิธีการคำนวณที่มีปัญหา ยังรวมถึงการบันทึกผลลัพธ์ด้วย
ผลลัพธ์การคำนวณที่ใช้เวลาประมาณ 45 ชั่วโมง ถูกลบไปเมื่อตอนรีสตาร์ท Mac
สาเหตุคือที่ที่เก็บข้อมูล
ผลลัพธ์ถูกบันทึกไว้ในโฟลเดอร์ชั่วคราวที่หายเมื่อรีสตาร์ท
ไม่ใช่ว่าในการคำนวณผิด
อย่างไรก็ตาม หากผลลัพธ์ไม่เหลืออยู่ก็ไม่สามารถตรวจสอบการคำนวณย้อนหลังหรือใช้ในขั้นตอนถัดไปของงานวิจัยได้
จากความล้มเหลวนี้ ปัจจุบันเราได้ปรับระบบให้บันทึกสถานะกลางทางการทำงานทุกๆ ประมาณ 20 นาที เพื่อให้สามารถเริ่มต่อจากจุดที่หยุดไปได้
แม้จะหยุดกระบวนการกลางทางหลายครั้ง ก็สามารถเริ่มต่อจากจุดที่หยุดไว้และคำนวณจนถึงที่สุดให้ตรงกับผลที่คำนวณไว้แบบไม่หยุด
ไม่ใช่การปรับปรุงที่หวือหวา
แต่เมื่อดำเนินการตรวจสอบยาวนาน การมีระบบแบบนี้จึงเป็นสิ่งจำเป็น
สร้างระบบที่สามารถค้นหาความผิดพลาดก่อนได้ผลลัพธ์ที่ถูกต้อง
ครั้งก่อน เมื่อได้ผล backtest ที่ดูดี เราจะสงสัยว่าวิธีการซื้อขายนั้นจริงๆ แล้วใช้งานได้จริงหรือไม่
ขณะนี้ทัศนคติเดียวกันยังอยู่
แต่มีเป้าหมายที่ต้องสงสัยมากขึ้น
วิธีการคำนวณเปลี่ยนไปในระหว่างทางหรือไม่
หลังจากเห็นผลลัพธ์แล้ว เกณฑ์การตัดสินใจเปลี่ยนไปหรือไม่
สามารถทำซ้ำการคำนวณภายเงื่อนไขเดียวกันได้หรือไม่
สามารถบันทึกผลการคำนวณระยะยาวได้อย่างมั่นใจหรือไม่
และเมื่อมีความผิดพลาด ความสามารถในการค้นหาความผิดพลาดนั้นมีอยู่หรือไม่
ปัญหา ATR ครั้งนี้ อาจไม่ถูกพบถ้าไม่ทำการคำนวณซ้ำและตรวจสอบ
สิ่งสำคัญไม่ใช่การไม่เคยผิดพลาด แต่คือสามารถพบความผิดพลาดและปรับแก้ให้ถูกต้องได้
ขณะนี้ยังดำเนินการตรวจสอบวิธีการซื้อขายใหม่ๆ ต่อไป
ยังไม่มีผลลัพธ์ออกมา
อาจได้ผลลัพธ์ที่ดี หรืออาจมีสมมติฐานถูกปฏิเสธ
อย่างไรก็ตาม อย่างน้อยกว่าก่อนหน้า มีระบบที่ช่วยให้ตัดสินใจได้ว่า ควรเชื่อถือผลลัพธ์เมื่อไร
ในการค้นหาวิธีที่ทำกำไร เรากำลังสร้างสภาพแวดล้อมการตรวจสอบพื้นฐานขึ้นใหม่ด้วย
อยากให้เหตุผลที่สามารถเชื่อถือได้มากกว่าการได้ผลดีเพียงอย่างเดียว
ตอนนี้คิดเช่นนั้นอยู่