NexusFi: Find Your Edge


Home Menu

 





Average order size


Discussion in Emini and Emicro Index

Updated
      Top Posters
    1. looks_one Big Mike with 5 posts (13 thanks)
    2. looks_two Zondor with 2 posts (0 thanks)
    3. looks_3 calhawk01 with 2 posts (0 thanks)
    4. looks_4 Quick Summary with 1 posts (0 thanks)
    1. trending_up 4,098 views
    2. thumb_up 13 thanks given
    3. group 3 followers
    1. forum 10 posts
    2. attach_file 0 attachments




 
Search this Thread

Average order size

  #1 (permalink)
 calhawk01 
baltimore marylnd
 
Experience: Beginner
Platform: ninja
Trading: es
Posts: 91 since May 2013
Thanks Given: 5
Thanks Received: 11

hi, i'm trying to do some order flow analysis. i'm curious if anyone has a way to get an average order size for a given instrument. most of these orders go so fast on time and sale. and what sucks even more is that, even if you can build an indicator to chart those orders.. to calc out average order size.. in NT.. that data disappears anytime you refresh the chart or restart NT. what i'm trying to do is look at only orders greater than X threshold. So to try to look at commercial players rather than retail players.. to see which direction they are trading etc. So it would be nice to get:

ES average order size =1 contract
NQ avg order size = 10 contracts
CL avg order size = 1

for the past.. 30 days etc. Where can i get this info?

Started this thread Reply With Quote

Can you help answer these questions
from other members on NexusFi?
The space time continuum and the dynamics of a financial …
Emini and Emicro Index
Build trailing stop for micro index(s)
Psychology and Money Management
NexusFi Journal Challenge - April 2024
Feedback and Announcements
Futures True Range Report
The Elite Circle
ZombieSqueeze
Platforms and Indicators
 
  #3 (permalink)
 
Big Mike's Avatar
 Big Mike 
Manta, Ecuador
Site Administrator
Developer
Swing Trader
 
Experience: Advanced
Platform: Custom solution
Broker: IBKR
Trading: Stocks & Futures
Frequency: Every few days
Duration: Weeks
Posts: 50,398 since Jun 2009
Thanks Given: 33,173
Thanks Received: 101,537



calhawk01 View Post
hi, i'm trying to do some order flow analysis. i'm curious if anyone has a way to get an average order size for a given instrument. most of these orders go so fast on time and sale. and what sucks even more is that, even if you can build an indicator to chart those orders.. to calc out average order size.. in NT.. that data disappears anytime you refresh the chart or restart NT. what i'm trying to do is look at only orders greater than X threshold. So to try to look at commercial players rather than retail players.. to see which direction they are trading etc. So it would be nice to get:

ES average order size =1 contract
NQ avg order size = 10 contracts
CL avg order size = 1

for the past.. 30 days etc. Where can i get this info?

Here you go, since beginning of this year. I've looked at this for several years now, it really doesn't change in a meaningful way. All the big boys use iceberg orders.

 
Code
ES

MariaDB [ticks]> select MONTHNAME(`Date`) `month`, AVG(`LastSize`) `avgsize`, MAX(`LastSize`) `maxsize`, SUM(`LastSize`) `totalvol` from `@ES#` where `Date` > '2015-01-01' group by MONTHNAME(`Date`) order by MONTH(`Date`);
+-----------+---------+---------+----------+
| month     | avgsize | maxsize | totalvol |
+-----------+---------+---------+----------+
| January   |  2.8966 |    1015 | 38196390 |
| February  |  3.0204 |     952 | 25386039 |
| March     |  3.1964 |    1840 | 29165480 |
| April     |  3.1518 |    1082 | 26535337 |
| May       |  3.1050 |     856 | 24320609 |
| June      |  3.1446 |     989 | 29474232 |
| July      |  3.2449 |    1026 | 32804730 |
| August    |  2.9823 |    1000 | 45997487 |
| September |  2.6202 |    1153 | 33657911 |
+-----------+---------+---------+----------+
9 rows in set (3 min 28.65 sec)

NQ

