Even more kind words for you next book Howard. When ?

Regards, Ton.

  ----- Original Message ----- 
  From: Howard B 
  To: [email protected] 
  Sent: Friday, June 06, 2008 3:16 PM
  Subject: Re: [amibroker] Question for Howard Bandy


  Hi Rich --

  Thanks for the kind words about my book.

  There is an errata file that lists all of the mistakes and typos.  It can be 
found on this web page:
  http://www.quantitativetradingsystems.com/book.html

  This system uses a Watchlist that has the tickers of the stocks (or, better, 
sector funds) that you want to rotate among.  I like to use the nine S&P Sector 
ETFs.  XLB, XLE, XLF, XLI, XLK, XLP, XLU, XLV, and XLY.  First create a 
watchlist containing these.  Then tell AmiBroker to use it when you are 
running: Automatic Analysis > Use Filter > Define.

  As the system is written in the book and in the download of the code, the 
Optimize statements are commented out.  They need to be enabled.  Since you got 
optimization results, it sounds like you did that.

  The date range tested should be long enough so that there is some rotation.  
Since this system holds about 5 trading days, anything more than a month or so 
should show rotation.

  Whenever an afl program has the statement "EnableRotationalTrading", it will 
not have Buy or Sell statements.  Rotational trading is a subset of AmiBroker's 
much more general (and much more powerful) portfolio trading.  You are correct 
-- the system is evaluated at the close of every bar and positions changed as 
necessary.  In AmiBroker, Help > AFL Language Reference.  Enter 
"enablerotationaltrading" and read the description.

  And to answer a question that you have not asked, the automatic walk forward 
tools within AmiBroker do work as you would hope they do with rotational 
trading models.

  The results you get will depend on several things --
  1.  The tickers in the watchlist.
  2.  The date range.
  3.  The Automatic Analysis > Settings > Trades.  Usually the choice is 
between Close with a delay of 0, or Open with a delay of 1.
  4.  The specific price data which will be different from different vendors -- 
Yahoo versus Quotes Plus, for example.

  Here is what the code looks like when it is ready to start an optimization 
run.  Note that I have left some of the Optimize statements commented out, some 
enabled.  


  //    SectorRotation.afl
  //
  //    Compute a score based on the recent Rate Of Change
  //    of the closing price.
  //
  //    Rotate among the nine S&P sector ETFs
  //
  //    Program options include allowing short positions or not
  //    and interpreting the ROC as a mean reverting indicator
  //    by turning it "upside down".

  EnableRotationalTrading();

  //    The number of issues to hold at a time
  NumberHeld = 2; //Optimize("NumberHeld",1,1,4,1);

  //    Allocate funds equally among all issues
  PositionSize = -100/NumberHeld;

  //    Set WorstRankHeld to be some number greater
  //    than the number of positions held.
  NumberExtras = 3; //Optimize("NumberExtras",0,0,4,1);
  WorstRank = NumberHeld + NumberExtras;
  SetOption("WorstRankHeld", WorstRank);

  //    The LookBack period for the Rate of Change indicator
  LookBack = Optimize("LookBack",6,2,20,1);

  //    UpDown allows the ROC to be inverted
  //    to treat a rising ROC as a "sell" signal
  UpDown = Optimize("UpDown",2,1,2,1);

  //    Value of 1 allows short positions
  //    Value of 2 blocks short positions
  AllowShort = Optimize("AllowShort",1,1,2,1);

  Multiplier = IIf(UpDown==1,1,-1);
  Score = Multiplier*ROC(C,LookBack);
  Score = IIf(AllowShort==1,Score,Max(Score,0));
  PositionScore = Score;
  //Figure 15.1 Sector Rotation

  Thanks, and I hope this helps,
  Howard
  www.quantitativetradingsystems.com





  On Thu, Jun 5, 2008 at 2:36 PM, foxblade2000invest <[EMAIL PROTECTED]> wrote:

    Howard,

    If you read this - first can I say thanks for the book (QTS) which 
    I'm glued to and really enjoying.

    I'm an inexperienced AB user so pardon any silliness. 

    I'm trying to optimise / backtest your rotational trading model 
    (listed at fig 17.1 but actually 15.1) and in doing so, I get the 
    same result for every optimisation step - a RAR of about 10.5%. 

    Clearly something's wrong - can you make any suiggestions?

    Also, with this type of model - there are no buy and sell signals 
    (are there?) - If so, does the system rebase itself on a daily 
    basis - ie buy / sell the highest / lowest ranking issues each day 
    (and keep them if there's no change in the order)?

    Thanks for any help.

    Rich






   

Reply via email to