วิธีการสร้างระบบเทรด How to build your own trading system

ทุกวันนี้คำว่า “ระบบเทรด” ไม่ใช่คำใหม่อะไร เป็นคำที่หลายๆคนคุ้นเคยและรู้จักกันเป็นอย่างดี ในบทความนี้ผมจะลองมาแบ่งปันถึงการสร้างระบบเทรดรวมถึงขั้นตอนและกระบวนการต่างๆที่ผมใช้ในการทำระบบของผม แล้วกันครับ
ก่อนอื่นเลย หลายคนคงได้ยินว่าระบบเทรดนั้นมีองค์ประกอบหลายๆอย่าง แต่ก็มักจะได้ยินคนพูดในรูปแบบที่แตกต่างกันออกไป เช่น การเข้าเทรดไม่สำคัญเท่าการออก , การเทรดไม่สำคัญเท่าการจัดการความเสี่ยงหลอก , การดเทรดไม่จำเป็นต้องมีจุดตัดขาดทุนก็ได้ และอื่นๆอีกเยอะแยะมากมาย
ที่ผมอยากจะยกเป็นเด็นนี้เข้ามาก่อนเพราะเราจะได้มีจุดร่วมแนวความคิดคล้ายๆกันจะได้เข้าใจกันไปในทิศทางเดียวกันครับ
 ต่างคนต่างมีบริบทที่แตกต่างกันออกไป เช่น เวลา และเงินทุน เพราะฉะนั้นเราไม่สามารถใช้อะไรตามๆกับสิ่งที่บางคนนำเสนอได้ เช่นบางคนบอก ไม่ต้อง stoploss ก็จริงครับเขาไม่ต้องทำก็ได้เพราะเขามีเงินเยอะ แต่พวกเราซึ่งมีเงินจำกัด(ผมขอคิดว่าส่วนใหญ่พวกเราคือรายย่อยนะครับ) ก็อาจจะไม่สามารถทำได้ และอีกอย่างหนึ่งครับ ไม่ว่าจะเป็นการเข้า การออก หรือการคุมความเสี่ยง เรื่องทั้งหลายเหล่านี้ไม่ใช่เรื่องที่ต้องเลือกนะครับ แปลว่าเราก็สามารถทำให้ดีที่สุดในทุกบริบทได้ ถ้าเปรียบเทียบกับการทำงานศิลปะ เราก็คงอยากได้ผลงานที่ทุกส่วนออกมาดีที่สุด จริงไหมละครับ
