fbpx

Backtest ให้แสดงผล buy and Hold ด้วย ทำยังไงครับ

ติดป้ายกำกับ: 

  • ผู้สร้าง
    กระทู้
  • #10770
    v3v3
    Participant

    ในหน้า config backtest, tab report ผมใส่ Buy and Hold เป็น ^set แล้ว

     

    ผลที่ออกมา มันไม่ได้คำนวณ buy and hold ด้วยครับ มันออกมา -100% เลย

    ทำยังไงที่เราจะเทียบผล back test vs Buy and gold ได้ครับ

    ขอบคุณครับ

     

กำลังดู 9 ข้อความตอบกลับ - 1 ผ่านทาง 9 (ของทั้งหมด 9)
  • ผู้เขียน
    ข้อความตอบกลับ
  • #10772
    Amibroker PlatformAmibroker Platform
    Participant

    ปิดเเล้วเปิดโปรแกรมหายมั้ยคับ

    เพราะก็ Set ถูกเเล้วคับ

    #10774
    v3v3
    Participant

    ไม่หายอ่ะครับ ผมใช้ version 6.1 ไม่รู้เกี่ยวไหม

     

    #10799
    Amibroker PlatformAmibroker Platform
    Participant

    เเต่ผมดูจากภาพเเล้วก็ Set ถูกหมดนะ

    ผมว่าลองลบโปรแกรมเเล้วลงใหม่ดูคับ

    #10800
    SanJiSanJi
    Participant

    คุณ v3 รบกวนส่งภาพของ

    1. Backtest setting ตรงแทป General

    2. รายชื่อหุ้นใน Watch list เรียงตามลำดับตัวอักษร 10 ตัวแรก

    ให้ผมดูหน่อยนะครับ

    #10811
    v3v3
    Participant

    ครับผม general แบบนี้ครับ

     

    แต่ข้างใน overwrite จากตัวอย่างของ siamquant ครับ

    etBacktestMode( backtestRotational );

    SetOption( "InitialEquity", 2500000 ); // I change here

    SetOption( "AllowSameBarExit", True );

    SetOption( "ActivateStopsImmediately", True );

    SetOption( "AllowPositionShrinking", False );

    SetOption( "InterestRate", 0 );

    SetOption( "MaxOpenPositions", 30 );

    SetOption( "WorstRankHeld", 20 );

    SetOption( "MinShares", 100 );

    SetOption( "MinPosValue", 0 );

    SetOption( "PriceBoundChecking", False );

    SetOption( "CommissionMode", 1 );

    SetOption( "CommissionAmount", 0.30 );  // I change commissioning here.

    SetOption( "AccountMargin", 100 );

    SetOption( "ReverseSignalForcesExit", True );

    SetOption( "UsePrevBarEquityForPosSizing", True );

    SetOption( "PortfolioReportMode", 0 );

    SetOption( "SeparateLongShortRank", False );

    SetOption( "ExtraColumnsLocation", 1 );

    //SetOption( "WarningLevel", 1);

     

    ส่วน watchlist ผมใช้ ALLSTOCK , BADDATASTOCK ของ siamquant เลยครับ

     

    ขอบคุณคร้าบบบบ

     

    #10813
    Amibroker PlatformAmibroker Platform
    Participant

    ยังอื่นผมมองปกติดีคับ ลองลบคำสั่งนี้ดูคับ

    SetOption( “PortfolioReportMode”, 0 );

    #10814
    SanJiSanJi
    Participant

    ขอบคุณครับ

    ลองทำตามวิธีด้านล่างดูนะครับ

    เริ่มต้นจากในแท็ป General ให้ติ๊กถูกที่ Pad and align all data ..... จากนั้นใส่ ^SET ที่ช่องว่างด้านหลังดังรูป

    ใน AFL editor ลองแก้ไขโค้ดตามนี้นะครับ

    วิธีที่ 1. เซ็ต CommissionAmount เป็น 0.30 เหมือนเดิม แต่เซ็ตให้ AllowPositionShriking เป็น TRUE แทน ดังรูป

    หรือ

    วิธีที่ 2. เซ็ต AllowPositionShriking เป็น FALSE เหมือนเดิม แต่เซ็ตให้ CommissionAmount เป็น 0 แทน ดังรูป

    ได้ผลยังไงรบกวนบอกผมอีกทีนะครับ

    #10894
    v3v3
    Participant

    ขอบคุณครับ ได้แล้วครับต้องใช้

    setoption ("AllowPositionShrinking", TRUE); อย่างเดียวเลย

    แต่ถ้าไปติ๊ก แท็ป General ให้ติ๊กถูกที่ Pad and align all data  ค่ามันจะออกมาแปลกๆ ไม่รู้มันว่าฟังชั่นนี้ คืออะไร

     

     

    #10895

    Pad and Align All Data เป็นการบอกให้ Amibroker ยืดข้อมูลหลักทรัพย์นั้นๆให้ Sync ตรงตามวันของ Benchmark อ้างอิงครับ

    อธิบายง่ายๆเช่นถ้า ^SET มีเทรด 5 วันในสัปดาห์ แต่สัปดาห์นั้นตัวหุ้นเองมีเทรดแค่ 3 วัน มันจะแทนค่าเดิมให้ในวันที่ไม่มีข้อมูลอีกสองวันที่เหลือครับ

    ค่ามันจะออกมาแปลกๆเพราะพวก Indicators หรือตัวชี้วัดต่างๆที่เราใช้เวลาคำนวณค่ามันจะผิดเพี้ยนไปจากการที่มันคำนวณตาม Day ไม่ใช่ Bar ที่มีข้อมูลอยู่ครับ (วันไหนไม่มีข้อมูลมันก็แทนค่าเดิมก่อนหน้าให้ ค่าเลยเพี้ยนแน่นอน)

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