4-4 การตั้งค่าใน Optimization ให้เหมาะสม 1/2

การตั้งค่าใน Optimization ให้เหมาะสม โดยบทนี้จะกล่าวถึงการปรับแต่งค่าของ Period และ Percent โดยการปรับค่านี้ จะส่งผลถึงผลลัพธ์ ที่แตกต่างกัน

จุดประสงค์: กันความเสี่ยงและกำไร ApplyStop

  1. เข้าใจการปรับแต่งค่าให้กับระบบ
  2. เข้าใจเทคนิค การปรับแต่งค่าให้ระบบ
  3. เข้าใจถึงคำสั่ง Optimize เพื่อทำการปรับแต่งค่า

เนื้อหา: กันความเสี่ยงและกำไร ApplyStop

ในบทนนี้จะกล่าวถึงการปรับแต่งค่า (Optimization) ให้กับระบบ โดยการปรับแต่งนี้จะแสดงการปรับแต่งของ Period และ Percent โดย Period ที่จะปรับแต่นี้ จะใช้ค่าของ Moving Average แสดงดัง code ข้างล่าง

oMaSlow = Optimize (“oMaSlow”, 200, 150, 350, 50); คือ การปรับแต่งค่าเริ่มต้นที่ 150 และขยับทีละ 50 จนถึง 350 ดังนั้นจะได้ค่า คือ 150, 200, 250, 300, 350

oMaFast  = Optimize (“oMaSlow”, 40, 20, 100, 20); คือ การปรับแต่งค่าเริ่มต้นที่ 20 และขยับทีละ 20 จนถึง 100 ดังนั้นจะได้ค่า คือ 20, 40, 60, 80, 100

หลังจากนั้น จะทำการ Optimize ในส่วนของ Percent โดย การปรับแต่งในส่วนนี้เพื่อใช้ในการปรับแต่ของ setPositionSize โดยทำการเขียน code ได้ ดังนี้

oPs = Optimize(“oPs”, 5, 5, 10, 2.5); คือการปรับแต่งเริ่มต้นที่ 5 ขยับทีละ 2.5 จนถึง 10 ดังนั้นค่าที่จะได้คือ 5, 7.5, 10

SetPositionSize (oPs, spsPercentofEquity); ในส่วนนี้จะแทรก code สำหรับการทำ Optimization ไว้

ความน่าจะเป็นกรณีทั้งหมด จะเกิดขึ้นได้ คือ oMaSlow 5 กรณี คูณ oMaFast 5 กรณี x oPs 3 กรณี = 75 กรณี โดยเมื่อ ทำการ Optimization แล้ว เราจำเป็นต้องเลือกหาค่าที่เหมาะสมกับตัวเองมากที่สุด

หมายเหตุ การที่เราทำการ Optimization ค่าถี่ไป จะเกิดกรณี Fit Curve ซึ่งจะกล่าวต่อไปภายหลัง

วีดีโอ: กันความเสี่ยงและกำไร ApplyStop

คำบรรยายวีดีโอ

