PureBytes Links
Trading Reference Links
|
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@xxxxxxxxxxxxxxx, "Edward Pottasch" <empottasch@xxx>
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@xxxxxxxxxxxxxxx
> 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@xxxxxxxxxxxxxxx, 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@xxxxxxxxxxxxxxx
> <mailto:amibroker@xxxxxxxxxxxxxxx>
> > > *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@xxxxxxxxxxxxxxx
> > > <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
> > >
> > >
> >
>
------------------------------------
**** IMPORTANT ****
This group is for the discussion between users only.
This is *NOT* technical support channel.
*********************
TO GET TECHNICAL 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/
|