MariaDB [ticks]> select MONTHNAME(`Date`) `month`, AVG(`LastSize`) `avgsize`, MAX(`LastSize`) `maxsize`, SUM(`LastSize`) `totalvol` from `@NQ#` where `Date` > '2015-01-01' group by MONTHNAME(`Date`) order by MONTH(`Date`);
+-----------+---------+---------+----------+
| month     | avgsize | maxsize | totalvol |
+-----------+---------+---------+----------+
| January   |  1.5278 |     238 |  6832253 |
| February  |  1.5217 |     241 |  3976582 |
| March     |  1.5309 |     191 |  4826594 |
| April     |  1.5564 |     386 |  4604376 |
| May       |  1.5567 |     181 |  3877128 |
| June      |  1.5571 |     213 |  4361312 |
| July      |  1.5235 |     262 |  5030786 |
| August    |  1.4055 |     329 |  7307392 |
| September |  1.3434 |     257 |  5602832 |
+-----------+---------+---------+----------+
9 rows in set (1 min 8.20 sec)

YM

MariaDB [ticks]> select MONTHNAME(`Date`) `month`, AVG(`LastSize`) `avgsize`, MAX(`LastSize`) `maxsize`, SUM(`LastSize`) `totalvol` from `@YM#` where `Date` > '2015-01-01' group by MONTHNAME(`Date`) order by MONTH(`Date`);
+-----------+---------+---------+----------+
| month     | avgsize | maxsize | totalvol |
+-----------+---------+---------+----------+
| January   |  1.4351 |      83 |  4145817 |
| February  |  1.4297 |      74 |  2342563 |
| March     |  1.4326 |     128 |  2631418 |
| April     |  1.4368 |      82 |  2965955 |
| May       |  1.4521 |     100 |  2555267 |
| June      |  1.4704 |      99 |  3027165 |
| July      |  1.4275 |     132 |  3057932 |
| August    |  1.3695 |     104 |  4640542 |
| September |  1.3299 |      83 |  3363838 |
+-----------+---------+---------+----------+
9 rows in set (44.68 sec)

CL

MariaDB [ticks]> select MONTHNAME(`Date`) `month`, AVG(`LastSize`) `avgsize`, MAX(`LastSize`) `maxsize`, SUM(`LastSize`) `totalvol` from `QCL#` where `Date` > '2015-01-01' group by MONTHNAME(`Date`) order by MONTH(`Date`);
+-----------+---------+---------+----------+
| month     | avgsize | maxsize | totalvol |
+-----------+---------+---------+----------+
| January   |  1.4599 |     988 |  7322841 |
| February  |  1.4786 |     952 |  8618986 |
| March     |  1.4153 |     574 |  7901976 |
| April     |  1.4996 |     944 |  7619468 |
| May       |  1.5129 |     998 |  6232022 |
| June      |  1.4797 |     999 |  6372420 |
| July      |  1.4865 |     999 |  7027171 |
| August    |  1.5741 |     999 |  8380764 |
| September |  1.4921 |    1000 |  7558051 |
+-----------+---------+---------+----------+
9 rows in set (1 min 38.42 sec)
Mike

We're here to help: just ask the community or contact our Help Desk

Quick Links: Change your Username or Register as a Vendor
Searching for trading reviews? Review this list
Lifetime Elite Membership: Sign-up for only $149 USD
Exclusive money saving offers from our Site Sponsors: Browse Offers
Report problems with the site: Using the NexusFi changelog thread
Follow me on Twitter Visit my NexusFi Trade Journal Reply With Quote
  #4 (permalink)
 
Big Mike's Avatar
 Big Mike 
Manta, Ecuador
Site Administrator
Developer
Swing Trader
 
Experience: Advanced
Platform: Custom solution
Broker: IBKR
Trading: Stocks & Futures
Frequency: Every few days
Duration: Weeks
Posts: 50,398 since Jun 2009
Thanks Given: 33,173
Thanks Received: 101,537

