3-8 กันความเสี่ยงและกำไร ApplyStop

การกันความเสี่ยงและกำไรโดยใช้คำสั่ง ApplyStop โดยคำสั่งนี้จะทำการหาจุดตัดขาดทุนพอร์ต รวมถึงปกป้องเงินทุนให้ด้วย โดยคำสั่ง ApplyStop จะทำการขายตัดขาดทุน (Stop Loss) หรือ ขายแบบตัดกำไร (Trailling Stop) เป็นต้น ขึ้นอยู่กับ ลักษณะผู้ใช้งานว่า จะนำไปใช้อย่างไร

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

  1. เข้าใจถึงคำว่า Maximum Drawndown
  2. เข้าใจคำสั่ง ApplyStop ถึงลักษณะการนำไปใช้งาน
  3. สามารถนำคำสั่ง ApplyStop เพื่อใช้ในการบริหารความเสี่ยงกับ Portfolio

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

การลดความเสียหายของพอร์ตเป็นอีกกลยุทธหนึ่งที่ใช้ควบคุมความเสี่ยงของ Portfolio โดยคำสั่ง ApplyStop สามารถใช้งานได้หลากหลายซึ่งขึ้นอยู่กับผู้ใช้งานจะนำไปใช้งาน โดยคำสั่งจะมีลักษณะโดยย่อดังนี้

ApplyStop( type, mode, amount);

โดยชนิดของ Type จะมีให้เลือกอยู่ 4 แบบ

[1] stopTypeLoss คือ ค่าที่มากที่สุดที่จะยอมขาดทุนได้
[2] stopTypeProfit คือ กำไรที่จะถึงแล้วให้ขาย
[3] stopTypeTrailing คือ การทำ Trailling Stop โดยเมื่อราคามีกำไรเลยจุดที่เราต้องการแล้ว โปรแกรมจะทำการล็อคกำไร และขยับกลยุทธการออกขึ้นไปเรื่อยๆ จนกว่าราคาจะทำการตกลงมาถึงจุดที่โปรแกรมทำการไล่จึงทำการขายไป โดยส่วนใหญ่จะกำหนดเป็นระยะห่างระหว่างราคา เช่น ราคาขึ้นไป มากกว่า 5 บาท จึงทำการ Trailling ไป ทีละ 1 บาท เป็นต้น
[4] stopTypeNBar คือ ทำการ Stop โดยใช้ Bar ในการทำ ApplyStop เช่น นับไปอีกกี่ Bar จึงจะ Stop ออกไป

ส่วนของ Mode จะมีให้เลือกอยู่ 4 แบบ

[1] stopModeDisable คือ ปิดการใช้ StopLoss
[2] stopModePercent คือ การ stop loss โดยใช้ เปอร์เซ็นต์
[3] stopModePoint คือ การใช้ส่วนต่างราคา
[4] risk คือ การใช้เปอร์เซ็นต์กำไร

ส่วนของ amount คือ จำนวนที่ใส่ อาจจะเป็นตัวเลข หรือ ตัวแปรชนิด Array ก็ได้

คำสั่ง ApplyStop สามารถใช้หลายๆ คำสั่งได้ เช่น ApplyStop (stopTypeLoss, StopModePercent, 15); ร่วมกับคำสั่ง ApplyStop (stopTypeTrailing, stopModePercent, 20); เป็นต้น

ค่า Maximum Drawdown (MaxDD)คือ จังหวะที่พอร์ตเสีย (แบบ Unrealized) โดยจะคำนวณจาก Equity เช่น ตอนแรก มีทุนอยู่ 100 บาท แล้ว ระบบทำเงินไปได้ 200 บาท แต่ว่า หุ้นที่มีอยู่ขาดทุนโดยที่เรายังไม่ได้ขายหุ้น ขาดทุนอยู่ 40 บาท ระบบตอนนี้จะมี MaxDD อยู่ที่ 20% เป็นต้น

อ้างอิง https://www.amibroker.com/guide/w_report.html

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

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

