| 
 well I just mentioned this because the range is 
rather narrow.  When testing this MM stuff on my system I noticed that it 
behaved very poor especially between 1998 and 2001. This is exactly the period 
the markets were very volatile. SInce volatility reduces the position size  
my system hardly invested any money. 
  
I tried giving risky trades more weight using (not 
sure if this is correct but it does approximately what I intended): 
  
PositionSize = -100 * (stopLoss / Ref(C,-1)); 
  
this as I expected gives a 
better result than just using a constant percentage over the last 3 year and 
also better than the correct MM approach. Between 1998 and 2001 however it 
performs worse, suffering when the market goes crazy. 
  
rgds, Ed 
  
  
  ----- Original Message -----  
  
  
  Sent: Sunday, December 12, 2004 4:06 
  PM 
  Subject: [amibroker] Re: PositionSize / 
  Capital 
  
 
  I love it. This also helps avoid the tiny positions 
  somebody (Al?)  mentioned yesterday (and I've experienced also). But why do 
  you say  it will usually probably use the 10 or 20% sized positions? 
  Shouldn't  that mean you're setting your risk parameter unrealistically 
  low?
  --- In amibroker@xxxxxxxxxxxxxxx, "ed nl" 
  <ed2000nl@x...> wrote: > This way 
  you can use a range: Maximum 20% minimum 10% of equity: >  > rsk = 
  -2; // 2%  > PositionSize = Min(-10,Max(-20,rsk * Ref(C,-1) / 
  stopLoss));  >  > In practice it most of the time it probably 
  either uses 10% or 20%.  >  > Ed >  >  > 
   >   ----- Original Message -----  >   From: 
  danielwardadams  >   To: amibroker@xxxxxxxxxxxxxxx 
   >   Sent: Sunday, December 12, 2004 3:40 
  PM >   Subject: [amibroker] Re: PositionSize / Capital > 
   >  >  >   Al & Ed, >   This 
  is exactly where I ended up yesterday (hours after my post). 
   >   When I tried it, though, I always ended up taking the 20% 
   positions  >   rather than those defined by my risk. 
  Thinking it wasn't working,  I  >   gave up and went to 
  bed. >  >   But since someone else thinks this should 
  work, obviously I need  to  >   play with it some 
  more. >  >   Dan >  >   --- In 
  amibroker@xxxxxxxxxxxxxxx, "ed nl" <ed2000nl@xxxx> 
  wrote: >   > Al, >   > 
   >   > about the part:   "Your suggestion to 
  limit positionsize not to  >   exceed any more than 20% of 
  equity may be the solution since it  goes  >   hand in hand 
  with the philosophy of money management. That is, do  not 
   >   allow any one position to exceed, say, 10 or 15 percent 
  of your  >   equity. The Turtles did that, and I think lots of 
  traders do  that,  >   too. So, I see nothing wrong with 
  that. Have you coded this in  AFL" >   > 
   >   > I think you can solve this 
  using: >   >  >   > rsk = -2; // 
  2% >   > PositionSize = Max(-20,rsk * Ref(C,-1) / 
  stopLoss);  >   >  >   > now it will 
  never use more than 20% of equity. >   > 
   >   > About the minimum number of trades I don't know. In 
  my system  that  >   would be impossible because sometimes 
  good entries just dry up  and I  >   can't find even find 
  5. >   >  >   > rgds, 
  Ed >   >  >   >   ----- 
  Original Message -----  >   >   From: Al Venosa 
   >   >   To: amibroker@xxxxxxxxxxxxxxx 
   >   >   Sent: Sunday, December 12, 2004 3:11 
  PM >   >   Subject: Re: [amibroker] Re: 
  PositionSize / Capital >   >  >   > 
   >   >   Dan: >   > 
   >   >   Thanks for the ideas. You're not 
  rambling; you're thinking,  and  >   this discussion is 
  healthy. Good ideas may stem from the  discussion,  >   so 
  by all means, keep posting.  >   >  >   
  >   I don't think you need a new built-in function called MinPos. 
   >   Maybe TJ came up with a solution the other day by 
  suggesting you  set  >   the max open positions to some 
  large value like 10 of 15, even  though  >   you plan to 
  take on no more than 5 at any time. So, if you don't  use 
   >   up all your equity using volatility-based positionsizing, 
  you  might  >   add on new positions with this approach. I 
  haven't tested this  idea  >   yet, but I will. The problem 
  occurs when the opposite happens,  >   namely, all your equity 
  is used up before you are able to add  your  >   4th and 
  5th positions. Your suggestion to limit positionsize not  to 
   >   exceed any more than 20% of equity may be the solution 
  since it  goes  >   hand in hand with the philosophy of 
  money management. That is, do  not  >   allow any one 
  position to exceed, say, 10 or 15 percent of your  >   equity. 
  The Turtles did that, and I think lots of traders do  that, 
   >   too. So, I see nothing wrong with that. Have you coded 
  this in  AFL?  >   I'm like Yuki: good with concepts buy 
  lousy with creative  >   programming.  >   
  >  >   >   Al Venosa >   > 
   >   >   danielwardadams 
  wrote: >   >  >   >  >   
  >     After thinking about this some more, I think all 
  I've  described  >   is  >   
  >     what could be accomplished with two more built-in 
   variables.  >   MinPos  >   
  >     could say you want no less than some minimum 
  number of  >   positions (5  >   
  >     in my example) and MaxPositionSize could say you 
  want to  >   allocate no  >   
  >     more than X% of capital to any one position (20% 
  in my  example). >   >  >   
  >     Within these constraints, your actual position 
  sizing  methond  >   could  >   
  >     be anything you want. >   > 
   >   >     I'm probably rambling 
  ......... >   >  >   
  >     Dan >   >  >   
  >     --- In amibroker@xxxxxxxxxxxxxxx, 
  "danielwardadams"  >   >     
  <danielwardadams@xxxx> wrote: >   
  >     >  >   
  >     > Al & Anthony,  >   
  >     > I've also seen the lower returns for 
  volatility based  versus  >   equal  >   
  >     > equity position sizing in the past and 
  didn't know what  to do  >   about  >   
  >     > it (assuming I wanted more positions for 
  more  >   diversification). >   
  >     >  >   
  >     > I'm not sure how one would code it in .AFL, 
  but would the  >   following  >   
  >     > represent a reasonable 
  compromise? >   >     > 
   >   >     > (1) Start with an equal 
  equity based model based on,  say,  5  >   
  >     > positions (position size = -20). So each 
  part of the pie  >   equals 20%  >   
  >     > of total equity. >   
  >     > (2) Determine actual position size within 
  each piece of  the  >   pie  >   
  >     based  >   
  >     > on volatility based sizing. So, depending on 
  your risk  >   parameter,  >   
  >     one  >   
  >     > might use only 17% of one piece of the pie, 
  13% of  another  >   piece,  >   
  >     and  >   
  >     > 20%, 8%, and 11% of the other 
  pieces. >   >     > (3) Sum the used 
  portions of the pie (in this case  >   17+13+20+8+11 = 
   >   >     > 69%) and see what you 
  have left. 31% in case. >   >     > 
  (4) Allocate the remaining cash according to the equal  equity 
   >   >     model.  >   
  >     > This means you get one more 20% piece of pie 
  and only  have  >   11% cash  >   
  >     > remaining.  >   
  >     > (5) Apply the above using your ATR based 
  position sizing  >   >     recursively 
   >   >     > until your cash is 
  minimized. So if you only are able to  use  >   9% of 
   >   >     > the piece of pie left 
  in (4) you take the 11% left from  that  >   piece 
   >   >     > plus the 11% cash and 
  you have 22% -- enough for another  >   position. 
   >   >     So  >   
  >     > in this case you end up with 7 positions and 
  only 2% left  in  >   cash. >   
  >     > So your cash is minimized and all your 
  positions adhere  to  >   the ATR  >   
  >     > based position sizing. >   
  >     >  >   
  >     > Like I say, I have no idea how to code it 
  but intuitively  it  >   makes  >   
  >     > sense to me. >   
  >     >  >   
  >     > Thoughts/comments? >   
  >     >  >   
  >     > Dan >   
  >     >  >   
  >     > (And, yes, I'm sure I'm not the first person 
  to think of  it  >   so my  >   
  >     > apologies to those who have gone 
  before). >   >     > 
   >   >     > --- In 
  amibroker@xxxxxxxxxxxxxxx, "Anthony Faragasso"  >   
  >     <ajf1111@xxxx>  >   
  >     > wrote: >   
  >     > > Hello Al, >   
  >     > >  >   
  >     > > You stated: >   
  >     > >  >   
  >     > > "the lower the volatility, the lower 
  the risk and  >   therefore, the  >   
  >     > smaller the positionsize for that stock. 
  " >   >     > > 
   >   >     > > Is this a correct 
  assumption ? ...Would you want a  larger  >   
  >     > positionsize on a less risk position , and a 
  smaller  position  >   on a  >   
  >     > more volatile one ? >   
  >     > >  >   
  >     > > Anthony >   
  >     > >   ----- Original Message 
  -----  >   >     > >   
  From: Al Venosa  >   >     > 
  >   To: amibroker@xxxxxxxxxxxxxxx  >   
  >     > >   Sent: Saturday, December 
  11, 2004 7:53 AM >   >     > 
  >   Subject: Re: [amibroker] PositionSize / 
  Capital >   >     > > 
   >   >     > > 
   >   >     > >   Ed, 
   >   >     > > 
   >   >     > >   I, 
  too, have confirmed many times with backtesting  what  >   
  you  >   >     > report, viz,, that 
  positionsize = -x gives better  performance  >   
  >     results  >   
  >     > than using volatility-based MM 
  positionsizing. The non-MM  >   code I've  >   
  >     > used in the past is: >   
  >     > >  >   
  >     > >   posqty = 
  Optimize("posqty",5,2,10,1); // no. of  stocks  >   active 
   >   >     at  >   
  >     > any given time >   
  >     > >   PositionSize = -100/posqty; 
  //equal equity model >   >     > 
  >  >   >     > >   I 
  think I know what the problem is, but I have not as  yet 
   >   >     figured  >   
  >     > out how to solve the problem with AFL. If 
  you use the MM- >   based  >   
  >     > positionsize statement as we have discussed 
  (equal  volatility  >   >     
  model),  >   >     > i.e., 
  PositionSize = -1 * C/StopAmt, and examine the  >   tradelist, 
  you  >   >     > will likely 
  discover that, often, not all 5 stocks are  active  >   all 
   >   >     the  >   
  >     > time. In other words, either you have idle 
  capital  earning  >   nothing  >   
  >     or  >   
  >     > you have fewer active stocks than you want. 
  Why is this?  >   Because  >   
  >     some  >   
  >     > stocks, which might not be as volatilie as 
  others, use up  >   more of  >   
  >     > your capital to initiate a position than a 
  more volatile  >   stock.  >   
  >     > Consequently, your capital is used up before 
  you have a  >   chance to  >   
  >     > enter into your 4th or 5th stock. Instead of 
  having 5  open  >   >     positions, 
   >   >     > you might only have 3 
  because of this. Checking  positionsize  >   
  >     > shrinking doesn't help because you'll 
  discover you might  have  >   tiny  >   
  >     > positions in your 5th stock. The fewer 
  stocks you have,  the  >   less  >   
  >     > diversified you are, and therefore the more 
  risky your  >   portfolio.  >   
  >     The  >   
  >     > more risk, the higher the DDs. This problem 
  cannot happen  >   with the  >   
  >     > equal equity model since all positions are 
  equal in size,  by  >   >     > 
  definition.  >   >     > > 
   >   >     > >   One 
  possible way around this might be to increase  your  >   
  margin  >   >     so 
   >   >     > that equity is expanded 
  enough to allow full funding of  all  >   
  >     > positions. But, again, this also increases 
  your risk.  Another  >   way  >   
  >     > might be dynamically setting your risk to 
  fit the  volatility  >   of  >   
  >     each  >   
  >     > stock individually (the lower the 
  volatility, the lower  the  >   risk  >   
  >     and  >   
  >     > therefore, the smaller the positionsize for 
  that stock).  >   However,  >   
  >     > this changes your model so that you no 
  longer have equal  >   >     > 
  volatility/equal risk (getting closer to the equal equity  >   
  model).  >   >     So, 
   >   >     > the problem remains 
  unsolved for the moment. I have not  had  >   time to 
   >   >     > devote to cracking this 
  problem yet, but some day I hope  to  >   do 
   >   >     this.  >   
  >     > If you have any ideas, I'm all ears. 
   >   >     > > 
   >   >     > >   Al 
  Venosa >   >     > > 
   >   >     > > 
   >   >     > >   ed nl 
  wrote:  >   >     > 
  >     Thanks for your effort Al. It is very 
  clear, >   >     > > 
   >   >     > 
  >     In one of my earlier posts I posted 
   >   >     > > 
   >   >     > 
  >     // money management block >   
  >     > >     stopLoss = 
  Ref(bbb*ATR(20),-1); >   >     > 
  >     // trade risk >   
  >     > >     tr = 
  IIf(Buy,(stopLoss / BuyPrice),stopLoss /  >   (ShortPrice + 
   >   >     > 
  stopLoss)); >   >     > 
  >     // renormalisation 
  coefficient >   >     > 
  >     rc = 0.02 / tr; >   
  >     > >     // 
  positionsize >   >     > 
  >     PositionSize = rc * -100 >   
  >     > >  >   
  >     > >  >   
  >     > >     it actually 
  gives the same result as your: >   
  >     > >     PositionSize = 
  -2.0 * IIf (Buy,BuyPrice,ShortPrice) /  >   stopLoss 
   >   >     > 
  >     except for short positions. Exact the same it 
  would  be  >   if I  >   
  >     > use: tr = IIf(Buy,(stopLoss / 
  BuyPrice),stopLoss /  >   (ShortPrice)); >   
  >     > >  >   
  >     > >     Unfortunatelly 
  I do not get better results this  way.  >   Using 
   >   >     just  >   
  >     > a simple PositionSize = -10 still gives 
  somewhat better  >   results. >   
  >     > >  >   
  >     > >  >   
  >     > >  >   
  >     > >     rgds, 
  Ed >   >     > > 
   >   >     > > 
   >   >     > 
  >       ----- Original Message ----- 
   >   >     > 
  >       From: Al Venosa  >   
  >     > >       To: 
  amibroker@xxxxxxxxxxxxxxx  >   >     
  > >       Sent: Saturday, December 11, 
  2004 4:19 AM >   >     > 
  >       Subject: Re: [amibroker] PositionSize 
  / Capital >   >     > > 
   >   >     > > 
   >   >     > 
  >       ed nl wrote: >   
  >     > >  >   
  >     > 
  >         Al, >   
  >     > >  >   
  >     > 
  >         but how do you implement 
  the risk factor now? >   >     > 
  >  >   >     > 
  >         ed >   
  >     > >       
  Ed: >   >     > > 
   >   >     > 
  >       Let us suppose you have established 
  your risk as  1%  >   (i.e.,  >   
  >     > the maximum you are willing to lose on a 
  trade). Let us  also  >   >     
  suppose  >   >     > your initial 
  equity is $100,000. So, if the stock you buy  (or  >   
  >     short)  >   
  >     > goes down by the amount based on your 
  system, you lose  only  >   $1000,  >   
  >     > keeping you in the game. Now, let us say you 
  defined your  >   >     
  volatillty- >   >     > based stop 
  in terms of 2*ATR(20), which you incorrectly  >   assigned to 
   >   >     > the variable 
  TrailStopAmount. I say 'incorrectly' because  the  >   
  >     > TrailStop in AB was designed to mimic the 
  Chandelier  exit,  >   which is  >   
  >     > basically a profit target type of stock (it 
  hangs down  like a  >   >     > 
  chandelier from the highest high since the trade was  >   
  initiated, if  >   >     > long). I 
  don't think you want the TrailStop to be your  money  >   
  >     > management stop. Rather, the MM stop is the 
  max stoploss,  >   defined  >   
  >     as: >   
  >     > >  >   
  >     > >       
  StopAmt = 2*ATR(20); >   >     > 
  >       ApplyStop(0,2,StopAmt,1); 
   >   >     > > 
   >   >     > 
  >       So, if your stock declines by 
  2*ATR(20) from your  >   entry,  >   
  >     you  >   
  >     > exit with a 1% loss. Let's take an example. 
  Stock A is  >   selling for  >   
  >     > $40/share. It's ATR(20) is $1/shr or 2.5% of 
  40. Your  stop  >   amount  >   
  >     is  >   
  >     > 2*ATR(20), which is $2/shr. How much stock 
  do you buy?  You  >   simply  >   
  >     > divide your risk, $1000, by 2*1, which is 
  500 shares.  This  >   amounts  >   
  >     to  >   
  >     > an investment of $40/shr * 500 shrs or 
  $20,000. All of  this  >   can be  >   
  >     > coded in one simple line of AFL plus the 2 
  lines above  >   defining the  >   
  >     > MM stoploss: >   
  >     > >  >   
  >     > >       
  PositionSize = -1 * BuyPrice/StopAmt; >   
  >     > >  >   
  >     > >       
  where -1 is 1% of current equity (0.01 * 100,000  or  >   
  $1000),  >   >     > BuyPrice = 
  $40/shr, and StopAmt is 2. Keep in mind that a  >   negative 
   >   >     > sign means 1% of 
  CURRENT equity, which means compounded  >   equity, not 
   >   >     > just a constant initial 
  equity of $100,000. If you carry  >   through 
   >   >     the  >   
  >     > above math with your renormalization 
  coefficient  notation,  >   you wind  >   
  >     > up with the exact same answer. 
   >   >     > > 
   >   >     > 
  >       One more thing. When you place your 
  order,  assuming  >   you are  >   
  >     > trading with EOD data, you do not know what 
  the buyprice  is  >   until  >   
  >     you  >   
  >     > buy the stock, which is the next day. So, 
  what most  traders  >   do is  >   
  >     > base their positionsize on the closing price 
  of the night  >   before  >   
  >     the  >   
  >     > entry. Therefore, to place an order in the 
  evening to be  >   filled in  >   
  >     > the morning at the open, your positionsize 
  statement  would  >   actually  >   
  >     > be: >   
  >     > >  >   
  >     > >       
  PositionSize = -1 * C/StopAmt; >   
  >     > >  >   
  >     > >       
  where C is the closing price on the night before  you  >   
  buy.  >   >     So, 
   >   >     > if you use the code 
  SetTradeDelays(1,1,1,1), then the  above  >   formula 
   >   >     > is OK. However, if you 
  use SetTradeDelays(0,0,0,0), then  you  >   have 
   >   >     to  >   
  >     > ref the C back a day.  >   
  >     > >  >   
  >     > >       
  This is probably more information than you were  >   asking 
   >   >     about,  >   
  >     > but I hope it helps. >   
  >     > >  >   
  >     > >       
  Cheers, >   >     > > 
   >   >     > 
  >       Al Venosa >   
  >     > >  >   
  >     > >  >   
  >     > >  >   
  >     > >  >   
  >     > >   Check AmiBroker web page 
  at: >   >     > >   http://www.amibroker.com/ >   
  >     > >  >   
  >     > >   Check group FAQ at: 
   >   >     >  http://groups.yahoo.com/group/amibroker/files/groupfaq.html 
   >   >     > > 
   >   >     > > 
   >   >     > 
  >         Yahoo! Groups Sponsor 
   >   >     > 
  >               
  ADVERTISEMENT >   >     > 
  >              
   >   >     > 
  >         >   
  >     > 
  >         >   
  >     > >  >   
  >     > >  >   
  >     > > 
  -------------------------------------------------------- ---- >   
  ------ >   >     -- >   
  >     > ---------- >   
  >     > >   Yahoo! Groups 
  Links >   >     > > 
   >   >     > 
  >     a.. To visit your group on the web, go 
  to: >   >     > 
  >     http://groups.yahoo.com/group/amibroker/ >   
  >     > >       
   >   >     > 
  >     b.. To unsubscribe from this group, send an email 
   to: >   >     > 
  >     
  amibroker-unsubscribe@xxxxxxxxxxxxxxx >   
  >     > >       
   >   >     > 
  >     c.. Your use of Yahoo! Groups is subject to the 
   Yahoo!  >   Terms  >   
  >     of  >   
  >     > Service. >   > 
   >   >  >   >  >   > 
   >   >  >   >     
  Check AmiBroker web page at: >   >     
  http://www.amibroker.com/ >   
  >  >   >     Check group FAQ at: 
   >   http://groups.yahoo.com/group/amibroker/files/groupfaq.html 
   >   >  >   >  >   > 
   >   >  >   >  >   
  >   Check AmiBroker web page at: >   
  >   http://www.amibroker.com/ >   
  >  >   >   Check group FAQ at: 
   >   http://groups.yahoo.com/group/amibroker/files/groupfaq.html 
   >   >  >   >  >   
  >         Yahoo! Groups Sponsor 
   >   
  >               
  ADVERTISEMENT >   
  >              
   >   >        
   >   >        
   >   >  >   >  >   > 
  ---------------------------------------------------------------- ---- >   
  ---------- >   >   Yahoo! Groups 
  Links >   >  >   
  >     a.. To visit your group on the web, go 
  to: >   >     http://groups.yahoo.com/group/amibroker/ >   
  >        >   
  >     b.. To unsubscribe from this group, send an email 
  to: >   >     
  amibroker-unsubscribe@xxxxxxxxxxxxxxx >   
  >        >   
  >     c.. Your use of Yahoo! Groups is subject to the 
  Yahoo!  Terms of  >   Service. >  >  > 
   >  >  >   Check AmiBroker web page 
  at: >   http://www.amibroker.com/ > 
   >   Check group FAQ at:  http://groups.yahoo.com/group/amibroker/files/groupfaq.html 
   >  >  >         
  Yahoo! Groups Sponsor 
   >               
  ADVERTISEMENT >              
   >        
   >         >  >  > 
  -------------------------------------------------------------------- ---------- >   
  Yahoo! Groups Links >  >     a.. To visit your 
  group on the web, go to: >     http://groups.yahoo.com/group/amibroker/ >       
   >     b.. To unsubscribe from this group, send an 
  email to: >     
  amibroker-unsubscribe@xxxxxxxxxxxxxxx >       
   >     c.. Your use of Yahoo! Groups is subject to 
  the Yahoo! Terms of  Service.
 
 
 
 
  Check 
  AmiBroker web page at: http://www.amibroker.com/
  Check 
  group FAQ at: http://groups.yahoo.com/group/amibroker/files/groupfaq.html 
  
 
  
  
Check AmiBroker web page at: 
http://www.amibroker.com/ 
 
Check group FAQ at: http://groups.yahoo.com/group/amibroker/files/groupfaq.html
  
 
| Yahoo! Groups Sponsor | 
 
ADVERTISEMENT
 ![click here]()  |  
  | 
 
![]()  |  
 
 
 
Yahoo! Groups Links 
  |