Jump to content

Welcome to the new Traders Laboratory! Please bear with us as we finish the migration over the next few days. If you find any issues, want to leave feedback, get in touch with us, or offer suggestions please post to the Support forum here.

  • Welcome Guests

    Welcome. You are currently viewing the forum as a guest which does not give you access to all the great features at Traders Laboratory such as interacting with members, access to all forums, downloading attachments, and eligibility to win free giveaways. Registration is fast, simple and absolutely free. Create a FREE Traders Laboratory account here.

UrmaBlume

Trade Intensity

Recommended Posts

Contracts traded are contracts traded..... the total over the same time period have to be the same no matter how you view it..... don't they ?

 

I think I'm with darthtrader, especially after visiting their website..... I smell a rat.

 

Dean.

 

well I don't really agree with this...Look at the difference between TWAP and VWAP...the fact there is a big difference is obviously quite important if your taking things to this level.

Thats why all these "VSA" threads on here to me are laughable...there should be no difference between TWAP/VWAP...else you assume things that are obviously false.

Share this post


Link to post
Share on other sites
Contracts traded are contracts traded..... the total over the same time period have to be the same no matter how you view it..... don't they ?

I like to give people the benefit of the doubt but I think I'm with darthtrader, especially after visiting their website..... I think I smell a rat.

 

Dean.

 

The volume histogram would of course look the same but a histogram of the intensity/rate of trade would not and this calculation requires more granularity of time than is avialable in TS.

Share this post


Link to post
Share on other sites

So what kind of chart would show this kind of action? A 1s chart? A 100ms chart? 10ms? Because, while TS doesn't support these types of intervals, feeds like Zenfire might come close enough.

Share this post


Link to post
Share on other sites
So what kind of chart would show this kind of action? A 1s chart? A 100ms chart? 10ms? Because, while TS doesn't support these types of intervals, feeds like Zenfire might come close enough.

 

Atto,

 

Thank you, I appreciate the thought that goes into your posts.

 

This post, however, still misses the essence of measuring trade intensity.

 

Very short term time charts would just show a succession of trades - no spikes as most of this trade is broken down into small sizes anyway. The same would go for constant volume bars.

 

During a 1 minute bar trade intensity may spike to 100,000 contracts per minute (and does several times per day) even though only a few thousand contracts were traded during that minute. Volume in this bar did not spike, intensity did. This concept scales both up and down with either time or volume.

 

In the emini S&P trade averages about 5 - 6,000 contracts per minute during the day session. This trade is not evenly distributed throughout the day.

 

For the sake of this example - We have 2 charts - a 1 minute chart and a 5k contract bar chart. Without regard to price, trade is flowing at a steady 5k contracts per minute.

 

Volume Bars are all even, all averages of volume are flat. Now if 2k of the 5k contracts traded inside one of these bars trades at a very fast rate then there will be a huge spike in our measure of trade intensity but no spikes in any other traditional measure of volume.

 

As soon as Trade Station and other packages achieve better time granularity traders will be able to plot a host of more relevant indicators of trade flow and we know of no better indicators or motivators of price change than the flow of trade.

Share this post


Link to post
Share on other sites

Yeah, I'm sure I understand your concept (of intensity). However, I was simply asking what kind of interval could capture this stuff. For example, I trade on NinjaTrader with ZenFire for data, which gives very good live tick data. It seems as though this "retail" feed would work just fine, as I get the actual ticks. From there, it would be rather trivial to write a Ninja strategy that uses the tick data to gauge intensity my measuring how fast the ticks are coming in against a fast clock (such as a 100ms timer). Am I missing something?

Share this post


Link to post
Share on other sites
Yeah, I'm sure I understand your concept (of intensity). However, I was simply asking what kind of interval could capture this stuff. For example, I trade on NinjaTrader with ZenFire for data, which gives very good live tick data. It seems as though this "retail" feed would work just fine, as I get the actual ticks. From there, it would be rather trivial to write a Ninja strategy that uses the tick data to gauge intensity my measuring how fast the ticks are coming in against a fast clock (such as a 100ms timer). Am I missing something?

 

