fbpx

ใส่ค่า commission แล้วผลลัพธ์ดีกว่าไม่ใส่

SiamQuant Minimal Home – White Webboard ห้องโปร : Professional Membership Support ใส่ค่า commission แล้วผลลัพธ์ดีกว่าไม่ใส่

  • ผู้สร้าง
    กระทู้
  • #22736
    sanunchat
    Participant

    ช่วยดูให้หน่อยครับ ตั้งค่าทุกอย่างเหมือนกันแต่ทำไมเพิ่มค่า commission จาก 0 เป็น 0.25 แล้วผลลัพธ์ดีขึ้น

    commission = 0
    =============================================================
    Statistics
    All trades Long trades Short trades
    Initial capital 10000000.00 10000000.00 10000000.00
    Ending capital 676108065.26 676108065.26 10000000.00
    Net Profit 666108065.26 666108065.26 0.00
    Net Profit % 6661.08% 6661.08% 0.00%
    Exposure % 96.61% 96.61% 0.00%
    Net Risk Adjusted Return % 6894.72% 6894.72% N/A
    Annual Return % 24.16% 24.16% 0.00%
    Risk Adjusted Return % 25.00% 25.00% N/A
    Total transaction costs 0.00 0.00 0.00
    =============================================================

    commission = 0.25
    =============================================================
    Statistics
    All trades Long trades Short trades
    Initial capital 10000000.00 10000000.00 10000000.00
    Ending capital 781108293.19 781108293.19 10000000.00
    Net Profit 771108293.19 771108293.19 0.00
    Net Profit % 7711.08% 7711.08% 0.00%
    Exposure % 96.59% 96.59% 0.00%
    Net Risk Adjusted Return % 7983.19% 7983.19% N/A
    Annual Return % 25.08% 25.08% 0.00%
    Risk Adjusted Return % 25.97% 25.97% N/A
    Total transaction costs 24707353.83 24707353.83 0.00
    =============================================================

