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

[amibroker] Re: Weekly Portfolio Re-Balancing



PureBytes Links

Trading Reference Links

David,

When I got fairly good results from the BackTest of your final 
version of "Weekly Portfolio Re-Balancing" I was keen to employ the 
script in real-life; i.e. for it to recommend which funds to switch 
to each Friday before the close (as a reminder, I am using it with a 
fund family, in which I hold 2 funds at one time). As 
EnableRotationalTrading works for Backtester only, I assumed that 
running the script in Backtester on a Friday would give me the 
recommended funds that day. But instead, it ignored the end of week 
signal that it should have received on a Friday, and continued to 
hold the funds from the previous Friday. The signal was also ignored 
on Saturday and the following Monday!

Presumably, therefore, Backtester cannot be used to 'scan', and as 
EnableRotationalTrading works for Backtester only, a completely 
different script is required to 'select' the top (using 
PositionScore) funds on a Friday. Do you have a working 'Scan' script 
which performs the "Weekly Portfolio Re-Balancing" strategy?

Thanks,
David


--- In amibroker@xxxxxxxxxxxxxxx, "dweilmuenster95125" 
<dweilmuenster95125@xxxx> wrote:
> 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;




------------------------ Yahoo! Groups Sponsor --------------------~--> 
Try Online Currency Trading with GFT. Free 50K Demo. Trade 
24 Hours. Commission-Free. 
http://us.click.yahoo.com/DldnlA/9M2KAA/U1CZAA/GHeqlB/TM
--------------------------------------------------------------------~-> 

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/