Any interval can capture intensity - the point is that it must be measured outside the bar and imported. As shown a 1 minute or 30 second bar could very easily show normal volume yet contain a huge spike in intensity.

 

When using ticks you must remember to consider the size of the tick and not just the number of ticks.

 

Using a 100ms timer and volume flow could definetly produce a useable measure of trade intensity. We measure this intensity via 3 different algorithms.

 

cheers

Share this post


Link to post
Share on other sites
Yeah, I'm sure I understand your concept (of intensity). However, I was simply asking what kind of interval could capture this stuff. For example, I trade on NinjaTrader with ZenFire for data, which gives very good live tick data. It seems as though this "retail" feed would work just fine, as I get the actual ticks. From there, it would be rather trivial to write a Ninja strategy that uses the tick data to gauge intensity my measuring how fast the ticks are coming in against a fast clock (such as a 100ms timer). Am I missing something?

 

I thought much the same. I would present the high intensity and low intensity value of the 'sample period' or bar. I guess the peak intensity of that sample period is the thing most would be interested in. Possibly how long it was sustained above a threshold would be interesting.

 

Darth I know the 'why tradestation' question wasn't addressed to me but you gotta love how quick and easy it is to prototype stuff (well I do at least).

Share this post


Link to post
Share on other sites

UrmaBlume,

 

The timer resolution of Windows machines is about 16 milliseconds. The jitter of the packets in an internet connection is at least 10-20 milliseconds. How do you deal with or avoid issues coming from the millisecond frequency?

Share this post


Link to post
Share on other sites
Any interval can capture intensity
I take this comment as meaning it's time frame independent and instead of dealing with micro seconds one could use such information for larger intraday moves or swings? Is this statement correct and if so, have you done any research on the larger interval "intensity spikes"? If you have, could you post some charts? Thanks.

Share this post


Link to post
Share on other sites

Interesting thread.

 

As it turns out, I've been working on an NT indicator in C# to track "trade intensity" in a way that may be similar to what is described in this thread, actually bid - ask volume delta, i.e. derivative of volume delta: d_Delta/dt.

 

I'd be curious to know what UrmaBlume and other's opinions are on a suitable time interval. So far I have been tracking on a per bar interval on very fast constant volume charts but I don't feel this is fine enough resolution to really see the spikes. Still a work in progress.

Edited by Pepperdog

Share this post


Link to post
Share on other sites

Hey UrmaBlume,

 

thanks for sharing this indicator. I am not sure whether I have correctly understood how you actually calculate 'trade intensity', so can you please correct me if my interpretation is wrong on how you calculate this:

 