BTW, here is a breakdown of ES by hour of day (eastern)

 
Code
MariaDB [ticks]> select HOUR(`Date`) `hour`, AVG(`LastSize`) `avgsize`, MAX(`LastSize`) `maxsize`, SUM(`LastSize`) `totalvol` from `@ES#` where `Date` > '2015-01-01' group by HOUR(`Date`) order by HOUR(`Date`);
+------+---------+---------+----------+
| hour | avgsize | maxsize | totalvol |
+------+---------+---------+----------+
|    0 |  1.9687 |     752 |   604331 |
|    1 |  2.0390 |     375 |   866964 |
|    2 |  2.2513 |     608 |  2056622 |
|    3 |  2.3332 |     681 |  4731520 |
|    4 |  2.4095 |     708 |  4043768 |
|    5 |  2.4541 |    1153 |  3359752 |
|    6 |  2.5670 |     680 |  3519191 |
|    7 |  2.8068 |    1840 |  4852315 |
|    8 |  2.6387 |     823 |  8476147 |
|    9 |  2.8569 |    1000 | 41440590 |
|   10 |  2.8878 |    1000 | 43954687 |
|   11 |  3.0122 |     700 | 32348414 |
|   12 |  2.9818 |     798 | 22064493 |
|   13 |  2.9835 |    1026 | 21225815 |
|   14 |  3.0247 |    1100 | 25778746 |
|   15 |  3.6113 |    1082 | 43789763 |
|   16 |  5.4610 |    1015 | 15559966 |
|   17 |  3.4274 |     499 |   375100 |
|   18 |  2.4488 |     738 |  1349134 |
|   19 |  2.0845 |     800 |   759627 |
|   20 |  1.9754 |     600 |  1258752 |
|   21 |  2.0210 |     500 |  1270358 |
|   22 |  2.0192 |     925 |  1035694 |
|   23 |  2.0132 |     388 |   816466 |
+------+---------+---------+----------+
24 rows in set (2 min 28.70 sec)
Mike

We're here to help: just ask the community or contact our Help Desk

Quick Links: Change your Username or Register as a Vendor
Searching for trading reviews? Review this list
Lifetime Elite Membership: Sign-up for only $149 USD
Exclusive money saving offers from our Site Sponsors: Browse Offers
Report problems with the site: Using the NexusFi changelog thread
Follow me on Twitter Visit my NexusFi Trade Journal Reply With Quote
  #5 (permalink)
 calhawk01 
baltimore marylnd
 
Experience: Beginner
Platform: ninja
Trading: es
Posts: 91 since May 2013
Thanks Given: 5
Thanks Received: 11


Big Mike View Post
Here you go, since beginning of this year. I've looked at this for several years now, it really doesn't change in a meaningful way. All the big boys use iceberg orders.

 
Code
ES

MariaDB [ticks]> select MONTHNAME(`Date`) `month`, AVG(`LastSize`) `avgsize`, MAX(`LastSize`) `maxsize`, SUM(`LastSize`) `totalvol` from `@ES#` where `Date` > '2015-01-01' group by MONTHNAME(`Date`) order by MONTH(`Date`);
+-----------+---------+---------+----------+
| month     | avgsize | maxsize | totalvol |
+-----------+---------+---------+----------+
| January   |  2.8966 |    1015 | 38196390 |
| February  |  3.0204 |     952 | 25386039 |
| March     |  3.1964 |    1840 | 29165480 |
| April     |  3.1518 |    1082 | 26535337 |
| May       |  3.1050 |     856 | 24320609 |
| June      |  3.1446 |     989 | 29474232 |
| July      |  3.2449 |    1026 | 32804730 |
| August    |  2.9823 |    1000 | 45997487 |
| September |  2.6202 |    1153 | 33657911 |
+-----------+---------+---------+----------+
9 rows in set (3 min 28.65 sec)

NQ

MariaDB [ticks]> select MONTHNAME(`Date`) `month`, AVG(`LastSize`) `avgsize`, MAX(`LastSize`) `maxsize`, SUM(`LastSize`) `totalvol` from `@NQ#` where `Date` > '2015-01-01' group by MONTHNAME(`Date`) order by MONTH(`Date`);
+-----------+---------+---------+----------+
| month     | avgsize | maxsize | totalvol |
+-----------+---------+---------+----------+
| January   |  1.5278 |     238 |  6832253 |
| February  |  1.5217 |     241 |  3976582 |
| March     |  1.5309 |     191 |  4826594 |
| April     |  1.5564 |     386 |  4604376 |
| May       |  1.5567 |     181 |  3877128 |
| June      |  1.5571 |     213 |  4361312 |
| July      |  1.5235 |     262 |  5030786 |
| August    |  1.4055 |     329 |  7307392 |
| September |  1.3434 |     257 |  5602832 |
+-----------+---------+---------+----------+
9 rows in set (1 min 8.20 sec)

