Portfolios backtest 如何正确回测这种策略?

Discussion in 'AmiBroker' started by newk2002, Feb 11, 2011.

  1. 下面是这个策略的回测报告
    红字的部分说明回测时有在同一天同时进出场的情况
    可是这个策略是使用开盘价进场,日内出场的EOD系统。
    2011-1-5开盘时,2011-1-4的仓位还没有出场,所以
    2011-1-5开盘时是没有钱的,无法进行交易。
    请问如何在回测时过滤掉类似2011-1-5的这种不可能的
    交易
    Ticker Trade Date Price Ex. date Ex. Price
    002118 Long 2011-1-4 32.05 2011-1-5 33.6525
    000630 Long 2011-1-5 34.1 2011-1-7 33.2509
    002479 Long 2011-1-10 39.47 2011-1-12 38.4872
    601299 Long 2011-1-13 7.94 2011-1-14 8.337
    600069 Long 2011-1-14 7.38 2011-1-17 7.749
    600869 Long 2011-1-17 32.3 2011-1-18 30.9942
    002171 Long 2011-1-19 26.79 2011-1-20 30
    600637 Long 2011-1-21 12.01 2011-1-24 11.711
    002171 Long 2011-1-25 28.24 2011-1-26 29.652
    601002 Long 2011-1-26 19.9 2011-1-27 21.48
    601002 Long 2011-1-31 24.45 2011-2-1 27
    000755 Long 2011-2-1 11.75 2011-2-9 12.3375
    600283 Long 2011-2-9 17.57 2011-2-10 19


    格式编辑起来太不方便了
     
  2. 忘了写了 Max Open Positions 是 1, 全仓交易.
     
  3. check position first.
     
  4. 能写详细一点儿吗? 没明白。
    谢谢。
     
  5. 再问一下,怎么 check position first?
     
  6. 使用比日线小的周期
     
  7. 通常的策略中,如果以开盘价作为进出点, 应该是用次日开盘价,而不是当日开盘价。
    在回测中用当日开盘价,通常意味着使用了未来数据。
     
  8. 个人认为,如果开盘价加若干滑点,应该不算未来数据。
     
  9. 我也想啊,可是几千种股票的日内周期数据不太好获得啊
     
  10. 使用的正是次日的开盘价进场,不同的是出场使用的是当日收盘价。我认为这里不存在未来数据的问题。
    这里的问题是,我在持仓股票A时,股票B发出了进场信号。这时我手中没有钱,只有股票A,可是在做回测时,amibroker没有考虑到这个问题,直接给我买了股票B。我想看一下能否编程或在哪里设置一下解决这个问题。
     
  11. 绝大多数策略其实都用不到 low-level 这么底层的控制方法。
    实在要用low-level,最好先把下面这两个基本部分彻底搞懂了,要不很难搞明白怎么回事 ;)

    Back-testing your trading ideas
    http://www.amibroker.com/guide/h_backtest.html

    Portfolio-level backtesting (楼主在#10楼的问题,这里有详细的解释....)
    http://www.amibroker.com/guide/h_portfolio.html

    good luck!
     
  12. 这是一个已知问题。请看关于它的讨论

    http://finance.groups.yahoo.com/group/amibroker/message/154946
     
  13. 果然是low-level
     
  14. 我这回是真的晕了,放弃了,回家继续干日内了。
    谢谢大家
     
  15. AB的文档的确是one day world

    但慢慢啃总是能搞明白的