มาถึงขั้นตอนการทำกันบ้าง ส่วนตัวผมมองว่า การสร้างระบบเทรดนั้นเหมือนการทดลองทางวิทยาศาสตร์ครับ คือ เมื่อเรามีสมมุติฐานหรือคำถาม เราก็ออกแบบการทดลอง และก็วิเคราะห์ผล พร้อมกับสรุป ว่าคำถามหรือสมมุติฐานนั้นของเราถูกต้องหรือไม่
ถ้าเปรียบเทียบกับการเทรดนั้นก็คือ เราตั้งคำถามว่า สินค้าที่เราจะเข้าไปเทรดนั้นมีการเคลื่อนที่หรือพฤติกรรมราคาแบบนี้ ถ้าเราเขาไปทำการเทรดในจังหวะแบบนี้(แบบที่เราคิดไว้) เราน่าจะได้เปรียบในการเทรด เสร็จแล้วก็ทำการทดลอง และก็สรุปผล ว่าตอนแรกที่เราคิดนั้นมีโอกาสผิดถูกมากน้อยอย่างไร เหมาะที่จะนำไปเทรดจริงหรือไม่
ดังนั้นการสร้างระบบเทรดในรูปแบบของผมจะแบ่งเป็น 6 ขั้นตอนดังนี้ครับ
1.การศึกษาพฤติกรรมราคาและการออกแบบระบบ
2.การทดสอบระบบ Backtesing
3. การวิเคราะห์ผลการเทรด
4. ปรับแต่ง หรือเพิ่มกลยุทธ์ต่างๆ
5.วางแผนระบการจัดการความเสี่ยง
6.ทดสอบรันในตลาดจริง
เรามาเริ่มกันทีละขั้นตอนกันเลยครับ
1.การศึกษาพฤติกรรมราคาและการออกแบบระบบ
ขั้นตอนนี้อาจจะเป็นขั้นตอนที่อาจจะต้องใช้ประสบการณ์และความคิดสร้างสรรค์พอสมควร แต่สำหรับคนที่ยังคิดไม่ออก หรือหาแนวทางไม่ถูก ผมแนะนำว่าลองหาอ่านกลยุทธ์การเทรดตามสถานที่ต่างๆ ครับ เดี๋ยวนี้มีเยอะ ผมเองก็เริ่มต้นมาจากแบบนี้ ผมเองมองว่าน้อยคน(ต้องอัจฉริยะจริงๆ) ที่อยู่ๆก็คิดรูปแบบหรือกลยุทธ์ได้เองเลยโดยที่ไม่เคยเทรดหรือศึกษากลยุทธ์คนอื่นมาก่อนเลย เหมือนตอนเราเรียนหนังสือก็ต้องมีแบบฝีกหัดเพื่อเพิ่มประสบการณ์และความเข้าใจ จึงจะสามารถประยุกต์แก้ปัญหาที่ยากขึ้นไปได้
ลองศึกษาดูหลายๆอย่างครับ ไม่ว่าจะเป็น Trend following ,Mean reversion , Swing Trading ลองศึกษาดูหลายๆรูปแบบ เราจะได้เข้าใจแนวคิดแบบต่างๆได้มากขึ้น
หรือถ้าหลายคนมีความรู้เรื่องสถิติ ก็อาจนำมาช่วยเรื่องการวิเคราะห์พฤติกรรมราคาว่าเหมาะสมกับกลยุทธ์แบบไหน หรืออาจจะมองอีกมิติของการเทรดได้ดียิ่งขึ้น ไม่ว่าจะเป็น ค่าความผันผวนในสินค้านั้นๆ การเคลือนที่เฉลี่ย พวกนี้ก็สามารถทำให้เราออกแบบได้ดียิ่งขึ้นครับ
2.การทดสอบระบบ Backtesing
เมื่อเราได้โมเดลในการเทรดเรียบร้อยแล้วนั้นก็มาถึงกระบวนการทดสอบ โดยในการทดสอบนี้จะเป็นแบบ backtesting คือใช้กับข้อมูลที่เกิดขึ้นแล้วหรือข้อมูลอดีต โดยที่ปัจจัยสำคัญในการทดสอบนั้นคือเราต้องแบ่งข้อมูลออกเป็น In sample Data คือข้อมูลที่เราจะใช้ในการทดสอบละปรับแต่งระบบชองเรา กับ Out of Sample Data คือข้อมูลที่เราแบ่งแยกไว้เอาไว้เพื่อทดสอบในทีหลัง ยกตัวอย่างเช่น In sample data ใช้ข้อมูลในช่วงปี 2010-2015 ส่วน Out of Sample data ใช้ปี 2016 เป็นต้น หรือเราอาจะแบ่งข้อมูลเป็นหลายๆช่วงเพื่อใช้การทดสอบแบบ Walking Forward Analysis ก็ไม่ว่ากัน
เมื่อเราแบ่งข้อมูลเสร็จเราจะใช้ข้อมูลของ In Sample Data มาทดสอบและเก็บข้อมูลต่างๆ เพื่อนำไปใช้ในขั้นตอนต่อไป
3. การวิเคราะห์ผลการเทรด
เราจะนำข้อมูลในข้อที่ 2 มาทำการวิเคราะห์ดูว่า ในโมเดลชองเรามีจุดอ่อนหรือจุดด้อยตรงไหนบ้าง รวมไปถึงค่าสถิติต่างๆ ไม่ว่าจะเป็น กำไร ,Drawdrown ,%win %loss,ค่าการชนะติดกัน , ค่าการแพ้ติดกัน และอื่นๆอีก แล้วแต่บุคคลจะนำมาแปลความข้อมูล
4. ปรับแต่ง หรือเพิ่มกลยุทธ์ต่างๆ
เมื่อเราได้ข้อด้อยหรือสิ่งที่ต้องปรับแต่งกันในขั้นตอนนี้ โดยที่ผมมักจะใส่ส่วนที่เป็น Data Filtering หรือการกรองข้อมูลให้เข้ากับโมเดลการเทรดของเรา เพราะแต่ละโมเดลการเทรดย่อมมีข้อจำกัดในตัวเองอยู่แล้ว ไม่มีโมเดลไหนทำงานได้สมบูรณ์แบบในทุกสถานการณ์ เราจึงจำเป็นจ้องเลือกข้อมูลที่ใช้งานได้มาในโมเดลของเรา แต่ไม่ใช่เอาอินดี้เคเตอร์ 5-6 ตัวมาซ้อนเราแบบนี้เรียกว่ากรองข้อมูลนะครับ มันจะทำให้ระบบแย่ขึ้นไปอีก
นอกจากนี้การปรับแต่งอาจจะเพิ่มในส่วนที่เป็น tactical หรือ กลยุทธ์ในการเล่น เพื่อเพิ่มประสิทธิภาพ และลูกเล่นของระบบให้ทำงานได้มีประสิทธิภาพเพิ่มขึ้น เช่น เพิ่มเงื่อนไขการเข้าแบบไม้ต่อไม้ หรือ การจัดขาดทุนแบบต่างๆก็ว่ากันไป
อีกหนึ่งประเด็นที่เรามักจะนิยมปรับแต่งก็คือค่าของ parameter ต่างๆในโมเดล เพื่อให้ได้เครื่องมือที่สอดคล้องกับพฤติกรรมราคาของสินค้าแต่ละชนิด ก็จะทำให้ได้ระบบที่สอดคล้องกับตลาดมากขึ้น แต่ต้องไม่ทำมากเกินไปเพราะจะทำให้กลายเป็น Overfitting ได้ คือ พยายามปรับจนผลลัพธ์มันดีมากเกินไป แต่ใช้ในตลาดจริงไม่ได้
เมื่อเราปรับแต่ละส่วนก็ย้อนกลับไปในขั้นตอนที่ 2-5 ใหม่ ครับ จนกว่าจะได้ระบบที่เราพอใจ และเมื่อเราได้ระบบที่เราพอใจแล้วนั้นให้นำระบบนั้นไปทดสอบใน ข้อมูล Out of Sample ว่าผลลัพธ์จากการเทรดของในช่วง In sample กับ Out of Sample ใกล้เคียงกันไหม ถ้าพบว่าแตกต่างกันมาก แสดงว่าเราทำผิดผลาดในการปรับแต่ง หรือ กระบวนที่ใช้ในการปรับแต่งของเรายังไม่ถูกต้อง ก็ให้กลับไปแก้ที่จุดนั้น
5.วางแผนระบการจัดการความเสี่ยง
เมื่อได้ระบบและเงื่อนไขต่างๆที่เราต้องการแล้ว ผมจึงจะมากำหนดขนาดความเสี่ยง รวมถึงการจัดการเงินแยกขั้นตอนออกมาก(โดยปกติผมชอบทำเรื่องความเสี่ยงแยกออกมาจากตอนทดสอบระบบครับ) โดยในขั้นตอนนี้สิ่งแรกที่ผมจะถามตัวเองก่อนเสมอคือ “เรารับความเสี่ยงได้มากที่สุดเท่าไร” ไม่ใช่กำไรสูงสุดที่เราต้องการ ผมค่อนข้างไปทางมองความเสี่ยงก่อนเป็นหลัก เพราะโดยคติผมส่วนตัวคือต้องรักษาเงินต้นให้ได้ก่อน แล้วกำไรถึงจะมี
ทุกๆวันนี้คำถามส่วนใหญ่ที่ผมมักได้ยินคือ ซื้อทองแล้วลงทำยังไงดี หรือ ตอนนี้ระบบใกล้จะล้างพอร์ทแล้ว ทำยังไงดี คำถามเหล่านี้ล้วนแต่เป็นคำถามที่เราต้องตอบให้ได้ก่อนที่เข้าไปเทรด เพราะถึงถามเซียนคนไหน ตอนที่มันใกล้จะไม่รดแล้วก็ยากที่ใครจะช่วยคุณได้ เพราะฉะนั้นการจัดความเสี่ยงจึงต้องมีอยู่ในการออกแบบระบบเทรดด้วยเสมอ
ส่วนการวางกำหนดความเสี่ยงแต่ละครั้งในการเทรด ก็แล้วแต่ แต่ละคนจะเลือกใช้ ไม่ว่าจะเป็น Kelly Formula , OptimalF หรือกระทั่ง 2% rule ก็สามารถใช้ได้ทั้งนั้น โดยที่การใช้นั้นต้องหาค่าความเสี่ยงสูงสุดให้ไม่เกินที่เรารับได้ ส่วนตัวผมนิยมการทำ Monte Carlo Analysis เพื่อหาความน่าจะเป็นในที่เรารับได้ในการขาดทุนในกลยุทธ์นั้น
6.ทดสอบรันในตลาดจริง
กระบวนการสุดท้ายที่ผมเลือกจะใช้การเทรดจริงคือการทดสอบกับตลาดจริง (Forward testing) โดยเราอาจจะใช้จำนวนเงินที่ไม่มากเพื่อที่สอบ หรือ บางคนอาจจะใช้บัญชีเดโม่เลยก็ได้ไม่ว่ากัน ซึ่งการทำแบบนี้เราจะได้เห็นว่าระบบที่เราทำขึ้นมานั้นตอบสนองต่อตลาดจริงได้มากน้อยเพียงใด
จะเห็นได้ว่าการทำระบบเทรดเป็นเรื่องละเอียด และมีรายละเอียดค่อนข้างมาก ไม่ใช่จะใช้เวลาไม่กี่ชั่วโมงก็เสร็จ ยิ่งเราใส่ใจในรายละเอียดเท่าไรก็ยิ่งทำให้เราได้ระบบเทรดที่ดีมากขึ้นเท่านั้น

ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

Linear Vs Non Linear

Volatility

เส้นค่าเฉลี่ยน (Moving Average)