YM

MariaDB [ticks]> select MONTHNAME(`Date`) `month`, AVG(`LastSize`) `avgsize`, MAX(`LastSize`) `maxsize`, SUM(`LastSize`) `totalvol` from `@YM#` where `Date` > '2015-01-01' group by MONTHNAME(`Date`) order by MONTH(`Date`);
+-----------+---------+---------+----------+
| month     | avgsize | maxsize | totalvol |
+-----------+---------+---------+----------+
| January   |  1.4351 |      83 |  4145817 |
| February  |  1.4297 |      74 |  2342563 |
| March     |  1.4326 |     128 |  2631418 |
| April     |  1.4368 |      82 |  2965955 |
| May       |  1.4521 |     100 |  2555267 |
| June      |  1.4704 |      99 |  3027165 |
| July      |  1.4275 |     132 |  3057932 |
| August    |  1.3695 |     104 |  4640542 |
| September |  1.3299 |      83 |  3363838 |
+-----------+---------+---------+----------+
9 rows in set (44.68 sec)

CL

MariaDB [ticks]> select MONTHNAME(`Date`) `month`, AVG(`LastSize`) `avgsize`, MAX(`LastSize`) `maxsize`, SUM(`LastSize`) `totalvol` from `QCL#` where `Date` > '2015-01-01' group by MONTHNAME(`Date`) order by MONTH(`Date`);
+-----------+---------+---------+----------+
| month     | avgsize | maxsize | totalvol |
+-----------+---------+---------+----------+
| January   |  1.4599 |     988 |  7322841 |
| February  |  1.4786 |     952 |  8618986 |
| March     |  1.4153 |     574 |  7901976 |
| April     |  1.4996 |     944 |  7619468 |
| May       |  1.5129 |     998 |  6232022 |
| June      |  1.4797 |     999 |  6372420 |
| July      |  1.4865 |     999 |  7027171 |
| August    |  1.5741 |     999 |  8380764 |
| September |  1.4921 |    1000 |  7558051 |
+-----------+---------+---------+----------+
9 rows in set (1 min 38.42 sec)
Mike



you are DA MAN! Thanks. Curious... is this a personal DB or external?

Started this thread Reply With Quote
  #6 (permalink)
 
Big Mike's Avatar
 Big Mike 
Manta, Ecuador
Site Administrator
Developer
Swing Trader
 
Experience: Advanced
Platform: Custom solution
Broker: IBKR
Trading: Stocks & Futures
Frequency: Every few days
Duration: Weeks
Posts: 50,398 since Jun 2009
Thanks Given: 33,173
Thanks Received: 101,537


calhawk01 View Post
you are DA MAN! Thanks. Curious... is this a personal DB or external?

Private. I'm on my phone, but search for "custom platform" for details on my platform

Sent from my phone

We're here to help: just ask the community or contact our Help Desk

Quick Links: Change your Username or Register as a Vendor
Searching for trading reviews? Review this list
Lifetime Elite Membership: Sign-up for only $149 USD
Exclusive money saving offers from our Site Sponsors: Browse Offers
Report problems with the site: Using the NexusFi changelog thread
Follow me on Twitter Visit my NexusFi Trade Journal Reply With Quote
  #7 (permalink)
DavidCarmichael
Bangor, Wales
 
Posts: 16 since Sep 2015
Thanks Given: 6
Thanks Received: 10


calhawk01 View Post
hi, i'm trying to do some order flow analysis. i'm curious if anyone has a way to get an average order size for a given instrument. most of these orders go so fast on time and sale. and what sucks even more is that, even if you can build an indicator to chart those orders.. to calc out average order size.. in NT.. that data disappears anytime you refresh the chart or restart NT. what i'm trying to do is look at only orders greater than X threshold. So to try to look at commercial players rather than retail players.. to see which direction they are trading etc. So it would be nice to get:

ES average order size =1 contract
NQ avg order size = 10 contracts
CL avg order size = 1

for the past.. 30 days etc. Where can i get this info?

I understand what you are getting at here, but there's a sense in which the average (and only) order size on any exchange that permits partial fills of one contract units, will always be one.

If I place a 1 contract buy order now, and then another in five minutes time, are these the same order? You'd probably say that they're not, as there is a time lapse between them. But if I place a 2 contract buy order now, it is theoretically possible that my first contract will fill, then the market will trade at the bid for five minutes, and then my second contract will fill.