- You calculate the time span between to the current trade and the previous trade (that's why no latency is so important)

- You then divide the number of contracts of this trade traded by this time span. For example, 40 contracts were traded after just 0.0001 minutes (=0.06 = 60 milliseconds). So you do 40 / 0.0001 = 40.000. That would mean that the 'trade intensity' would be 40.000 contracts per minute.

 

What I am now wondering is how you you summarize this information for all trades that occur in 1 minute. Do you have one bar for each second that is the average of the 'trade intensities' in that second?

Share this post


Link to post
Share on other sites

Well I was feeling a bit bored this morning so I knocked up something in Ninja. With the results I got I feel that you might be doing a bit of smoothing after you have processed the data? I found that the Intensity can slam around a bit.

 

Agekay my hunch is that the two histograms (in UB's charts) show peak trade intensity and lowest trade intensity for the bar - max and min values if you like. Could be wrong there. Anyway it seems that the peaks are what is interesting.

 

Here's a couple of squished up charts. The 'saw tooth' is interesting this is an artefact due to data arriving with the same delta time. I chose to add this hence the saw tooth what I really should do is reset it on a new bar. Just messing around really.

5aa70eaba68e1_ES03-0927_01_2009(100Volume)2.thumb.jpg.4db970f9e455c3ebd48f3afbca1f0482.jpg

5aa70eabae6ed_ES03-0927_01_2009(100Volume)3.thumb.jpg.0ee84f258725863924801a6932f9536e.jpg

Share this post


Link to post
Share on other sites

Me too, I whipped one up using AgeKay's formula and averaged the trade intensities over the bar.

 

Here are the millisecond differences of a bunch of ticks. I assume the ones with 3-7 ms differences are trades that happen one after another.

 

3.0003

0

3.0003

3.0003

49.0049

3.0003

3.0003

3.0003

3.0003

2.0002

7.0007

3.0003

3.0003

3.0003

6.0006

3.0003

4.0004

3.0003

3.0003

3.0003

5.0005

3.0003

5.0005

3.0003

6.0006

3.0003

0

48.0048

2.0002

95.0095

3.0003

4.0004

3.0003

3.0003

3.0003

3.0003

3.0003

3.0003

44.0044

128.0121

 

tradeintensity.thumb.png.3895edfd9923198561514cee52714d86.png

Share this post


Link to post
Share on other sites
Hey UrmaBlume,

 

thanks for sharing this indicator. I am not sure whether I have correctly understood how you actually calculate 'trade intensity', so can you please correct me if my interpretation is wrong on how you calculate this:

 

- You calculate the time span between to the current trade and the previous trade (that's why no latency is so important)

- You then divide the number of contracts of this trade traded by this time span. For example, 40 contracts were traded after just 0.0001 minutes (=0.06 = 60 milliseconds). So you do 40 / 0.0001 = 40.000. That would mean that the 'trade intensity' would be 40.000 contracts per minute.

 

What I am now wondering is how you you summarize this information for all trades that occur in 1 minute. Do you have one bar for each second that is the average of the 'trade intensities' in that second?

 

What we do aside - measure the time for a block of a constant size and extrapolate to cpm. We take this a step further so that our work not only reveals intensity but also the degree of trader commitment.

Share this post


Link to post
Share on other sites

BlowFish and honvly, thanks for posting, very cool. What feed did you use in that case with NinjaTrader?

 

BlowFish, what calculation did you use for your indicator? Something similar to my interpretation?

 

honvly, what do you with the 3-7 ms differences with regards to the formula I posted?

Share this post


Link to post
Share on other sites
What we do aside - measure the time for a block of a constant size and extrapolate to cpm. We take this a step further so that our work not only reveals intensity but also the degree of trader commitment.

 

UrmaBlume, thanks for chiming in.

 

Do these program trades always chop up their orders in constant sizes? Seems rather dumb to me if they want to disguise their intentions.

 

What do you mean by trader commitment?

Share this post


Link to post
Share on other sites

Here is a chart I posted earlier with one difference, the blue verticals are at 1 minute intervals, but this time I added the light coloured verticals every 1 second, anyone notice the Intensity..... :-)

 

 

185 trades in 1 second, contracts = 1342

 

now also don't dismiss the 1 second before the intense second.

 

52 trades in 1 second, contracts = 985

 

so I see 2 ways to inject volume in a very short time without it being obvious in higher timeframes, lots of smaller trades, or a few large trades. It's almost like the large spikes are a test.... of liquidly?

 

You can see a similar thing happening if you use a 1 Volume chart and plot vertical line every second.

 

I found this timeline indicator and changed it to display vertical lines every second instead of minutes like it was designed to do, unfortunately it is hugely CPU intensive now and pretty much unusable on my average home laptop. If anyone knows how to make it more CPU friendly, someone asked if there was another way of drawing a vertical line in this post:

http://www.ninjatrader-support2.com/vb/showthread.php?t=13440&highlight=vertical+line

and here is the link to the indicator the moderator said to take look at how to do it.

http://www.ninjatrader-support2.com/vb/local_links.php?catid=1&sort=N&page=1&pp=15&keyid=86

 

I want to thank UrmaBlume for helping me to see this, and I would edit an earlier post if I it was possible, my apologizes UrmaBlume.

 

Dean.

5aa70eabcac68_Ticks185-ES03-0923_01_2009(1Tick).thumb.png.eebc6e0f8a32e967bf121fc013eaf955.png

TimeLines_Seconds.zip

Edited by deanz
added missing link

Share this post


Link to post
Share on other sites
BlowFish and honvly, thanks for posting, very cool. What feed did you use in that case with NinjaTrader?

 

BlowFish, what calculation did you use for your indicator? Something similar to my interpretation?

 

honvly, what do you with the 3-7 ms differences with regards to the formula I posted?

 

I am using Zen-Fire.

 

Right now I am just dividing the contract size by the 3-7 ms differences and averaging this value across all ticks in a bar. However, I believe that the 3-7 ms differences are artifacts of NinjaTrader's bar processing speed. To improve the accuracy, I am going to try to increase the millisecond differences by filtering out trades less than 10 contracts and splitting bid/ask volume.

Share this post


Link to post
Share on other sites

honvly I would be cautious of using plain old bid/ask, as UrmaBlume has said in this post:

 

Most Data Vendors designate trade on the ask as UpVolume and trade on the bid as DnVolume. We have found flaws in that approach and use something close but, still different.

 

We calculate buy and sell imbalances over several volume/time frames and then further pre-process this data into inputs to both linear and non-linear analysis.

Share this post


Link to post
Share on other sites
If anyone knows how to make it more CPU friendly, someone asked if there was another way of drawing a vertical line in this

 

From what I've seen to do anything usefull with drawing in ninja that is complex it seems you have to override plot(). I might be way off but I think what happens when you don't do this is ninja paints all the bar data with plot then paints over that with whatever you have in onbarupdate..I get the feeling that if you do your drawing within plot, its all painted on one pass.

I'm still struggling with figuring out how to do much when it comes to the X cordinate though.

Maybe we can get a ninja coding sub forum on here? :)

Share this post


Link to post
Share on other sites

185 trades in 1 second, contracts = 1342

 

now also don't dismiss the 1 second before the intense second.

 

52 trades in 1 second, contracts = 985

 

Had all of these trades the same size?

Share this post


Link to post
Share on other sites
BlowFish and honvly, thanks for posting, very cool. What feed did you use in that case with NinjaTrader?

 

BlowFish, what calculation did you use for your indicator? Something similar to my interpretation?

 

honvly, what do you with the 3-7 ms differences with regards to the formula I posted?

 

Ninjatrader with Zenfire. Felt like a challenge and I find coding Ninja challenging :) It uses the .Net frameworks DateTime construct which will returun ticks (100 nano seconds resolution). Obviously far greater than is actually available in the real world!

 

