3-6 จัดสัดส่วนลงทุนด้วย SetPositionSize

จัดสัดส่วนลงทุนด้วย คำสั่ง SetPositionSize ซึ่งเป็นคำสั่งใหม่ของโปรแกรม AmiBroker เอง โดยคำสั่งสามารถคำนวณจากหลายๆ ส่วน เช่น Equity หรือ จำนวนหุ้น เป็นต้น

จุดประสงค์: จัดสัดส่วนลงทุนด้วย SetPositionSize

  1. เข้าใจเรื่องความหมายของ PositionSize
  2. เข้าใจในคำสั่ง PositionSize , SetPositionSize
  3. เข้าใจความสัมพันธ์ ระหว่างคำสั่ง SetPositionSIze กับ คำสั่งอื่นๆ

เนื้อหา: จัดสัดส่วนลงทุนด้วย SetPositionSize

คำสั่งที่สามารถในการกำหนด ขนาดของการซื้อขายหุ้น สำหรับ AmiBroker รุ่นเก่าๆ จะใช้คำสั่ง PositionSIze โดย ลักษณะการเขียน คำสั่ง จะมีโครงสร้าง ดังนี้

PositionSize AAA ;

โดย AAA ถ้าต้องการแทนเป็น เปอร์เซ็นต์ ก็จะแทนด้วยเครื่องหมาย – เช่น PositionSize -5; หมายถึง ขนาดของ PositionSIze คือ 5%  หรือ ถ้า AAA คือ 100,000 หมายถึง จำนวนเงิน 100,000 บาท เป็นต้น โดยขนาดของ PositionSize ต้องมีความสอดคล้อง กับ คำสั่ง SetOption ส่วนของ MaxOpenPositions กรณี ถ้าไม่สอดคล้องกัน โปรแกรม AmiBroker จะไม่สามารถทำการ BackTest ได้

สำหรับ AmiBroker รุ่นใหม่ จะมีคำสั่งที่ทดแทน PositionSize คือ คำสั่ง SetPositionSize โดยคำสั่ง SetPositionSize นี้จะมีความหลากหลายต่อการใช้งานมากกว่า ลักษณะโครงสร้างของคำสั่งจะเป็นดังนี้

SetPositionSize( size, method )

โดย Size คือ กำหนดขนาดของการเทรด
method คือ กำหนดว่าจะให้โปรแกรมคำนวณจากอะไร

[1] spsValue คือ จำนวนเงิน
[2] spsPercentOfEquity คือ ขนาดของ Equity คิดเป็น เปอร์เซ็นต์ โดยกำหนดจากระดับของ Portfolio Equity
[3] spsShares คือ ขนาดของหุ้น หรือ สัญญา
[4] spsPercentOfPosition คือ กำหนดขนาดเป็น เปอร์เซ็นต์ ที่เปิด Position
[5] spsNoChange คือ การไม่เปลี่ยนค่า โดยใช้ขนาดของ PosisitonSize ก่อนหน้านี้

การใช้คำสั่ง SetPositionSize จำเป็นต้องมีความสอดคล้อง กับ คำสั่ง SetOption ส่วนของ MaxOpenPositions

วีดีโอ: จัดสัดส่วนลงทุนด้วย SetPositionSize

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

