fbpx

มีคำถามเกี่ยวกับสูตร Ami และก็การวางระบบครับ

  • ผู้สร้าง
    กระทู้
  • #9660
    AvatarMix-Sambakza
    Participant

    1. เรื่อง Scale in ใน Amibroker มันจะซื้อ หุ้น ไม้แรก และไม้ที่สองต่อๆไปเมือ่เกิดสัญญาณอีกใช่ไหมครับแต่มันจะซื้อทุกครั้งเท่ากัน ผมอยากให้มันซื้อไม่เท่ากับครั้งแรก เราจะปรับยังไงอ่ะครับ

    2. Scale out ใน Amobroker ก็คือจะทยอยออกใช่ไหมครับ แต่ทีนี้มีปัญหาที่ว่า สมมุติผมตั้งให้ออก 50% แต่มันออกไปซะ 90% ตอนแรกก็คิดว่าอาจจะเขียนสูตรผิดหรืออะไร แต่ลองก๊อบจากตัวอย่างมาเลย   ตัวอย่างที่ 4 อ่ะครับ http://www.amibroker.com/guide/h_pyramid.html
    แต่ก็ยังเหมือนเดิม ไม่ตรงตามคำสั่ง เปลี่ยนจาก 50% เป็นเลขอื่นผลที่ทดสอบออกมาก็เหมือนเดิมเป๊ะครับ ลองดูในรูปได้นะคัรบ คือถือ 9800 ควรจะออก 4900 แต่ไปออกซะ 9100 อะไรแบบนี้อะครับ

    3. การเราทำให้ Position Ranking ทำงานหนักนี่จะดีไหมคัรบมีข้อเสียที่ควรกังวลอะไรบ้าง เพราะเห็นปกติ ระบบส่วนใหญ่ ให้ Indicator ที่ทำๆกันมาเป็น ตัวที่ทำงานหนัก พอเลือกไม่ได้ค่อย ให้ Position ranking เป็นงานรอง แต่จากที่ผมทดสอบดูหลายๆ sample Position ranking ที่ผมทำมันก็มีประสิทธิภาพ อย่างมีนัยยะ จริงๆ ครับ

    4. Expectancy simulator ที่พี่มดให้ทดสอบใน SiamQuantนี่มันก็จะคล้ายๆ Monte carlo แบบหนึ่งใช่ไหมครับ แต่เผอิญ ว่ามันไม่ได้ขึ้นอยู่กับการเทรดหรือ กราฟตลาดใดๆเลย มีแค่ค่า expectancy แล้วมันต่างกันยังไงบ้างทีข้อไหนที่เป็น Pitfall ของExpectancy simulator ที่ไม่ได้เห็น ใน Monte carlo มั่งครับ

    5.การดูผลตอบแทน MAR ratio ครับ สมมติ มีสองระบบที่มีค่า MAR เท่ากัน ซึ่งระบบหนึ่ง มี CAGR สูงที่มาพร้อมกับ Max DD สูงกว่าอีกระบบหนึ่ง เราควรจะเลือกโดยดูจากอะไรดีอ่ะครับ คือก็รู้นะครับว่าถ้าตอบตามตำราก็คงต้องบอกว่า ดูความเสี่ยงที่เรารับได้สิ เป็นต้น ซึ่งผมมองว่ามันเป็นคำพูดที่กว้างเกินไป ตอนแรกผมเลยมานั่งดูว่า เอ๊ะ ระบบที่ CAGR สูงกว่าก็ต้องดีกว่าสิ มันเป็นoutput สุดท้ายนะเว้ย ผ่านมรสุม(Max DD)อะไรมาก็ได้ยังไงสุดท้ายก็ได้มากกว่าระบบอื่น (ซึ่งเป็นความคิดที่เด็กมากถ้าตอนนี้ผมมองย้อนกลับไปมากที่ไม่สนว่า Max dd เท่าไรเพราะคิดว่ารับได้อยู่และ เราทดสอบะรบบมากับมือเลยนะเห้ย work แน่นอน ) ต่อมาผมก็คิดว่า เอ๊ย ดู Max DD ก็ดีกว่าสิ เพราะว่าMax DD เนี่ย เราใช้ความสามารถของระบบจัดการได้ว่าจะให้ cut loss เท่าไร แต่ตอนมันตาม Trend ขึ้นไปอ่ะมันเป็นความสามารถของตลาดที่จะพาเราขึ้นไปหนิ ซึ่งในอนาคตเราไม่รู้แน่ชัด แต่ระบบเรารู้นะว่า Max DD เท่านี้ ตัวเลขนี้มันก็ต้องมีนัยยะกว่าสิ แต่พอผ่านไปอีกซักพักเมื่อเรามาดูรายการเทรดตอน Backtest เทียบกัน ผมก็คิดว่าอ่าวแล้วถ้าเกิด Max dd ลด แสดงว่า เราตัดเร็วเกิน แล้ว CAGR มันก็ลดด้วยนิน่า มันก็เป็นเหตุเป็นผลกัน ซึ่งคิดไปคิดมาปวดหัวจริงๆเลย
    ก็เลยอยากจะมาถามความคิดเห็น ละครับว่ามีความคิดเห็นยังไงเกี่ยวกับเรือ่งนี้

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

    จริงๆต้องบอกว่าผมไม่ใช่โคตรเซียน AFL นะครับ เพราะหลังๆใช้หลายโปรแกรมหลายภาษา และก็มีคนมาช่วยเขียนให้อีกทีเวลาเล่นท่ายากครับ 😀

    1. จากที่อ่านดูน่าจะต้องใช้ Custom Backtester Interface เขียนเอาครับ แล้วเข้าไปปรับค่า Property Sig.PosSize ตามที่เราต้องการในแต่ละสัญญาณในวันที่สัญญาณเกิดขึ้นครับ (Mid-Level CBT)

    2. ปัญหาเกิดจาก Bug ที่ถ้าไม่ได้ setTradeDelays(0,0,0,0) มันจะ error ครับ

    3. ต้องดูเป็น Case ไปครับ บางระบบไม่ต้องมี Timing Signal จาก Indicator ก็ให้ผลลัพท์ที่ดีครับ เช่นระบบ Rotation อาจตั้ง Timing ตามช่วงเวลาเอาครับ แต่ผมไม่แน่ใจว่าระบบคุณ Mix เป็นแบบไหนเลยมั่วไม่ออกอะครับ 😀

    4. ก่อนอื่นต้องบอกว่า Monte Carlo ในการ Backtest มีหลายแบบครับ คือมีแบบการนำผลการเทรดมา Re-Sampling หรือการนำ Periodic Return ของพอร์ทโฟลิโอมา Re-Sampling โดยในขั้นนี้ผมจะขอพูดถึงแบบ Trade Re-Sampling นะครับ เนื่องจากเป็นที่รู้จักกันดี

    Expectancy Simulator ที่ผมเปิดให้เล่นนั้นเป็นเพียงการจำลองแบบง่ายที่สุด โดยจะสุ่มผลตอบแทนตาม % Win ที่เรากำหนดครับ ค่า Amount Win - Amount Loss จะคงที่ตลอด ต่างกับการทำ Monte Carlo จริงๆครับ เนื่องจาก Trade Return จะไม่คงที่ นอกจากนี้แล้วตัว Expectancy ที่ทำไว้จะเป็นการบวกลบผลกำไรเติมเข้าไปเรื่อยๆ (Win-Loss Amount เป็น Dollar Value) ซึ่งต่างกับการทำ Trade Re-Sampling ด้วย Trade Return (% of Portfolio) ซึ่งต้องอาศัยการ Compound แทนที่จะบวกลบเข้าไปเรื่อยๆครับ

    5. ไม่รู้ว่าจะตามตำราหรือปล่าว แต่ผมมองว่ามันขึ้นอยู่กับเป้าหมายหรือ Objective Function ทั้งตัวระบบ, ไลฟ์สไตล์ และขีดจำกัดต่างๆ ที่เราวางไว้ตั้งแต่ก่อนเริ่มทดสอบครับ คือถ้าเรากำหนดชัดเจนว่าเราต้องการอะไรแบบไหนอย่างไรในหลายๆมิติ (Multi-Metrics) ปัญหาตรงนี้จะลดลงไปเยอะครับ เช่น เราอาจกำหนดว่า MAR > X, MaxDD < Y, CAGR > Z .... หรืออะไรต่อมิอะไรครับ

    อีกแง่มุมหนึ่งคือการทดสอบระบบในส่วนของ Signal ให้เรียบร้อยก่อนว่าตัวไหนมี Predictive Power และจำนวนการเทรดมากกว่ากัน (เช่น Expectancy Score) หลังจากนั้นมาปรับเอาในส่วนของ Position Sizing และ Risk Management ซึ่งเป็นภาคขยายผลกำไร-ขาดทุนของตัว Signal และ Portfolio เอาอีกทีหนึ่งแทนครับ 😀

    #9663
    wickedbeamwickedbeam
    Participant

    โหขอบคุณมากครับพี่มด
    อุส่ามาตอบผมตั้งแต่ตี สี่ ^^เรื่องสูตร Ami นี่งมตั้งนาน แต่ว่า พอ SET 0วัน แล้ว CAR พุ่งเกินความเป็นจริงไปเยอะมาก คงทดลองไม่ได้จริงซักเท่าไร T^T

    #9662
    Amibroker PlatformAmibroker Platform
    Participant

    ทำ Scale in  ระวังนะคับ Ami บางเวอร์ชั่นมั่ง มันยอมคำนวณ Vol หุ้นเข้าไปด้วย หุ้นบางตัวสภาพคล่องไม่ถึงจำนวนเงินที่ซื้อเเต่ดันซื้อเพิ่มเข้าไป  มันต้องเขียนอะไรเพิ่มผมก็จำไม่ได้

    #9661

    จริงๆไม่ค่อยแนะนำให้ใช้คำสั่ง Scale-In หรือ Scale-Out ใน Amibroker เท่าไหร่เลยครับ เพราะ Track Position ยาก เนื่องจากมันให้ผลเทรดเป็นค่า Average Price ออกมาค่าเดียวเลย (ถ้าจะเก็บเองต้องเขียน Custom Backtester เพิ่มเอาเอง) แนะนำให้เล่น Position เดียวกระจายความเสี่ยงก็พอ หรือไม่ก็ตั้ง SetOptions ให้เป็น Regularrawmulti แทนครับ

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