I pretty much used your interpretation AK because when I thought about it, it seems like the right way to do it.

 

I am still wondering about smoothing to which end I have tried adding average intensity per bar.

Share this post


Link to post
Share on other sites
I am using Zen-Fire.

 

Right now I am just dividing the contract size by the 3-7 ms differences and averaging this value across all ticks in a bar. However, I believe that the 3-7 ms differences are artifacts of NinjaTrader's bar processing speed. To improve the accuracy, I am going to try to increase the millisecond differences by filtering out trades less than 10 contracts and splitting bid/ask volume.

 

I dunno but I think you might have an issue I get several clear flurries with a time difference of zero and a more varied spread of values. Are you using DateTime.Now.Ticks? ..........Time[0].Ticks does not work.

 

Here's some sample output (FTSE).

ninja.doc

Share this post


Link to post
Share on other sites
I dunno but I think you might have an issue I get several clear flurries with a time difference of zero and a more varied spread of values. Are you using DateTime.Now.Ticks? ..........Time[0].Ticks does not work.

 

Here's some sample output (FTSE).

 

So what do you do with the time differences of zero since you can't divide by zero?

 

And what do you mean by FTSE? Is that the sample output of the UK FTSE 100 stock index?

Share this post


Link to post
Share on other sites
So what do you do with the time differences of zero since you can't divide by zero?

 

And what do you mean by FTSE? Is that the sample output of the UK FTSE 100 stock index?

 

Stick the salami back together again :) That's why you get that sawtooth effect on the chart's I posted when you get a whole bunch of activity that spans several bars but with the same time stamp.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.