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
|
|
|
Yahoo! Groups Links
|