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 [email protected], "Mike" <sfclimb...@...> wrote: > > --- In [email protected], "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 [email protected], "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: [email protected] > > > 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 [email protected], "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: [email protected] > > > > 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 [email protected], 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:* [email protected] > > > > <mailto:[email protected]> > > > > > > *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 [email protected] > > > > > > <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 > > > > > > > > > > > > > > > > > > > > > > > > > > >
