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

[amibroker] Re: Dynamic rebalancing of existing portfolio weights



PureBytes Links

Trading Reference Links

Still trying to figure this one out, and was wondering whether 
anybody can explain to me the following:

I thought I had solved this puzzle, by using an adjusted version of 
Tomasz's "FindEquityAtDateTime" function:

function FindStatAtEndTrade (Stat, dt, Value)
{
	found = -1;
	for( i = 0; i < BarCount AND found==-1; i++ ) 
   { 
      if( dt[ i ] == Value ) found = i; 
   } 

	result = Null;
	if( found > 1 ) result = Stat[ found ];

	return result;
   //return IIf( found != -1, Stat[ found], Null ); // Stat at 
end /close of trade
} 

. . . . .

After some intial code, including my "ArrayImLookingFor", I used it 
within this loop:

for( pos = bo.GetFirstOpenPos(); pos; pos = bo.GetNextOpenPos() ) 
       { 
         posval = pos.GetPositionValue();
         possc = pos.Score;
         postick = pos.Symbol;
        
				//_TRACE("Ticker ["+bar+"]" + 
postick);
				//_TRACE("Score "+ 
postick+"["+bar+"]" + possc);
				
         //ReqW=FindStatAtDateTime(dt, dt, pos.EntryDateTime);
         ReqW=FindStatAtEndTrade(ArrayImLooking For, dt, 
pos.ExitDateTime);

. . . BUT this returns an {EMPTY} statement. Why can I not use this 
here, and more importantly, is there an alternative?

Thanks,

PS

--- In amibroker@xxxxxxxxxxxxxxx, "vlanschot" <vlanschot@xxx> wrote:
>
> Hello,
> 
> Before I submit my request to the Feedback centre, I was wondering 
> whether anybody has been able to include dynamic (weight/holdings) 
> rebalancing in their code, whereby stock-specific arrays (as 
> in "relative weights") are referred to for the rebalancing. 
> 
> In other words, PositionSize can be an array, but it does not allow 
> you to rebalance your existing portfolio-weights once you've 
entered 
> a position (i.e. they only determine entry positions). It turns 
out, 
> as far as I know now, that even in the CBT (advanced backtester) 
you 
> cannot refer to stock-specific arrays to rebalance (only static 
> amounts). I've tried it in the rotational mode, and could not get 
it 
> working.
> 
> The idea is fairly simple: I want to overweight by x% the relative 
> weights (in some broad index) of my top quartile, underweight by x% 
> the relative weight of my bottom quartile, and keep the rest equal 
to 
> their respective relative weights. These type of "dynamic 
> rebalancing" strategies are quite common.
> 
> Correct me if I'm wrong, but the SetPositionSize(size, method) is 
> neither suited for this purpose (and in any case, I prefer the CBT 
> because it allows me to define my own trade-stats).
> 
> Thanks for any help.
> 
> PS
>




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 NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
http://www.amibroker.com/devlog/

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/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/amibroker/join
    (Yahoo! ID required)

<*> To change settings via email:
    mailto:amibroker-digest@xxxxxxxxxxxxxxx 
    mailto:amibroker-fullfeatured@xxxxxxxxxxxxxxx

<*> 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/