Well, I wasn't at the front of the queue when the maths processors
were
being installed.
I mainly work on understanding the principles, with a
lot of help
from Excel, and then apply the simplified principles in my own
way.
I do a lot of ad-libbing because no one can provide us with a
complete or persoanlised answer.
Looks like you are pretty happy
with what you already have at your
fingertips.
For academic
interest only:
Use a biased coin, that pays more on heads than
tails.
If you bet on the toss, it seems obvious that you will win, over
time, if you bet on the outcome.
However, ff you flip the coin and
bet all of your stake on heads and
it comes up tails you have lost all o n
the firs bet, so clearly the
amount we bet each toss affects the end
result.
Kelly is the maths used to calc the optimum stake for coin
tossing,
where the amount one or lost is always the same.
It is no
use for trading.
OptimalF calcs return the amount to stake when the
wins and losses
are not all the same.
It is actually the staking
system that gets you back above the water
line in the shortest possible
time.
On one hand it definitely shows us where our stake high enough
because there is no further gain to be had from increasing it.
On
the other hand, trading at optF usually means you will suffer
large
drawdowns and this has put a lot of people off it.
For a more
comfortable drawdown a lof of traders operate at less that
optimum.
Note that the maths isn't hard ... it's accepting the
truth of it and
then actually doing it that is the hard
part.
>Played with clever ways to adapt the position size but never
seen it
>work for me. Complex portfolio type systems I do not like to
trade
>anymore
It is easier than academia makes it look (Fund
Managers have an
entirely different background and brief to
myself).
I hope I have the time in the future to post some easy
methods.
You are probably like me ... better of practising than
theorising.
>the idea Andy posted is very interesting and works
remarkebly well
>for a long only system. Seems this can be made into a
stable
>25%/year return system without using compounding. Long only
systems
>are far less complex to execute in the practice.
That's
very generous of you and Andy to discuss it publicly.
I'll have another
look at it.
Cheers,
brian.
--- In amibroker@xxxxxxxxxps.com,
"Edward Pottasch" <empottasch@...>
wrote:
>
> hi
Brain,
>
> Have to admit I am not smart enough for stuff Ralph
Vince is
talking about. Optimal f etc. never really understood how to use
it
(as if I understood it at all). The Kelly principle is as far as I
got but how to use it in trading? Money management which I used when
I
was trading a portfolio type EOD system was simply put 3% of the
account
in each trade and no margin. Played with clever ways to adapt
the position
size but never seen it work for me. Complex portfolio
type systems I do
not like to trade anymore, although the idea Andy
posted is very
interesting and works remarkebly well for a long only
system. Seems this
can be made into a stable 25%/year return system
without using
compounding. Long only systems are far less complex to
execute in the
practice.
>
> Would like to have a look in the kitchen how the
real quants
operate, like Simons of the Renaissance Hedge fund. The guy is
a
mathematician but I believe these days these guys make money by
simple making the market. If you make the market you know where it is
heading :)
>
> regards, Ed
>
>
>
>
>
> ----- Original Message -----
> From:
brian_z111
> To: amibroker@xxxxxxxxxps.com
> Sent: Saturday, January 31, 2009 5:05 AM
> Subject: [amibroker]
Re: Sell and Buy on different days
>
>
> Mike and
Ed,
>
> Thanks for your feedback.
>
> You guys sure
got me thinking.
>
> Thanks for your perserverance also .... I
realise that my tenses
are
> wobbling and the logic fades in and
out a little ... my work
contains
> more errors than it would if I
wrote the book formally.
>
> A little more ..
>
>
....referencing my previous matrix example.
>
> My comments so
far have assumed that the trade samples are
> independent.
>
> If we had 100 Eq at the end of day 3 then the outcome, after day
> four, would equal the mean of the GF's for each simultaneous
trade
> e.g.
>
> ... going back to the future ... on
day 4 we take option 1 ...
record
> the result and then go back and
take option 2 etc, being careful
to
> do everything exactly the
same except for the X,Y,Z selection ...
> then compare:
>
> day 4
> eq 100
>
> GrowthFactor, Eq
>
> X 1.05, 100 -> 105
> Y 0.98, 100 -> 98
> X 1.02,
100 -> 102
>
> ave GF == 1.016repeat, ave eq == 101.6
repeat
>
> OR nominally, in the time warp, we had 300 and now
have 305
>
> and 305/300 == GF 1.016repeat for the
period
>
> If they are independent trades then we throw them in
the bucket
with
> the a -> i samples.
>
> a -> i
and X,Y,Z are just time markers, like buttons on a game
board,
>
and we have to turn them over to find their trade value.
>
> If
we do that a massive number of times, tending to oo, the
outcome,
>
for each box in the matrix, will tend to the mean value of all
> trades
... even on day four, which will just approach the mean
more
>
quickly than the other time slots.
>
> (if we want to imagine
this we can picture the 10 box matrix
> repeating itself end to end
infinitely and the trades falling
into
> the empty boxes
sequentially ... since time is constant there is
no
> reason not to
do this ... it is the values in the boxes that have
> variance and are
non-stationary and not the sample space).
>
> The proof is that
after massive sampling, if we transpose the
indexed
> array back
and stack the 10 box submatrices on top of each other,
and
> then
average the columns + calc the StDev, they would all be the
mean
>
trade +- variance
>
> Note that since the trade samples do not
necessarily have a
normal
> dist we need to do some random sampling
first, and then apply a
> distribution to the newly selected sample
space, which produces a
> kind of psuedo mean distribution for the
trade sample set (MCS
just
> does this for us automatically so we
tend not to notice that step
> whereas in BS I do that first).
>
> Considering correlation of simultaneous trades:
>
> -
using EOD as the simplest example (in any case trades must be
on
>
the same bar or they would not be simultaneous)
> - trading long only (a
bull system)
> - it might happen that on a market bull day you get more
signals
and
> more wins
>
> day. 1, 2, 3, 4
>
market. bear, bear, bear, bull
> P or L. loss, loss, loss, 10 trades all
win
>
> So we are up 10/3 wins/losses but the market itself is
1/3
>
> Looking at the staking if you bet fixed fraction:
>
> - losing some eq initially,
>
> bet. 110,105,100 then
100/10 is bet on each trade and the outcome
is
> the ave result of
the 10 trades.... as an aside this needs to be
ave
> == 10% to get
us back to the start eq of 110.
>
> Effectively we have achieved
the result of the ave trade i.e. it
is
> as if we only made one
trade in real terms.
>
> So, if correlation , between
simultaneous trades, exists then we
> could count it as one trade and
only throw one win in the freq
dist
> bin and give it a value of
the ave trade for the bar.
>
> On the other hand, the reverse
could hold i.e. on market bear
days we
> could get 10 signals that
are all losses to our bull system, and
thus
> happily balance the
books.
>
> We also have to ask ourselves, "Why not just trade the
market and
not
> worry about correlation"?
>
> It
is also possible that horizontal correlation (dependency) can
> occur
in the trade matrix ... RalphVince gives the calcs to
handle
> that
situation in his books... certainly on google as well.
>
> BTW I
agree with you that we need to think about the implications
of
>
the BT alphabetically selecting symbols to trade and being bound
by
> eq limits.
>
> --- In amibroker@xxxxxxxxxps.com,
"brian_z111" <brian_z111@>
wrote:
> >
> > O.K
Mike ... you live and learn :-)
> >
> > Possibly
correlation, or NOT, of simultaneous trades to the
market,
> >
or sector, is a related subject ... didn't discuss that detail
in
>
> relation to my X,Y & Z example .. that is where trade sample
space
> > anlaysis can provide the answer.
> >
>
>
> >
> > --- In amibroker@xxxxxxxxxps.com,
"Mike" <sfclimbers@> wrote:
> > >
> > > ---
In amibroker@xxxxxxxxxps.com,
"brian_z111" <brian_z111@>
> wrote:
> > >
>
> > > > > In any case it could be traded if you
organise your funds
in
> > such
> > > a
>
> > > >way that all symbols in your list can be held
simultaneously.
> > > >
> > > > That isn't
really practical and we can calculate very
accurate
> > >
> predictions, subject to variance and non-stationarity,
before
> we
> > > risk
> > > > our money.
>
> >
> > > Why impractical? I have been doing exactly that,
profitably,
for
> > just
> > > under 2 years. There
is much room for experimentation in
exactly
> > how
>
> > the funds get distributed among the signals. But, even a
simple
> > equal
> > > division of equity between all signals
(up to a fixed maximum
> > > percentage of equity per trade in
the event that there are
few
> > > signals) can prove
profitable when applied to a strategy.
> > >
> > >
Mike
> > >
> > >
> > > > >there
are a lot of additional problems that arise like an
> > >
uncomplete
> > > > >database during testing
> >
> >
> > > > You can't get a good result out of a bad
database.... just
> avoid
> > > > trades were you can't
get the data you need.
> > > >
> > > >
>
> > > >Not sure if a random selection on an extended list for
testing
> > > > >purposes is reliable. Who knows in the
practice you will
find
> > that
> > > > >the
signals that come early during the trading session
usually
> >
are
> > > > >loosers. This could be tested however using
intraday data,
> > > >
> > > >
> >
> > Yes it is reliable, in fact it is the only way that it can
be
> > done.
> > > >
> > > > Returning
to the example in my previous post:
> > > >
> > >
> a b c X d e f g h i
> > > > a b c Y d e f g h i
>
> > > a b c Z d e f g h i
> > > >
> > >
> The XY & Z samples were produced by the same system (same
>
rules)
> > as
> > > > the a -> i samples, so they
are part of the same series and
> share
> > > the
>
> > > same profile (frequency distribution and
probabilities).
> > > >
> > > > If you
have a list of trades for an EOD system and then
want to
> >
find
> > > > out if the intraday time affects the result then
you are
> ranking
> > > your
> > > > daily
signals using an intraday factor and you have to add
at
> >
least
> > > > one more trading rule to do that.
> >
> >
> > > > This is effectively a new system and it will
produce its
own
> > trade
> > > > series , with
it's own characteristics.
> > > >
> > > > As
always, if we do analyse the trade sample space, we have
to
> >
make
> > > > sure we are left with enought samples to provide
a valid
sample.
> > > >
> > > > NEW RULE ==
NEW SYSTEM == NEW AND UNIQUE TRADE SERIES
> > > >
> >
> >
> > > > --- In amibroker@xxxxxxxxxps.com,
"Edward Pottasch"
> <empottasch@>
> > > >
wrote:
> > > > >
> > > > > In any case it
could be traded if you organise your funds
in
> > such
>
> > a
> > > > way that all symbols in your list can be
held
simultaneously.
> > EOD
> > > > systems are
tricky though since there are a lot of
additional
> > > >
problems that arise like an uncomplete database during
testing
>
> > (ENRN,
> > > > WCOM etc missing), no shorts
available during trading. Not
sure
> > if a
> > >
> random selection on an extended list for testing purposes
is
>
> > > reliable. Who knows in the practice you will find that the
> > signals
> > > > that come early during the
trading session usually are
loosers.
> > This
> > >
> could be tested however using intraday data,
> > > > >
> > > > > regards, Ed
> > > > >
>
> > > >
> > > > > ----- Original Message -----
> > > > > From: Mike
> > > > > To: amibroker@xxxxxxxxxps.com
> > > > > Sent: Thursday, January 29, 2009 10:32 PM
>
> > > > Subject: [amibroker] Re: Sell and Buy on different
days
> > > > >
> > > > >
> >
> > > Ha ha.
> > > > >
> > > > >
Just goes to show how people can get tunnel vision
> sometimes.
> > > > Since I
> > > > > do a lot of
custom backtester code, I immediately
suggested
> > > >
filtering
> > > > > at that level.
> > > >
>
> > > > > But, your suggestion of a random value for
PositionScore
> > > directly
> > > > > would
be far easier and less prone to coding error.
> > > > >
> > > > > Mike
> > > > >
> >
> > > --- In amibroker@xxxxxxxxxps.com,
"Edward Pottasch"
> > > <empottasch@>
> >
> > > wrote:
> > > > > >
> > > >
> > you are right on this Mike. Testing a system like this
> >
using a
> > > > > random positionscore is a good indication
if it can be
made
> > into
> > > > a
>
> > > > system that can be used in the practice. Andy has an idea
> > that
> > > is
> > > > > tough to
execute but not impossible in my opinion,
> > > > > >
> > > > > > regards, Ed
> > > > > >
> > > > > >
> > > > > >
>
> > > > >
> > > > > >
> > >
> > > ----- Original Message -----
> > > > > >
From: Mike
> > > > > > To: amibroker@xxxxxxxxxps.com
> > > > > > Sent: Thursday, January 29, 2009 8:37
PM
> > > > > > Subject: [amibroker] Re: Sell and Buy on
different days
> > > > > >
> > > > >
>
> > > > > > Andy,
> > > > > >
> > > > > > Use caution when backtesting EOD strategies
where there
> are
> > > > more
> > > >
> > signals than there are funds or positions to be filled;
> >
> > > >
> > > > > > If your strategy is to
buy OCA, what logic are you
> putting
> > in
> >
> > > place to
> > > > > > determine which
symbol to buy when multiple symbols hit
> > your
> > >
> limit
> > > > > > order on the same bar?
>
> > > > >
> > > > > > Since you are using
EOD data, you have no idea which
> symbol
> > > > would
> > > > > have
> > > > > > hit the
limit order first. You only know that x of y
> > symbols
>
> > > hit
> > > > > the
> > > >
> > limit order on that day.
> > > > > >
>
> > > > > AmiBroker will just select the first in the list
> > > > (alphabetically?
> > > > > ). As
> > > > > > such, your backtest results will be heavily
biased in
> favor
> > of
> > > > > that
> > > > > > ordering and will not reflect live trading
results.
> > > > > >
> > > > > >
Generally, PositionScore can be used to influence
> ordering.
>
> > > But,
> > > > > an
> > > >
> > OCA approach by definition does not follow
PositionScore.
> > > > > >
> > > >
> > So, you might want to modify your custom backtester
code
> to
> > > > > randomly
> > > > >
> select from the available signals and set the remaining
> >
ones
> > > to
> > > > > > PosSize 0 in
order to override the default
> prioritization.
> > > Then
> > > > > run
> > > > > > your
backtest many times and take the average of the
> > results
>
> > as
> > > > a
> > > > > best
> > > > > > guess estimate (i.e. Monte Carlo
Permutations)
> > > > > >
> > > > >
> Mike
> > > > > >
> > > > > >
--- In amibroker@xxxxxxxxxps.com,
Andrew Senft <senft@>
> > wrote:
> > > > >
> >
> > > > > > > Hey Ed,
> > > >
> > >
> > > > > > > Thank you so much for
the code on the Amibroker Yahoo
> > group
> > > >
> board!
> > > > > > It
> > > > >
> > seems to be working from what I've seen so far. I'm
> doing
> > an
> > > > > > > optimization on that
particular code (your first
code)
> > right
> > >
> > now.
> > > > > > >
> > > >
> > > The second code (the one from your email) didn't
work.
> > That
> > > > is,
> > > > >
> there
> > > > > > > were sales of one stock and
buy of another stock on
the
> > same
> > > >
> day.
> > > > > > Not
> > > > >
> > sure what your code was doing but it gave a lot
bigger
>
> > > profits
> > > > > using
> > >
> > > the
> > > > > > > backtester. Could
you comment on this please?
> > > > > > >
>
> > > > > > Mind you that this is my first attempt to
writing
code
> > for
> > > > any
> >
> > > stock
> > > > > > > type software. I'm
still using the 30 day free trial
of
> > the
> > >
> > > Amibroker
> > > > > > > software but I
think that I'm getting closer as I'm
> > chugging
> > >
> > along.
> > > > > > >
> > > >
> > > My agenda is to use this on a basket of ETF's.
Perhaps
> 10
> > to
> > > > 20
> > >
> > > or
> > > > > > > so. Not sure how many
I need since the 30 day trail
> > > backtests
> > >
> up
> > > > > > to a
> > > > >
> > basket of 5 stocks. My idea is to place the possible
> >
stock
> > > > > trades
> > > > > >
> using the whole basket of ETF stocks at night for the
> > next
> > > > > trading
> > > > > > >
session. I have an IB account so I figure I could use
> an
>
> OCA
> > > > > limit
> > > > > >
> order. Basically whenever a trade gets hit first
(meets
> >
the
> > > > > limit
> > > > > > price
> > > > > > > level), it trades. The other possible
trades all get
> > > canceled
> > > > > right
> > > > > > > away. So one trade actually goes
through for the day.
> > > > > > >
> > >
> > > > BTW, I like ETF's because the drawdowns are not as
> > scary....
> > > > > okay,
> > >
> > > > usually not as scary. Ha! I've been backtesting
with:
> > > > > > >
> > > > > >
> QQQQ, DIA, SPY, MDY, IWM
> > > > > > >
>
> > > > > > Thank you again!
> > > > >
> >
> > > > > > > Andy
> > > >
> > >
> > > > > > > Edward Pottasch
wrote:
> > > > > > > >
> > > > >
> > > Andy,
> > > > > > > >
> >
> > > > > > I have sent an alternative solution to your
private
> > Email.
> > > > Let
> > >
> > me
> > > > > > know
> > > >
> > > > if you received it.
> > > > > > >
>
> > > > > > > > Ed
> > > >
> > > >
> > > > > > > >
> >
> > > > > >
> > > > > > > > -----
Original Message -----
> > > > > > > > *From:* Andy
<mailto:senft@>
> > > > > > > > *To:* amibroker@xxxxxxxxxps.com
> > > > > > <mailto:amibroker@xxxxxxxxxps.com>
>
> > > > > > > *Sent:* Thursday, January 29, 2009 12:40
PM
> > > > > > > > *Subject:* [amibroker] Re: Sell
and Buy on
different
> > days
> > > > > >
> >
> > > > > > > > This is got to be a very
simple task but
> unfortunately
> > > > > >
AmiBroker told
> > > > > > > > me that I would have
to write Backtester Interface
> code
> > > for
>
> > > > > this. I'm
> > > > > > > >
sure this has been done a million times. Anyone
have
> > >
sample
> > > > > > code?
> > > > >
> > > I'm using EOD data to trade one stock at a time
from
> a
> > > > basket
> > > > > >
of
> > > > > > > > stocks. The problem is that a
selling of a stock
can
> > occur
> > > > on
> > > > > > the
> > > > > > >
> same day as a buy of *another* stock. Of course the
> > >
problem
> > > > is
> > > > > >
that
> > > > > > > > the sell trade can occur after
the buy trade.
> > > > > > > >
> > >
> > > > > --- In amibroker@xxxxxxxxxps.com
>
> > > > > > >
<mailto:amibroker%40yahoogroups.com>, "Andy"
<senft@>
> > > wrote:
> > > > > >
> > >
> > > > > > > > > How do I fix
the below code so it doesn't buy a
> > > different
> >
> > > > stock on a
> > > > > > > > >
sell day?
> > > > > > > > >
> > >
> > > > > >
--------------------------------------------------
--
>
--
> > --
> > > > > > > > > //
Backtester Options
> > > > > > > > >
SetOption("MaxOpenPositions", 1 );
> > > > > >
> > > SetOption("AllowSameBarExit", False);
> >
> > > > > > >
> > > > > > > >
> // Optimization numbers
> > > > > > > > >
BuyPeriod = Optimize("BuyPeriod",16,10,20,2);
> > > >
> > > > > BuyFactor =
Optimize("BuyFactor",1.2,0.5,1.5,.1);
> > > > >
> > > > SellPeriod =
Optimize("SellPeriod",20,10,20,2);
> > > > > >
> > > SellFactor =
Optimize
("SellFactor",0.8,0.5,1.5,.1);
> > > >
> > > > >
> > > > > > > > > //
ATR formulas
> > > > > > > > > TodaysBuyTarget =
High - BuyFactor * ATR
(BuyPeriod);
> > > > > > >
> > YesterdaysBuyTarget = Ref(High,-1) - BuyFactor *
> > >
> > > > > Ref(ATR(BuyPeriod),-1);
> > > >
> > > > > YesterdaysSellTarget = Ref(Low,-1) + SellFactor
*
> > > > > > > >
Ref(ATR(SellPeriod),-1);
> > > > > > > >
>
> > > > > > > > > // Buy/Sell signals and
prices
> > > > > > > > > Buy =
YesterdaysBuyTarget > Low;
> > > > > > > > >
BuyPrice = IIf(YesterdaysBuyTarget > Open, Open,
> > >
> > > > > YesterdaysBuyTarget);
> > > >
> > > > > Sell = YesterdaysSellTarget < High;
>
> > > > > > > > SellPrice =
IIf(YesterdaysSellTarget < Open, Open,
> > > > >
> > > YesterdaysSellTarget);
> > > > > >
> > > Buy = ExRem(Buy,Sell);
> > > > > >
> > > Sell = ExRem(Sell,Buy);
> > > > > >
> > >
> > > > > > > >
> > >
> > > > >
> > > > > > > >
----------------------------------------------------
--
>
--
> > --
> > > > > > ------
> > >
> > > > >
> > > > > > > >
>
> > > > > > > No virus found in this incoming
message.
> > > > > > > > Checked by AVG - http://www.avg.com
> > > >
> > > > Version: 8.0.176 / Virus Database: 270.10.15/1921 -
> > > Release
> > > > > Date:
> >
> > > > 1/28/2009 6:37 AM
> > > > > > >
>
> > > > > > > >
> > > > >
> >
> > > > > >
> > > > >
>
> > >
> > >
> >
>