Even if my contracts fill one after another, there is a time-lapse between the two. The contracts in an order cannot fill simultaneously because they are queued, one after the other.

Given all this information, combined with the use of iceberg orders and all sorts of other clever disguise tactics, I think it might be unlikely that the average order size data you're looking for would be much help. Just my opinion though!

Dave

Reply With Quote
  #8 (permalink)
 
Zondor's Avatar
 Zondor 
Portland Oregon, United States
 
Experience: Beginner
Platform: Ninjatrader®
Broker: CQG, Kinetick
Trading: Gameplay Klownbine® Trading of Globex
Posts: 1,333 since Jul 2009
Thanks Given: 1,246
Thanks Received: 2,731

Are we talking about the average ORDER size, or the average TRADE size here?

Big Mike's data in this thread is actually for order size?

"If we don't loosen up some money, this sucker is going down." -GW Bush, 2008
“Lack of proof that something is true does not prove that it is not true - when you want to believe.” -Humpty Dumpty, 2014
“The greatest shortcoming of the human race is our inability to understand the exponential function.”
Prof. Albert Bartlett
Follow me on Twitter Visit my NexusFi Trade Journal Reply With Quote
  #9 (permalink)
 
Big Mike's Avatar
 Big Mike 
Manta, Ecuador
Site Administrator
Developer
Swing Trader
 
Experience: Advanced
Platform: Custom solution
Broker: IBKR
Trading: Stocks & Futures
Frequency: Every few days
Duration: Weeks
Posts: 50,398 since Jun 2009
Thanks Given: 33,173
Thanks Received: 101,537


Zondor View Post
Are we talking about the average ORDER size, or the average TRADE size here?

Big Mike's data in this thread is actually for order size?

My data is per trade (aka tick)

Sent from my phone

We're here to help: just ask the community or contact our Help Desk

Quick Links: Change your Username or Register as a Vendor
Searching for trading reviews? Review this list
Lifetime Elite Membership: Sign-up for only $149 USD
Exclusive money saving offers from our Site Sponsors: Browse Offers
Report problems with the site: Using the NexusFi changelog thread
Follow me on Twitter Visit my NexusFi Trade Journal Reply With Quote
Thanked by:
  #10 (permalink)
 
Zondor's Avatar
 Zondor 
Portland Oregon, United States
 
Experience: Beginner
Platform: Ninjatrader®
Broker: CQG, Kinetick
Trading: Gameplay Klownbine® Trading of Globex
Posts: 1,333 since Jul 2009
Thanks Given: 1,246
Thanks Received: 2,731


Average trade size is just the volume of the bar divided by the number of transactions (ticks) in that bar. Average order size is not something you would likely be able to calculate since huge numbers of orders are placed, and cancelled, at lightning speeds, relative to the number of completed trades.

For a tick bar chart calculating average trade size is trivially easy since the number of ticks per bar is constant.

For other types of bars:
  • In real time Ninjatrader 7 or 8 can easily do that, just count the number of bar updates per bar since each bar update corresponds to one completed trade.
  • For historical in Ninjatrader 7 add a secondary one tick dataseries and count how many times it fires per bar of the primary series.
  • For Ninjatrader 8 use the same code as for real time, but run the price series in tick replay mode.

"If we don't loosen up some money, this sucker is going down." -GW Bush, 2008
“Lack of proof that something is true does not prove that it is not true - when you want to believe.” -Humpty Dumpty, 2014
“The greatest shortcoming of the human race is our inability to understand the exponential function.”
Prof. Albert Bartlett
Follow me on Twitter Visit my NexusFi Trade Journal Reply With Quote




Last Updated on October 7, 2015


© 2024 NexusFi™, s.a., All Rights Reserved.
Av Ricardo J. Alfaro, Century Tower, Panama City, Panama, Ph: +507 833-9432 (Panama and Intl), +1 888-312-3001 (USA and Canada)
All information is for educational use only and is not investment advice. There is a substantial risk of loss in trading commodity futures, stocks, options and foreign exchange products. Past performance is not indicative of future results.
About Us - Contact Us - Site Rules, Acceptable Use, and Terms and Conditions - Privacy Policy - Downloads - Top
no new posts