กำลังดู 8 ข้อความตอบกลับ - 1 ผ่านทาง 8 (ของทั้งหมด 8)
  • ผู้เขียน
    ข้อความตอบกลับ
  • #22737
    sanunchat
    Participant
    #22738

    สวัสดีครับพี่ sanunchat จากกรณีข้างต้นเป็นเคสที่น่าสนใจมากๆครับ ^^

    โดยก่อนอื่นเลย กรได้ลองทดสอบโค้ดดังกล่าวในช่วงระยะเวลา 2000 – 2018 ปรากฎว่าผลที่ไม่มีค่าคอม CAGR 24.12% ส่วนที่มีค่าคอมมิสชั่น (0.25%) ผลลัพธ์อยู่ที่ 22.72% ครับ หรือผลลัพธ์ที่ไม่มีอัตราค่าคอมมิสชั่นจะให้ผลลัพธ์ที่สูงกว่าครับ แต่อย่าพึ่งตกใจไปนะครับ เนื่องจากอาจจะมีความต่างของ Windows การทดสอบ รวมถึงค่า Setting เล็กๆน้อยๆที่อาจจะแตกต่างกันบ้างครับ

    ดังนั้น ผมขอกลับมาที่คำถามที่ว่า “ทำไมเพิ่มค่า commission จาก 0 เป็น 0.25 แล้วผลลัพธ์ดีขึ้น” นะครับ โดยสิ่งที่ผมจะตอบต่อไปนี้เป็นการสันนิษฐานทั้งสิ้นนะครับ!! เนื่องจากตอนนี้ผมเห็นเพียงแค่ค่าสถิติกับชุดโค้ดเท่านั้นทำให้ผมอาจจะตอบได้ไม่ดีนัก ซึ่งถ้าตรวจสอบกันจริงๆต้องไล่ดูตั้งแต่ Backtest Setting > Universe > Trade List ต่างๆที่ออกมาเลยครับ

    โดยสิ่งที่อาจจะเกิดขึ้นได้ในกรณีของพี่ sanunchat คือ เนื่องจากถึงแม้จำนวนเทรดจะมีจำนวนที่เท่ากันทั้ง 2 กรณีคือ 352 เทรด แต่หากพิจารณาลงลึกเข้าไปข้างในจะพบว่า Winners เทรดที่ไม่มีค่าคอมมิสชั่นมีทั้งหมด 177 เทรด ส่วน Winners เทรดที่มีค่าคอมมีทั้งหมด 179 เทรด ซึ่งในส่วนนี้ทำให้ผมตั้งข้อสงสัยในเบื้องต้นแล้วว่า ถึงแม้จะเป็นชุดโค้ดชุดเดียวกัน แต่ไส้ในของหุ้นอาจจะไม่ได้เหมือนกันทั้งหมดครับ (จึงเป็นเหตุผลที่ผมบอกว่าผมขอสันนิษฐานก่อนนะครับ เพราะผมไม่ทราบตัว Trade List)

    ซึ่งผมขอลองยกตัวอย่างง่ายๆจากที่เคยเจอมานะครับ สมมติวันนี้ต้องมีการซื้อหุ้นนะครับ และซื้อได้เพียง 1 ตัวเท่านั้น และขนาดของ Position Size คือ 50,000 บาท โดยที่
    – เงินสดของกรณีที่มีค่าคอมมิสชั่นอาจจะเหลืออยู่ที่ 35,000 บาท
    – เงินสดของกรณีที่ไม่มีค่าคอมมิสชั่นอาจจะสูงกว่าคืออยู่ที่ 50,000 บาท

    และหุ้นที่มีสัญญาณเข้ามา ณ วันนี้มีทั้งสิ้น 3 ตัวครับ โดยที่เราเรียงจากค่า PBV ต่ำสุด 3 อันดับแรกได้ดังนี้
    1. หุ้น A ราคาปัจจุบัน 400 บาท
    2. หุ้น B ราคาปัจจุบัน 2 บาท
    3. หุ้น C ราคาปัจจุบัน 1 บาท

    สิ่งที้เกิดขึ้นคือ พอเราตั้งค่าว่าซื้อขั้นต่ำได้ 100 หุ้น และซื้อ Step ทีละ 100 หุ้นจะได้ว่า
    *** หุ้นตัวแรกที่จะต้องซื้อคือ หุ้น A แต่เราต้องซื้อขั้นต่ำ 100 หุ้น เท่ากับเราต้องมีเงินสดเหลือ 40,000 บาทในพอร์ต ทำให้ในกรณีที่ไม่มีค่าคอมมิสชั่นจะสามารถซื้อได้ แต่ในกรณีที่มีค่าคอมมิสชั่นเนื่องจากเงินสดไม่เพียงพอทำให้เกิดการ Skip สัญญาณ และไปซื้อหุ้น B แทน ซึ่งมันอาจจะมีพีคในพีคก็คือว่า หุ้น A ของพอร์ตที่ไม่มีค่าคอมซื้อแล้วลงกระจาย หรือหุ้น B ของพอร์ตที่มีค่าคอมซื้อแล้วทำกำไรสูงมาก เช่น +ไป 200% เป็นต้น จนส่งผลให้พอร์ตเพิ่มขึ้นอย่างมีนัยยะ และสิ่งที่ตามมาอย่างสุดท้ายคือ พอชุดเริ่มไม่เหมือนจากการทดสอบ ในการ Rotation ครั้งถัดๆไปหุ้นก็อาจจะมีความแตกต่างกันเล็กน้อยได้เช่นกันครับ

    ** ขออนุญาตเสริมให้นิดนึงครับ เนื่องจากในบางกรณี PBV อาจจะเป็น 0 ได้ ซึ่งอาจจะเกิดจากการที่ส่วนของผู้ถือหุ้นติดลบ ดังนั้นในการ Score เพื่อป้องกัน PBV เป็น 0 เราสามารถใช้ NZ( 1 / SQPBV() ) ซึ่งจะมีความปลอดภัยจากการโดนหุ้นที่ PBV เป็น 0 นั่นเองครับ

    #22739
    sanunchat
    Participant

    ขอบคุณครับ ไม่รู้จะทำยังไงก็เลยเอามา + ใน slippage แทน แล้วก็ปล่อยค่าคอม = 0 ต่อไป 5555+ ไม่รู้พอใช้ได้มั้ย

    #22741

    ด้วยความยินดีเลยครับ ^^ จริงๆสามารถทำแบบพี่ sanunchat ว่ามาได้เช่นกันเลยครับ แต่ถ้ากันในอนาคต เช่น แบบผ่านไปสัก 3 เดือนแล้วกลับมาอ่านโค้ดใหม่ อาจจะงงได้ ดังนั้นผมแนะนำให้กำหนดแยกส่วนกันดีกว่าครับ

    SetOption( “CommissionMode”, 1 ); คือการตั้งคอมมิสชั่นในโหมดเปอร์เซนต์
    SetOption( “CommissionAmount”, 0.25 ); คือการตั้งคาาคอมมิสชั่นที่ 0.25

    แล้วกำหนดสลิปเพจอีกทีครับ เช่น การกำหนดที่ 1% ของราคาเปิด

    BuyPrice = SQBuySlippagePercent( Open, 1, False );
    SellPrice = SQSellSlippagePercent( Open, 1, False);

    เป็นต้นครับ

    ว่าแต่พอที่ใส่คอมมิสชั่น + สลิปเพจ แล้ว …ผลลัพธ์ยังดีกว่าไม่ใส่อะไรเลยอยู่ไหมครับ? เพราะถ้ามีกรณีอันนี้อาจจะมีบางอย่างผิดปกติแล้วครับ 55 เนื่องจากโดยปกติสลิปเพจจะมี Impact ที่แรงกว่าค่าคอมมิสชั่นนั่นเองครับ ^^

    #22748
    sanunchat
    Participant

    ใส่คอมฯเพิ่มเป็น 1% ก็ยังได้ cagr 25% อยู่เลยครับ งงใจ T^T

    #22749

    โอเคร ไม่เป็นไรครับ 55 ยังไงเดียวผมขอสอบถามเพิ่มเติมอีกนิดนึงละกันนะครับ

    กรณีใส่ค่าคอมมิสชั่น + สลิปเพจ อันนี้ผลลัพธ์ดีกว่าในทุกกรณีเลยหรือเปล่าครับ ยกตัวอย่างเช่น
    ทดสอบกับกลยุทธ์ MangmaoATH และกลยุทธ์อื่นๆ ระหว่างใส่ค่าคอมมิสชั่นและสลิปเพจ กับไม่ใส่ทั้งใส่ค่าคอมมิสชั่นและสลิปเพจ และพบว่าผลลัพธ์ที่ออกมานั้น การใส่ทั้งค่าคอมแลละสลิปเพจก็ยังดีกว่าไม่ใส่ทั้งค่าคอมและสลิปเพจ

    ซึ่งข้อมูลตรงนี้จะช่วยให้ผมพอประเมินคร่าวๆได้ครับ ซึ่งหลังจากนี้ผมอาจจะมีการ Follow Up Case นี้โดยการติดต่อ Direct Message ไปที่พี่ sanunchat โดยตรงนะครับ ดังนั้น ผมจึงขออนุญาตล่วงหน้าไว้ ณ ที่นี้ด้วยนะคร๊าบบ

    #22751
    sanunchat
    Participant

    ขอแก้ครับ ตอนในค่าคอมฯ เป็น 1% CAGR ลดลงเหลือ 22.67% แต่พอใส่ค่าคอม 0.5% CAGR ยังอยู่ระดับประมาณ 25%
    ผมได้ลอง optimize ค่าคอมจาก 0% ถึง 5% ดูครับ ผลลัพธ์ที่ได้เป็นแบบนี้

    optimize commission

    #22752

    จากผลลัพธ์ตรงนี้เท่าที่ไล่ดูค่าตามการ Optimization ผลลัพธ์อยู่ในเกณฑ์ปกตินะครับคือ ยิ่งค่าคอมสูง ผลลัพธ์จะลดลง

    อย่างไรก็ตาม กรณีคอมที่ 0.5 นั้นอาจเกิดจากสาเหตุที่กรได้กล่าวไปข้างต้นแล้วนั่นเองครับบ ซึ่งถือว่านานๆๆจะเจอทีครับ ^^

กำลังดู 8 ข้อความตอบกลับ - 1 ผ่านทาง 8 (ของทั้งหมด 8)
  • คุณต้องเข้าสู่ระบบเพื่อตอบกลับกระทู้นี้