PureBytes Links
Trading Reference Links
|
Al,
the intention indeed was to give more weight to
higher volatile stocks. I understand that this is opposite what volatility
MM trading is all about but that was the whole idea. For my system it gave
better results over the past 3 years (higher risk / higher reward). Still
I am going to stick with the more simple approach (fixed percentage) which
has been far more stable over the past 10 years of backtesting.
rgds, Ed
----- Original Message -----
Sent: Monday, December 13, 2004 12:41
AM
Subject: Re: [amibroker] Re: PositionSize
/ Capital
Ed:
Your formula doesn't make
much sense to me. The term stoploss/ref(C,-1) is simply the volatility of the
stock, expressed as a fraction of the price, times a multiplier. Thus, for a
$50 stock whose ATR is, say, 2 (highly volatile), and if you are using a
multiplier of 2 with an equity of $100 K, then your positionsize statement
specifies that the position size of the trade will be only $8,000 (100,000 *
4/50). For a less volatile stock (one whose ATR is only 1), then your
positionsize would be only $4,000. So, you are allocating less money for less
volatile stocks and more money for more volatile stocks, and the amount
allocated in each case is tiny relative to your equity. This is the opposite
of what volatility-based trading is all about. Did you leave something out?
Al Venosa
ed nl wrote:
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
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
|
|