ETF (mostly) trading system development

Discussion in 'ETFs' started by QuantpTrader, Aug 13, 2018.

  1. A side note: #QQQIBSM1 system got a buy signal today. A position will be open tomorrow at the QQQ open.

    As told, for evaluation purposes, all signals will be post in my twitter (https://twitter.com/QuantpT) and stats updated in this topic regularly.
     
    #31     Aug 14, 2018
  2. The next trading system is named #SPYLS1 (also for evaluation purposes i will post real time signals in my twitter account and update results in this thread).

    I'm not a firm believer of long/short symmetrical trading systems in the indexes because of the Long Bias, but.... this one seems is a Long/Short symmetrical trading system. It trades SPY Etf.
     
    #32     Aug 16, 2018
  3. Some stats about #SPYLS1 system: 12.90% AR, 78% Winners, -18.7% MDD, 2.62 PF and 1.35 SR. As always, should be traded in a basket of systems. SPYLS1-STATS.png
     
    #33     Aug 16, 2018
  4. It would be though to underperform during 2003 and 2009 biggest bull years. But it performs very well during bear markets.

    Here is Equity Curve and MDD of Closed Trades. Sorry cant post MDD of Open Equity, but keep in mind that historically was almost 19%.

    SPYLS1-EquityCurve.png
     
    #34     Aug 16, 2018
  5. Yearly returns of the #SPYLS1 system.

    SPYLS1-YEARRETURNS.png
     
    #35     Aug 16, 2018
  6. I believe that the same setup most of the time is not adequate for all market regimes, many of my systems divide de market in half.

    For #SPYLS1 I use a SMA with a little twist.

    The system #SPYLS1 Entry/Short signal use a very simple price pattern. The Exit/Cover use a simple stochastic cross above/bellow threshold.

    If after 20 bars, we dont have a sell signal, we close the trade.
     
    #36     Aug 16, 2018
  7. Here is the #SPYLS1 code (if you find hard to understand it drop me a message).

    Code:
    SetTradeDelays(1,1,1,1);
    SetOption ("allowsamebarexit",false);

    BuyPrice = Open;
    SellPrice = Open;
    ShortPrice = Open;
    CoverPrice = Open;

    S1_PricePattern1 = (REF(C,-1) < REF(O,-1) and REF(C,-2) > REF(O,-2));
    S1_Sell_1 = stochd(6)>70;
    S1_PricePattern2 = (REF(C,-1) > REF(O,-1) and REF(C,-2) < REF(O,-2));
    S1_Cover_1 = stochd(6)<30;

    S1_BullMarket = Sum(C > MA(C,300),2) == 2;
    S1_BearMarket = Sum(C < MA(C,300),2) == 2;
    S1_MarketState = Flip(S1_Bullmarket,S1_Bearmarket);

    Buy = (S1_PricePattern1 AND S1_MarketState == 1 AND NOT S1_Sell_1) ;
    Sell = S1_Sell_1;
    Short = (S1_PricePattern2 AND S1_MarketState == 0 AND NOT S1_Cover_1);
    Cover = S1_Cover_1;

    ApplyStop( stopTypeNBar, stopModeBars, 20; True );
     
    #37     Aug 16, 2018
  8. The #SPYLS1 system for more conservative risk profile can be played only on the long side. AR above 10%. MDD 16% and a very nice equity curve.

    SPYLS1-STATS-long.png

    SPYLS1-EquityCurve-long.png
     
    #38     Aug 16, 2018
  9. Specially to my only thread buddy:

    SPYLS1-PERIODS.png
     
    #39     Aug 16, 2018
  10. Great thing about have a portfolio of systems. Even if #QQQIBSM1 and #SPYLS1 are probably correlated, we would have achieved a much better risk metrics without penalizing to much returns trading them together.

    Portfolio 2SYSTEMS.png
     
    #40     Aug 17, 2018