[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[amibroker] Re: Weekly Portfolio Re-Balancing



PureBytes Links

Trading Reference Links

Hi, yes, someone tipped me to an approach which goes like this
(omitting extraneous details):

EnableRotationalTrading(); 

weekend = DayOfWeek()>Ref(DayOfWeek(),1);

PositionScore = IIf(weekend,100-rsi(2),scorenorotate);


Hope that helps with what you're trying to do.


Regards,
David




--- In amibroker@xxxxxxxxxxxxxxx, "David Nowotnik" <dnowotnik@xxxx> wrote:
> David,
> 
> Did you get response to this question, as I would also like to 
> develop a script which performs rotational trading but is not limited 
> by what EnableRotationalTrading() does and does not appear to allow?
> 
> I assume that the problem is that there is no option to 
> AllowSameBarEntry, equivalent to AllowSameBarExit. So an exit cannot 
> trigger the next entry even when Buy is true, but instead, you have 
> to wait for the next bar in which a Buy condition is met.
> 
> I tried many variations to your script (I'm sure you did too), to no 
> avail. The closest was to delay the buy to the first day of the week 
> following the sale:
> 
> weekend = DayOfWeek()>Ref(DayOfWeek(),1);
> FirstDay = DayOfWeek()==1;
> 
> RSI2 = RSIa(C,2);
> PositionScore = 100-RSI2;
> 
> Buy = FirstDay;
> Sell = weekend;
> 
> Regards,
> David
> 
> --- In amibroker@xxxxxxxxxxxxxxx, "dweilmuenster95125" 
> <dweilmuenster95125@xxxx> wrote:
> > 
> > I am trying to set up a portfolio backtest to:
> > 
> > -  Buy on the last trading day of each week the top 2 equities in a
> > watchlist, ranked by 100-RSI(2).
> > 
> > -  Sell those 2 equities on the last trading day of the next week, 
> and
> > replace them with 2 equities that satisfy the above rule.
> > 
> > (Note:  EnableRotationalTrading() doesn't do the trick, because
> > I want to exit unconditionally at the end of the following week, not
> > because the current positions fall below a positionrank threshhold.)
> > 
> > I'm using the code below, and it almost works.  Problem is that it
> > skips every other week.  E.g., starting at the beginning of 2002, it
> > buys two stocks on 1/4/2002, and sells them on 1/11/2002.  But it
> > doesn't buy anything on 1/11/2002.  Instead, it buys 2 stocks again 
> on
> > 1/18/2002, and sells them on 1/25/2002.  Doesn't buy anything on
> > 1/25/2002.  But, it buys 2 stocks on 2/1/2002, and sells them on
> > 2/8/2002.  Etc.
> > 
> > Suggestions?
> > 
> > Thanks,
> > David
> > 
> > -------------------------------------------------------------
> > 
> > 
> > SetOption("InitialEquity",100000);                  
> > SetOption("CommissionMode",1);             
> > SetOption("CommissionAmount",0);
> > SetOption("MaxOpenPositions",2);               
> > SetOption("MarginRequirement",100);                  
> > SetOption("UsePrevBarEquityForPosSizing",False);
> > SetOption("AllowPositionShrinking" , True);  
> > SetOption("AllowSameBarExit",False);
> > SetTradeDelays(0,0,0,0);                            
> > BuyPrice = C;
> > SellPrice = C;
> > SetPositionSize(50,spsPercentOfEquity);
> > RoundLotSize = 10;
> > 
> > weekend = DayOfWeek()>Ref(DayOfWeek(),1);
> > 
> > RSI2 = RSIa(C,2);
> > PositionScore = 100-RSI2;
> > 
> > 
> > Buy = weekend;
> > Sell = weekend;




Please note that this group is for discussion between users only.

To get support from AmiBroker please send an e-mail directly to 
SUPPORT {at} amibroker.com

For other support material please check also:
http://www.amibroker.com/support.html

 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/amibroker/

<*> To unsubscribe from this group, send an email to:
    amibroker-unsubscribe@xxxxxxxxxxxxxxx

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/