ใน VDO ชุดนี้นะครับเราจะมาพูดถึง Applystop ก็คือเป็นการสั่งให้ขาย ไม่ว่าจะเป็นกรณีขายทิ้งที่ขาดทุน หรือขายทิ้งที่กำไรก็ตามนะครับ เปิด Amibroker ขึ้นมาก่อนคราวนี้ผมอยากจะลอง run ค่าเก็บไว้นะครับ Tools/Backtest แล้วก็ report มาดู มาโชว์ให้ดูจะมาชี้แจงบางส่วนนะครับว่าตอนนี้เนี่ยตัวเราเริ่มต้นที่ 1 ล้านใช่มั้ยครับ แล้วเราก็ไปจบที่ประมาณ 1ล้าน 9 แสนโดยที่เราได้กำไรปีนึงประมาณ 17-18% เนี่ยก็ดูเหมือนว่าดี ใช่มั้ยครับแต่คราวนี้ก็มีส่วนชี้แจงว่าเราต้องเข้ามาดูที่ตัวนี้ด้วยนี่นะครับ Maximum system drawdown คืออะไร หลังจากที่equity เราหรือ port ของเราวิ่งขึ้นไปเรื่อยๆนี่นะครับระหว่างทางที่ 2011ถึง 2014 นี่จะมีช่วงนึงที่port เรานี่แย่มากเงินหายไป 40% นี่นะครับ นี่คือ Maximum system drawdown system เรามี percent drawdown เท่าไร เทียบกับ Equity ไม่ได้เทียบกับตัวเริ่มต้น เทียบกับตอนที่ port เรากำลังขึ้นไปเรื่อยๆ จุดนึงมันลงเนี่ยจากจุดที่มันขึ้นๆ แล้วมันลง อันนั้น 40% หายไปให้เห็นภาพมาที่ตัวนี้ดีกว่าอันนี้นะครับ equity เป็น chart นะครับ กดเข้าไปเห็นมั้ยครับมันก็จะขึ้นมาให้เราดูคราวนี้จะเห็นว่าก่อนปี 2011เราไม่มี equity เราไม่มีการเริ่มการซื้อ/ขายนะครับแล้วตอน 2015 นี่คือสิ้นปี 2014 ถูกมั้ยครับเพราะว่าอะไรเราBacktest ตั้งแต่ ต้นปี 2011 ถึงสิ้นปี 2014พอหลังสิ้นปี 2014สุดสิ้นปี จะเห็นว่าค่า port เรานะครับคงที่นะครับไม่มีการทำอะไรต่อ ณ ช่วงนี้ อ่ะให้เห็นชัดๆถึงตรงนี้ซึ่งตรงนี้ก็อยู่ประมาณเท่าไรครับ 1.9 ล้านเห็นมั้ยครับซึ่งคราวนี้เนี่ยตัว port เราก็วิ่งมาเรื่อยๆนะครับถึงจุดสูงสุดสักประมาณตรงนี้ ประมาณตรงนี้นะครับเห็นมั้ยครับเนี่ยขึ้นมาอยู่ถึง 2.7ล้าน 2.6.7 ล้านเห็นมั้ยครับดูจากด้านขวาแล้วก็พอตลาดหุ้นเริ่มลงแล้ว ร่วงมาเรื่อยๆจนถึง 1.9 ล้านจาก 2.7 เนี่ย เหลือ 1.9 ก็คือหายไปประมาณ 40% 42% ซึ่งถือว่าค่อนข้างเยอะนะครับคราวนี้เราจะมาแก้ยังงัย ต้องใช้ตัว applystopเข้ามาช่วยเรา นี่นะครับเราก็บอกเลยนะครับว่า Applystop แล้วก็วงเล็บแล้วก็มี type มี mode ผมก็ยังงง นะครับจำไม่ได้ อ่ะ letsay ว่าจำไม่ได้ type คืออะไร mode คืออะไรเราก็ไม่รู้ใช่มั้ยครับ เราก็ไปที่ browser เราเหมือนเดิมนะครับ ไปที่ google เพื่อนเลิฟเรานี่นะครับ พิมพ์ Amibroker Applystop ขึ้นมาเลย enter ไป นี่นะครับ AFL function Reference – Applystop กดเข้าไปนะครับ เห็นมั้ยครับเค้าก็จะบอกเนี่ย type ข้างเนี่ยมี type หลายอย่างมากเลย มีอยู่ 4 อย่างนี่นะครับ 0-3 เป็น 4 อย่างนะครับ หลักๆเลยเราใช้ 3 ตัวนี้ โอเคมั้ยครับ แล้วเสร็จปุ๊บก็ อันนี้ type เรียบร้อยแล้ว mode ก็บอกเค้าว่า mode เป็นอะไรนี่นะครับ ก็เป็น stopmode ก็ว่ากันไป stopmode นี่นะครับปกติเค้าจะใช้ stopmode เป็น percent นะครับนี่นะครับ stopmode เป็น percent แล้วก็ type / mode /amount ก็เป็นจำนวน stopmode เป็น percent นะครับ ใส่ตัวเลขเข้าไปเค้าจะรู้นะครับว่าmode เป็น 12%นะ อะไรต่อมิอะไรนะครับก็ไม่น่ามีปัญหาอะไร อ่ะกลับมาที่ code ดีกว่าก็รู้แล้วว่าตัวแรกนี่ type ก็คือ stoptype ขึ้นต้นมาก่อน stoptype เห็นมั้ยครับอันนี้ type เป็น loss พอซื้อไปแล้ว ต้องขาดทุนกี่ percent จะซื้อ สักกี่ percent ก็คือ stopmode เห็นมั้ยครับก็คือมาจากหน้าเมื่อกี้แหล่ะ mode เป็น percent นะครับ comma แล้วก็บอกกี่ percent กี่ percent ขายทิ้งครับ กี่ percent หนีนี้เป็น trend following นะครับ อ่ะ ลอง 15 ดูนี่นะครับ เราก็บอกนี่ถ้าขาดทุน 15% ขายทิ้งนะครับ เดี๋ยวผมเปิด amibroker ขึ้นมา tools/backtest แล้วเปิด report มาดูนะครับ มาแล้วคราวนี้เราก็จะเห็น โอเค Ending capital ก็แย่ลงหลังจากที่เราใส่ตัว stoploss เข้าไป system นี่ยิ่งแย่กว่าเดิมไม่ได้ช่วยอะไรเลยนะครับ ก็ไม่เป็นไรอันนี้เราก็ต้องค่อยๆ test ไปเรื่อยๆนะครับ ผมเอาใหม่ ผมบอกผมรับ stoploss ได้แค่ 10%พอ แล้วยังงัยต้องขายทิ้งถ้าติด -10% นะครับ tools/backtest แล้วก็มาที่ report นี่นะครับยิ่งแย่เข้าไปใหญ่ อ่ะอันนี้ก็แย่เหมือนเดิมนะครับ ไม่ได้ดีขึ้นเท่าไร ซึ่งตัวนี้นี่ผมอยากจะบอกว่า ณ จุด จุดนี้นะครับ เราอยู่ในสวนของ Introduction level เราควรพยายามศึกษา code พวกนี้ แล้วพยายามเข้าใจนะครับว่าไอ้ตัวเลขพวกนี้มันส่งผลอย่างไรบ้าง โอเคมั้ยครับ อย่าไป focus เรื่องจะได้ stagy ที่ทำเงินเป็นร้อยเป็นพันล้านในตอนนี้มันไม่ make sense นะครับ เพราะเราเป็น introduction level ตอนนี้ผมจะบอกเลยว่าพวก trend following นะครับเค้าจะต้องรับตัว loss ได้มากกว่าตัวอื่น โอเคมั้ยครับ แล้ว net profit run เพราะงั้นตัวนี้เค้าต้องวิ่งกันที่ 17 20 หรืออะไรของเค้าก็แล้วแต่ในกรณีไป อันนั้นก็ว่ากันไปนะครับ แล้วจำนวนหุ้นเค้าอาจจะวิ่งอยู่ที่10 ถึง 30 หุ้น แล้วถ้ามีตัวไหนวิ่งไปไกล เค้าก็ต้องปล่อย net profir runไป อันนี้ก็ไปศึกษาเพิ่มเติมได้ที่หลังนะครับ ผมบอก let say ว่า 15 ไม่เป็นไรเพิ่มตัวอื่นเข้าไปด้วย ApplyStop นะครับตัวนี้เนี่ยจะใช้เป็น พิมพ์ stop typeเห็นมั้ยครับขึ้นมาเป็นอะไร มี tailing กด tab นะครับแล้วก็ mode เป็น percent เหมือนเดิม stopmode percent เห็นมั้ยครับกด tab แล้วก็บอก telling เมื่อไร ลงมา 20%ปุ๊บหมายความว่าถ้าหุ้นเราเนี่ย ซื้อที่ 80 บาท แล้วกัน ขึ้นไปถึง 100 กลายเป็น 100 บาทใช่มั้ยครับ จาก 100 บาทเนี่ย ถ้ากลับมาที่ 80 บาท หรือ 20% เดิมเมื่อไรเนี่ย 20% เมื่อไรให้ขายทิ้ง คราวนี้เราลองเอาอันนี้ออกนะครับ จะได้แยกกันว่า ผลเนี่ยมาจากตัว telling stop อย่างเดียว tools/backtest นะครับแล้วลองดูผลใหม่นี่นะครับกลายเป็นใส่ stop แล้วยิ่งแย่ลงนะครับใส่ตัวไหนก็แย่ อันนี้ drawdown ต่ำลงนะครับ แต่ไม่น่าดีใจนะครับ ต่ำลงเพราะว่ากำไรเราเตี้ยติดดินนะครับ อันนี้ก็ว่ากันไป เสร็จปุ๊บตัวสุดท้ายก็เป็น ApplyStop นี่นะครับ เป็น stop type profitStop … Profit Stopmode เป็น percent เหมือนเดิม นี่นะครับ เอาเริ่มต้นที่ 15% หมายความว่าถ้าเราซื้อหุ้นราคา 100 บาทนะครับพอหุ้น กลายเป็น 115 บาทขายทิ้งเลย แล้วเดี๋ยวค่อยไปว่ากันใหม่ เราก็มา tools/backtest เปิดขึ้นมา อันนี้ก็ยังเหมือนเดิมนะครับยังแย่อยู่ แต่ตอนนี้ drawdown เราต่ำลงแล้วเห็นมั้ยครับ แต่นี่ก็ยังแย่อยู่นะครับคราวนี้ก็กลับมาที่ formula ใหม่คราวนี้ถามว่าจำเป็นมั้ยที่จะต้องใช้ได้แค่ทีละตัว ไม่จำเป็นนะครับเราจะใช้พร้อมกันหมดเลย นี่นะครับใช้พร้อมกันหมดเลย เอาเป็น 15 หมดแล้วกัน เดี๋ยวในส่วน optimization เนี่ย เดี๋ยวจะมาลองเปลี่ยนค่าตัวนี้ดู เปลี่ยนหลายๆอย่างในนี้นะครับดูว่าเป็นอย่างไร คราวนี้ก็ลอง tools/backtest ดู นี่นะครับ แล้วก็เปิด report ขึ้นมานี่นะครับ พอ stop 3 ตัวรวมกันนี่ยิ่งแย่เข้าไปใหญ่เลย ผมขอย้ำอีกครั้งนะครับตอนที่เราอยู่ในส่วนของ introduction level หรือแม้แต่ basic level ก็ตามอย่าไปเพ้อเจ้อ กับตัวเลขพวกนี้เยอะนะครับเพียงแต่พยายามศึกษาสำคัญคือศึกษาและเข้าใจ แล้วก็ให้เป็นประสบการณ์ มันอาจจะแย่ลง หรือ อาจจะดีขึ้นตัวแลขอะไรต่อมิอะไร อีกตัวนึงที่อาจจะบอกได้เลยเวลา trade นี่เรา trade 4ปี ตัวเลขในการ trade All trade ควรจะอยู่ที่ประมาณ 30-50 trade ต่อปี ฟังให้ดีๆนะครับ เราควรจะ trade ที่ประมาณ 30-50 trade ต่อปี ก็คือกลางๆ ไม่มากไปไม่น้อยไปเพราะงั้น 4 ปี เราควรจะ trade อยู่ที่ประมาณ 200 บวกลบเท่าไรก็ค่อยว่ากันอีกทีนึงนะครับ เดี๋ยว report ก็ค่อยมาว่ากันอีกทีนึงคราวนี้เนี่ยในส่วนตัวนี้ก็ขอจบApplyStopแต่เพียงเท่านี้นะครับจะได้รู้ว่าแต่ละตัวคืออะไร นี่นะครับ แล้วก็ใช้งานยังไงเขียน code ยังไง

เพิ่มเติม: ApplyStop