ในส่วนนี้น่ะครับเราก็ยังอยู่ในส่วนของ Optimization อยู่น่ะครับ ซึ่งผมเขียนว่า PERIOD, PERCENT, NUMBER คืออะไร อันนี้เป็นแนวคิดน่ะครับว่าตอนที่เราset function optimize เนี่ยของ period เราควรคิดยังไง ของ percent ควรจะเป็นยังไง ของ number ควรจะเป็นยังไงอ่ะเดี๋ยวลองมาให้ดูภาพก่อนดีกว่าน่ะครับ ไปที่ formula นี่นะครับอย่างตอนล่าสุดที่เราทำไปเนี่ย เราทำ optimize อะไรครับพวกนี้เป็นอะไรครับเป็น period ถูกไหมครับ เป็นวันมีหน่วยเป็นวันถูกไหมครับ เราก็ต้องพยายามให้ค่าที่เรามาใช้เนี่ยเหมาะสมน่ะครับไม่ถี่เกินไปหรือเป็นค่าแปลกๆอันนี้ความคิดเห็นส่วนตัวน่ะครับแต่เป็นแนวทางไว้ก่อน อ่ะสำหรับ period น่ะครับ เรียกว่า optimize period น่ะครับ อันแรกเลยเบื้องต้นที่เราอยากจะใช้เนี่ย หรือค่าที่เราใช้เป็น default นี่คือ default ถูกไหมครับ อ่าเราก็อยากใช้ค่า default ของ indicator ถ้า indicator นั้นๆมี period อย่างเช่นเดี๋ยวผมพิมพ์ให้ดูน่ะครับ RSI เห็นไหมครับ อันนี้คือ default ของ RSI มี range คราวเนี่ยถ้าเราบอกว่าเราจะ optimize ค่าตัวเนี่ย เราก็จะเริ่ม default เป็น 14 และ optimize จาก 14ไป โดยที่เวลาเราoptimize เนี่ยเราชอบเลข step นี่น่ะครับ step ว่าเพิ่มขึ้นที่ละเท่าไหร่ให้มันเหมาะสมตัวเลขที่เราชอบเนี่ยน่ะครับก็ตัวอย่างเช่น ครึ่งเดือน อ่ะเอาอย่างงี้เลย สัปดาห์นึงอย่างงี้ ok แต่ลองพิจารณาน่ะครับว่าจะถี่ไปหรือป่าวกับ strategy ที่เราใช้อยู่ อย่างตัวนี้เราถือว่าเป็น intermediate team เป็น strategy ระยะกลางน่ะครับ อ่ะ ไอ้ 5 ไอ้ 10 อาจจะไม่ work เท่าไหร่ อ่ะ 20 นี่เริ่ม ok แล้วถือว่าเป็นตัว fast น่ะครับ สมมุติ 40 นี่ 2 เดือน 60 นี่ ครึ่งปีถูกไหมครับ อ่ะ 100 นี่หารลงตัวเนี่ย ok อ่ะอันนี้ก็จะเป็นของตัว fast น่ะครับ พอขึ้นไปเป็นของตัว slow ปุ๊บเราก็จะมองว่า ok ค่า default ปกติเราพูดที่เท่าไหร่ครับ เช่น 200วัน อันนี้ ok แล้วก็บวกไป เป็น 240 หรือ 250 ก็ได้ ok ทั้งนั้นแหล่ะครับ อ่ะผมบวก 250 ไป 300 นี่ก็ ok ประเด็นก็คืออย่าให้ค่าพวกเนี่ยมันถี่เกินไปน่ะครับเดี๋ยวมันจะเข้ากรณี fit curve เดี๋ยวเราค่อยพูดกันอีกทีว่ารู้ได้ไงว่ามัน fit curve นี่ก็เป็นกรณีของ optimize period คราวนี้เดี๋ยวมา optimize ตัว percent น่ะครับ อ่ะมาหา percent ก่อน อ่ะอันนี้เป็น percent ใช่ไหมครับ percent of equity อ่ะ อันนี้เป็น percent ของ stop loss แล้วก็มาบอกว่า อันนี้น่ะครับ การ optimize percent เนี่ยน่ะครับ เราก็จะ prefer อยู่ที่ อันนี้ต้องพิจารณาน่ะครับ อันนี้ผมพยายามพูดกรณีโดยทั่วไป percent เราก็มองอยู่ที่ 2%นี่ ok น่ะครับ ถ้าเป็นกรณีของ stoploss อย่างเช่น อันนี้เป็นตัวน้อยไปหน่อยน่ะครับอย่าใช้น้อยกว่านี้ก็แล้วกัน 2% อย่างเช่น position size เริ่มจาก 4 ก็ได้ น่ะครับจาก 4 หรือจาก 2 จาก 2 เป็นอะไรแบบนี้ แสดงว่า 2 ใช้ กับ position size ก็ยัง ok น่ะครับ แต่ถ้าไปใช้กับตัว stoploss อาจจะถี่ไปหน่อย ok ไหมครับ อ่ะ 2 แล้วมีอะไร มี2.5 ที่2.5 ชอบเพราะอะไร เพราะว่าตอนที่เรา optimize จะ ดูน่ะครับ stoploss จาก 10 ไปถึง 20 2.5 ก็หารกำลังดี อ่ะเราไปที่ 5 ก็ ok น่ะครับ เหมือนกันน่ะครับถ้าเป็นกรณี 10 ปุ๊บอันนี้ต้องพิจารณาว่าเยอะไปหรือป่าว ห่างคือoptimize ห่างไปหรือป่าว เหมือนกันน่ะครับ 2 นี่ optimize ถี่ไปหรือป่าว คราวนี้เราก็จะมาทำการ optimize ตัว percent ของ position size เลยก็ได้ นี่น่ะครับ optimize position size น่ะครับ อ่ะเท่ากับ optimize นี่น่ะครับแล้วก็ชื่อเหมือนกัน ops default นี่ ตอนแรกเราใช้เป็นเท่าไหร่ครับ ใช้เป็น 5 ใช่ไหม อันนี้เราให้มันเป็น 4 น่ะครับ อ่าเพื่อที่เดี๋ยวมันไปที่ละ 2 จะได้ ok หรือว่าท่านใช้เป็น 5 ท่าน5 อย่างนี้ อย่างนี้ท่านก็ไปสุดที่ 10 ก็ได้น่ะครับ ถูกไหมครับ เพราะบ้างทีเราถือหุ้นแค่ 10 ตัว 100% หาร 10 ก็ได้ 10 ก็ยังลงตัวก็ยังดีอยู่เห็นไหมครับ แล้วท่านก็พิจารณาตัวอื่นด้วย parameter ตรงส่วนของ Maxopenpositions ด้วย อ่ะก็เริ่มจาก 5 และไปสุดที่ 10 โดยเพิ่มทีละ 2.5 ยังงี้ ok เห็นไหมครับ คราวเนี่ย อันนี้ run ได้ ok น่ะครับ คราวนี้ท่านบอกท่านจะเริ่มที่ 2.5 หล่ะนี่น่ะครับ default 2.5 ก็เริ่มที่ 2.5ด้วย
คราวเนี่ยเกิดอะไรขึ้นครับ ถ้าท่านเริ่มที่ 2.5 100 หาร 2.5 ได้เท่าไหร่ครับ 100% หาร 2.5 ได้ 50 แสดงว่าตัวนี้ท่านต้องเปลี่ยนเป็นอะไรครับ 40 ถูกไหมครับ ผมพูดผิดหรือป่าว 100 หาร 2.5นี่น่ะครับ อ่า ได้ 40 ก็ต้องเปลี่ยนตัวเนี่ยเป็น 40 ถูกไหมครับ ว่ามันมีผลกระทบต่อกันและกันน่ะครับ อ่ะอันนี้ไม่เป็นไร อ่ะ 120 พอ ก็ต้องพิจารณาดู ok ลอง optimize ดูไหมครับ คราวนี้เราจะมีกี่กรณีหล่ะครับ อย่าลืมเอาค่ามาใช้น่ะครับ กลายเป็นตอนนี้เราทำการ optimize 3 ตัว นี่นะครับ ตัวแรก ตัวที่สอง และเมื่อกี้ตัวที่สาม อันนี้มี 5 ค่า อันนี้มี 6 เยอะไปน่ะครับ อย่างที่บอกค่าที่ออกมา ดูกรณีนี้น่ะครับ slow 150 กับ fast 120 ผมถือว่าใกล้กันเกินไปน่ะครับ เราก็จะเอากรณี 120 ออก ให้ optimize ส่วนนี้ run ค่าถึง 100 พอแล้วดูว่าเป็นไง อันนี้ก็ไม่มีแล้ว อ่าอันนี้ก็มี 5ตัว นี้ก็มี 5 ตัว 5คูณ5ก็เป็น 25 25 กับอันนี้มีกี่ตัวครับ 2.5 , 5,7.5,10 เห็นไหมครับ จาก 2.5 มาถึงนี่ โอ๊ เมื่อกี้ 25 คูณกับอีก 4 เป็น 100มี 100 case น่ะครับ อันนี้ไหวไหมครับ อืม อ่ะ นั้นเอาเบาะๆดีกว่า เริ่มจาก 5 ดีกว่าครับ default เป็น 5 เริ่มจาก 5 step ทีละ 2.5 ก็จะมีแค่ 3 case เพราะฉะนั้นเมื่อกี้ข้างบนนี้มี 5 คูณ 5 เป็น 25 , 25 คูณ 3 เป็น 75 ก็ยังเยอะอยู่ดีน่ะครับแต่เดี๋ยวเราจะลอง run ดู ม่ะ optimization น่ะครับ อ่ะก็ปล่อยเขา run ไปเรื่อยๆน่ะครับ คราวนี้ระหว่างที่เขา run นี่เพราะเราจะมี 5 คูณ 5 คูณ 3 75 case ใช่ไหมครับ อันนี้จะมี scroll bar มาน่ะครับ Vertical scroll bar พยายาม ดับเบิ้ลคลิ๊ก ตรงนี้น่ะครับ ถ้า คลิ๊กติดปุ๊บเนี่ย มันจะเลื่อนลงอัตโนมัติครับ อืม ทำไมมันยาก อ่ะติดแล้วครับอ่ะเห็นไหมครับมันก็จะ scroll ไปเรื่อยๆ มันก็จะ scroll ตามลงมาล่างสุดให้เราเห็นว่า มัน run ถึงไหนแล้ว อ่ะเสร็จเรียบร้อยน่ะครับ คราวนี้มาดูกรณีที่เราชอบก่อน RAR กับ MDD scroll กลับขึ้นไปก่อน ค่าสูงสุดคือ 5.6 นี่น่ะครับ โดยที่ moving slow เป็น 150 moving fast เป็น 80 โดยที่ใช้อะไรครับ position size เราเป็น 5 เห็นไหมครับ อ่ะอย่างงี้ ok และตัวนี้ก็เห็นไหมอยู่ใกล้เคียงกันต่างกันแค่นิดเดียว 2.5% ของ position size ค่าก็ยัง ok อยู่น่ะครับ อ่ะคราวนี้เอาใหม่ลองดูที่ net profit net profit จากมากไปน้อยนี่ขึ้นไปถึง 200 เลยน่ะครับ MDD -20 ความจริงอันนี้ก็ต้องปรับหน่อยก็จะต่ำกว่า -20 แล้วน่ะครับ อ่ะอันนี้มีลุ้นน่ะครับ นี่ครับ slow นี้ 350 fast นี่ 80 มีลุ้น อืมมม position size 10 เนี่ย 10% อาจจะหนักไปหน่อย เพราะอะไรครับ position size 10% หมายความว่า ท่านเนี่ยมีหุ้นอยู่ในมือแค่ 10 ณ.เวลาหนึ่งแค่ 10หุ้นเท่านั้นเนี่ยอันนี้อาจจะถือว่าเสี่ยงน่ะครับ ถือว่าเสี่ยง ที่นี้เราก็ต้องไป test กับ period ดู ซึ่งเดี๋ยวจะพูดเรื่องนี้กันน่ะครับ เอาง่ายๆว่าเดี๋ยวดูแค่นี้ก่อน อันนี้ถือว่า ok น่ะครับ แล้วมาดูตัวอื่นดีกว่า