[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: TJ: tick charts, historical data



PureBytes Links

Trading Reference Links

Tomasz,

You're right. Sorry, I missed that bit. Which means we agree upon 
that.
But even to create charts of bars of larger # of ticks, or to 
backtest on larger # of ticks, one would always need a *true* tick by 
tick database. A 5 sec database could never replace that. *Unless* 
when compressing, each 5 sec bit would contain information on how 
many ticks it originally contained. When a choise for a certain # of 
ticks is made, this information would be taken into calculation, so 
that you get a process of de-compressing too. Only in this way you 
could come close to a "true" tick database, without the problems it 
would impose as you described earlier.

Maybe there are practical reasons why this would not work very well, 
I don't know, I've only just discovered tick bars, so I can't say a 
lot more about it, except that it seems logical to do it this 
way.

For AB it's a long term thing and certainly not responding to 
everybody's needs (in fact I'm not sure myself if I will stick to 
tick bars forever, but I know many people do), but maybe it's 
something for, say, v5.00+ ?

Give it some thought (if it makes sense to you).

Regards,

Ralph





--- In amibroker@xxxx, "Tomasz Janeczko" <amibroker@xxxx> wrote:
> Ralph,
> 
> You missed one important thing:
> I wrote:
> "Frankly I am not big fan of backtesting on single tick data"
> 
> SINGLE TICK data - not N-tick bars.
> ==========
> 
> Tick bars are compressed as interval bars are and
> they provide similar smoothing therefore less "noise".
> 
> Best regards,
> Tomasz Janeczko
> amibroker.com
> ----- Original Message ----- 
> From: "allm4m" <allm4m@xxxx>
> To: <amibroker@xxxx>
> Sent: Friday, October 04, 2002 10:03 AM
> Subject: [amibroker] Re: TJ: tick charts, historical data
> 
> 
> > Hello Tomasz,
> > 
> > Thank you for elaborating on this matter. Gives us some more 
insight 
> > on the special nature of tick data. Thanks Sean for bringing it 
up.
> > 
> > One more thing about it:
> > Although I'm rather sceptical about backtesting and especially 
> > optimizing in general, I don't quite see why backtesting on tick 
data 
> > would be less reliable than on interval data. Well, if you 
(could) 
> > optimize for an exact number of ticks in a bar, yes that would be 
a 
> > clear example of "curve fitting". But other than that I would say 
> > that the boundaries (O,H,L,C) of any bar are always a bit 
arbitrary: 
> > if a bar had closed three seconds later (e.g. due to a slow 
computer 
> > clock), the bar would be different, but it would not make much 
> > difference for the whole picture of trend and momentum.
> > 
> > When using tick bars, the same thing happens (as you know): in an 
> > equally *arbitrary* way, the beginning and ending of a bar are 
> > determined. The only difference is that the criterium for 
determining 
> > is not the amount of time elapsed, but a particular # of bars 
having 
> > occurred. As soon as you have chosen your tick #, the noise is 
taken 
> > out. Only the "smoothing" is done in a different way, but it's 
being 
> > done just as much as in an interval chart.
> > 
> > I'm not talking about bars with very low # of bars of course or 
very 
> > low liquidity stocks, then it may be a different matter. But 
working 
> > with say, 50, 100, 200 and 500 tick charts on liquid securities, 
> > should not be less reliable in backtesting (or chart study) than 
say, 
> > 1, 5, 15 min bars charts.
> > At least I fail to see why it could be.
> > 
> > So for the near future, I'm happy with your promise of raising 
the 
> > 100000 bar limit. On a longer time frame you might consider a way 
> > for "true" tick importing from ASCII. Despite huge file sizes and 
> > resource problems, I think it would be appreciated by more people.
> > 
> > Regards,
> > 
> > Ralph
> > 
> > 
> > 
> > 
> > 
> > --- In amibroker@xxxx, "Tomasz Janeczko" <amibroker@xxxx> wrote:
> > > Hello,
> > > 
> > > > I have the realtime version but not with a eSignal feed. With 
> > eSignal 
> > > > can you request historical tick data from their servers? If 
so, 
> > how 
> > > > much can you load into AB?
> > > >
> > > Yes eSignal plugin provides tick histories. There is a limit of 
10 
> > days
> > > of tick data and 100000 bars currently. The 10 days limit is 
imposed
> > > by eSignal tick server, 100000 bars limit is imposed by 
Database 
> > settings
> > > window in AmiBroker. Since I have been asked to increase it
> > > - I will do that in the next beta. 
> > > 
> > > 
> > > > Given the ascii import limitation how is a person supposed to 
go 
> > > > about realistically backtesting longer amounts of tick data, 
> > > > especially if eSignal doesn't provide access to large amounts 
of 
> > > > historical tick data? For running the system, eSignal would 
be 
> > fine, 
> > > > but unless you can request severals months or longer worth of 
> > tick 
> > > > data from eSignal how could you possibly back test?
> > > 
> > > As written above eSignal provides max. 10 days of tick-by-tick 
data.
> > > Frankly I am not big fan of backtesting on single tick data.
> > > There are several reasons for this: 
> > > a) tick data for one day can be 1MB or more. Several months
> > > of tick data will sum up to more than 100MB of data. This
> > > will slow down backtesting very much.
> > > b) there is much less probability that system backtested on tick
> > > data will ever work in reality. This is due to the fact that 
tick 
> > data
> > > represent much more "noise" than interval data that represent 
some 
> > kind
> > > of "smoothed" market response. Backtesting and optimization
> > > systems on tick data is much more prone to curve-fitting and 
over-
> > optimization.
> > > Also backtesting system on tick data is bad idea because 
> > > it gives you false feeling that you can trade on every tick.
> > > In reality we have to face slippage, order routing delays and 
other 
> > problems
> > > that make backtesting on single tick data much less reliable
> > > than testing interval data. 
> > > 
> > > > 
> > > > I also don't understand why their is a difference between the 
way 
> > > > ascii importer works and the eSignal plugin. Is the eSignal 
data 
> > > > compressed in the same way as the ascii importer data or not?
> > > No. 
> > > The difference comes from the fact that plugin architecture is 
> > completely
> > > different from what ASCII importer does.
> > > Plugin cares about the data and provides ready-to-use 
> > > quote array to AmiBroker. 
> > > AmiBroker just uses it without any transformation.
> > > 
> > > ASCII importer is quite different - it reads the input file 
line by 
> > line
> > > and matches date and time values read to records already 
present in 
> > the AmiBroker
> > > database - if a matching record (for the same date/time) is 
found
> > > new data overwrite existing record and no new record is added.
> > > 
> > > Now consider tick data. Tick data very often contain multiple 
> > records
> > > for the same hour:minute:second. No data feed provides more 
> > resolution
> > > than ONE second so multiple trade records occur for the same 
second.
> > > With plugin architecture - such records are passed directly to 
> > AmiBroker
> > > and it accepts multiple records with the same date/time.
> > > 
> > > Using ASCII importer - you can not import multiple records for 
the 
> > same
> > > symbol, date and time because once data because matching record
> > > overwrites existing one so if you try to import 5 records 
having 
> > the same time
> > > one will overwrite another and only one (the last one) will 
remain.
> > > 
> > > This behaviour is required by 99.9% users because people want
> > > to re-import their data (with probable data fixes) and want new 
> > data to
> > > overwrite old data.
> > > Also ASCII importer does not imply any ordering of data thanks
> > > to this matching mechanism. You can import year 2001 then 1998 
then
> > > 2002 then 1999 and everything will work OK.
> > > 
> > > Allowing multiple records per same date/time will force you to
> > > "assume" some rule to distinguish and order such records.
> > > You would need to assume that new record is newer or older than
> > > the previous one with the same date/time. 
> > > 
> > > Now with eSignal plugin this is not a problem because
> > > eSignal builds up entire quote array - it is aware of multiple
> > > records per same second and nows about the correct order since
> > > eSignal servers return tick histories in correct order.
> > > 
> > > > 
> > > > I understand that you don't officially support tick data 
charting 
> > > > without the eSignal plugin, but please appreciate that I am 
> > > > attempting to backtest here. I really am not currently 
concerned 
> > with 
> > > > realtime tick charting. When I get to the point of running my 
> > > > systems, then maybe, but not now. I also understand that you 
only 
> > > > have so much time and that you can't go supporting every 
crazy 
> > > > project of every person that buys your software. I am ALL FOR 
> > going 
> > > > about this myself, but please appreciate the fact that there 
is 
> > > > nothing at all in the help files about tick charting or the 5 
> > second 
> > > > issue with ascii import.
> > > I agree that I didn't write that exactly but I did write that 
> > > only RT version supports tick, 5-sec, 15-sec and I did write 
that
> > > you need eSignal subscription. 
> > > 
> > > I will be publishing data feed plugin API soon with a sample
> > > code and I will think about adding a section how to implement
> > > plugin that reads ASCII tick data.
> > > 
> > > As I explained above - the special nature of tick data 
(multiple 
> > records
> > > for the same second) - make it different story to import it 
from 
> > ASCII file
> > > 
> > > Best regards,
> > > Tomasz Janeczko
> > > amibroker.com
> > 
> > 
> > 
> > Post AmiQuote-related messages ONLY to: amiquote@xxxx 
> > (Web page: http://groups.yahoo.com/group/amiquote/messages/)
> > 
> > Check group FAQ at: 
http://groups.yahoo.com/group/amibroker/files/groupfaq.html 
> > 
> > Your use of Yahoo! Groups is subject to 
http://docs.yahoo.com/info/terms/ 
> > 
> > 
> >