ใน VDO ชุดนี้จะมาพูดถึง setpositionsize code, Positionsize คืออะไรจำนวนเงินที่เราจะทำการซื้อหุ้นตัวนึงซึ่งปกติโดย introduction หรือ basic level เนี่ยเราจะทำการซื้อขายเป็น % of equity ก็คือ % ของมูลค่า เรียกว่ามูลค่าของ port ที่เรามีอยู่ ดีกว่า ไม่เรียกว่าเงินสดนะครับอย่างเช่นใน port เรามีเงินสดอยู่ 5 แสนแต่มีหุ้นอยู่อีก5 แสน มูลค่านะครับ เพราะฉะนั้น equity เรามีมูลค่าเท่ากับ 1 ล้าน ฟังดีๆนะครับ สมมุติว่าเรามีเงินสดอยู่ 5 แสนแล้วเรามีหุ้นด้วยแล้วมูลค่าหุ้นที่เรามีอยู่เนี่ย อีก 5 แสน 2 อันนี้รวมกันเป็นมูลค่า port ของเรา 1 ล้านนะครับอันนี้เรียกว่าเป็น equity เพราะฉะนั้นเนี่ยถ้าเราบอก positionsize เนี่ยให้ซื้อ 10% ของ equity port เรามี 1 ล้าน 10% ก็ 1 แสนเพราะงั้นการเข้าซื้อหุ้นตัวถัดไปเนี่ย เราจะซื้อประมาณ 1 แสนบาทนะครับ อันนี้ก็ให้เข้าใจตรงกันเปิด code มาต่อดีกว่า อ่ะมาแล้วนะครับอยู่ในส่วนของ position นะครับ เดี๋ยวผม enter นี่ก่อนจะได้อยู่ตรงกลาง นี่นะครับ Position จะเห็นว่าตอนที่ผมเขียน positionsize เห็นมั้ยครับให้อยู่ใน Amibroker นะครับ เท่ากับเอาซื้อ-ขาย -5% แล้วกันเนี่ย เขียนอย่างนี้เนี่ยคนไม่รู้จัก Amibroker ก็อาจจะงงนะครับว่าทำไม size เป็น -5 แล้ว -5 คืออะไร Amibroker รุ่นเก่าๆเนี่ยเค้าแยกแยะระหว่าง percent of equity กับมูลค่าที่จะซื้อขายด้วยเครื่องหมายนี่ครับ – minus sign โอเคมั้ยครับ ถ้าเกิดเค้าเขียนงี้นะครับ เขียนให้ดู positionsize เท่ากับ 1 แสนเรามี InitialEquity อยู่ 1ล้าน อันนี้คือเป็นมูลค่า หน่วยเป็นเงินนะครับ หน่วยเป็นบาทถ้าพูดเป็นคนไทยนะครับ เหมือนกันถ้าผมใส่ตัวนี้ ลบ นี่คืออะไรครับ ทำให้ Amibroker ทราบว่าเป็น percent กี่ percent 10 % เพราะฉะนั้นตัวนี้กับตัวนี้นี่ 2 บรรทัดนี่ค่าเท่ากันเพียงแต่ว่าตอนที่เรา run backtest หรือซื้อขายไปเรื่อยๆนานๆ ปีที่ 1 ปีที่ 2 ผ่านไป ปีที่ 3 ผ่านไปเนี่ย สิ่งที่ 2 ตัวนี้จะต่างกันคืออะไรครับตัวนี้ทุกครั้งไม่ว่ามูลค่า port เราจะขึ้นเป็นร้อยล้าน สองร้อยล้าน สามร้อยล้าน มันก็จะเข้าหุ้นแค่ทีละแสนเดียว ในทางกลับกันเนี่ยตัวนี้เป็น percent of equity ใช่มั้ยครับ เครื่องหมาย minus sign เนี่ยถ้าหุ้นเราเป็น 1 ล้านมันเข้า แสนนึง ตัวนี้เป๊ะ แต่ถ้าหุ้นเราเป็น100 ล้านปุ๊บ มันจะเข้าทีละ 10 ล้านแล้วครับ อ่ะอันนี้เข้าใจตรงกันนะครับเพราะฉะนั้นสิ่งที่เราควรใช้เราก็ควรใช้เป็น percent of equity คราวนี้เนี่ยอีกตัวนึงที่อยากจะชี้แจงเลยนี่นะครับถ้าเรามีหุ้น MaxOpenPositions คืออะไรคือเราจะมีจำนวนหุ้นทั้งหมดในมือ ณ เวลาหนึ่งๆ 20 ตัว โอเคมั้ยครับ เพราะฉะนั้นเนี่ย letsay ว่า port เราเนี่ย 100% โอเคมั้ยครับ แล้วเราหาร 20 เท่ากับเท่าไรครับ เท่ากับ 5% เพราะฉะนั้นเราต้องเขียนตัวนี้นะครับ MaxOpenPositionsให้สอดคล้องกับ positionSize เราเพราะฉะนั้นตรงนี้ positionSize เราก็ต้องเป็นอะไรครับเป็น 5 ซึ่งอันนี้ก็จะจบแล้วนะครับ อันนี้ถูกต้องแล้วนะครับ 100% เพียงแต่คราวนี้เนี่ยมี function ใหม่เกิดขึ้นมา ก็คือตัว set positionSize เห็ยมั้ยครับอยู่ตรงนี้นะครับใส่เครื่องหมายวงเล็บไปเราต้องบอก size เท่าไร อันนี้ sizeเป็น 5โดยที่หน่วยเห็นมั้ยครับบอกว่าเป็นอะไรคราวนี้ถ้าท่านไม่แน่ใจพิมพ์คำว่า SPS เค้าจะขึ้น option มาให้เราดูไม่มีการเปลี่ยนแปลง percent of equity , percent of position นี่เป็นอะไรครับ จำนวนหุ้น สมมุติผมเขียนอย่างงี้ อันนี้เป็นอะไร 5 ซื้อจำนวน 5 หุ้นซึ่งเป็นไปไม่ได้ เพราะเรา set อันนี้ไว้จำได้มั้ยครับ กลับไปทวนนะครับหรือ SPS เป็น value เป็น value คือเท่าไรครับ ซื้อแค่มูลค่า 5 บาทเพราะฉะนั้นถ้าเราจะเอาเป็นแสนเราก็ต้องใส่งี้นะครับ ซื้อด้วยมูลค่า 1 แสนนะครับคราวนี้เราทำตามที่ถูกต้องคืออะไรครับบอกว่าเป็น 5 แล้วเป็น percent of equity หานะครับ SPS percent of equity ปิดวงเล็บ comma เสร็จแล้ว คราวนี้ 2 บรรทัดนี้ต่างกันยังงัยเขียนอย่างงี้ไม่ต่างกันนะครับอันนี้เป็น percent of equity เท่ากับ 5 อันนี้คือ percent of equity เท่ากับ 5 เพียงแต่ว่าตัวบนเนี่ยมันจะไม่มี option ใหม่ๆของ amibroker ลองดูนะครับ sps percent of position, percent share ไม่ใช่ percent share สิ setopsitionsize ไม่เปลี่ยนแปลง percent of equity , sps percent of position, sps share จำนวนหุ้น, SPS มูลค่าเห็นมั้ยครับจะมี option ที่มากกว่า อันนี้ซึ่งหลักๆมันจะมีแค่มูลค่าหรือ minus sign นี่คือ percent of equity ควรจะเลิกใช้ไปนะครับหมดไร้ความจำเป็นคราวนี้เราก็ได้แล้วนะครับ sps percent of equity 5 คือสอดคล้องกับ 20ถูกมั้ยครับคราวนี้ถ้าท่านใส่เป็น 3% ล่ะเกิดอะไรขึ้น ท่านก็เอา 100 อันนี้คือเป็น 3 % ท่านต้องหารด้วยเท่าไรครับ ประมาณคร่าวๆ34% อ่ะ 100 หาร 33.33 ได้เป็น 3%ถูกมั้ยครับเพราะฉะนั้นเนี่ยตัวนี้กับตัวนี้ต้องสอดคล้องกันผมเปลี่ยนเป็น 5 เหมือนเดิมนะครับอันนี้ต้องเป็น 20เราก็จะได้มาแล้วว่า spsจะซื้อ 5%ตอนเริ่มต้นเรามี 1ล้านเราก็จะซื้อทีละ 5หมื่นอ่ะมา run backtestดู เมื่อกี้ลืมบอกนะครับไอ้ปุ่มพวกนี้ผม add มาทีหลังท่านต้องไปที่ tools นะครับแล้วก็ backtest เดี๋ยวผมย่อนี่ลงมาหน่อยจะได้เป็นว่าข้างหลังมัน run อยู่ tools/ backtest เห็นมั้ยครับ เสร็จแล้วอ้าวทำไมคราวนี้ไม่มีอะไรขึ้นล่ะ ไหนดูสิว่าทำอะไรผิดจากวันนี้ถึงวันนี้ใช่มั้ยครับsps อ่ะอันนี้ผิดเห็นมั้ยครับไม่ใช่ percent ofposition นะครับ SPS percent of equity นี่ percent of equity / tools/backtest มาแล้วครับเต็มแล้วเปิดคือตัว report ใช่มั้ยครับกด report ขึ้นมา เอามาโชว์โอ้โ…..แค่ sps ถูกต้องเนี่ยค่าเราดีขึ้นจาก ลบ เป็นบวก มีอยู่ ล้านนึงผ่านไป 4 ปีเป็นล้าน3 ดีใจมั้ยครับอันนี้ไม่ค่อยดีใจเท่าไรนะครับ เดี๋ยวเราจะไปพูดเรื่อง report กันอีกทีนึงว่าตัวเลขควรจะเป็นยังงัยสำหรับ introduction level เท่านั้นนะครับคร่าวๆตอนนี้เป็นบวกแล้วหลังจากที่เรา set positionsize ถูกต้องต่อไปตัวนึงที่จะมาช่วยเราได้ก็เป็นการ setpositionscoreเดี๋ยว VDO หน้าคุยกันครับ