DOM & Math - Traders Hideout | futures io social day trading
futures io futures trading


DOM & Math
Updated: Views / Replies:845 / 15
Created: by Fernand0 Attachments:3

Welcome to futures io.

(If you already have an account, login at the top of the page)

futures io is the largest futures trading community on the planet, with over 100,000 members. At futures io, our goal has always been and always will be to create a friendly, positive, forward-thinking community where members can openly share and discuss everything the world of trading has to offer. The community is one of the friendliest you will find on any subject, with members going out of their way to help others. Some of the primary differences between futures io and other trading sites revolve around the standards of our community. Those standards include a code of conduct for our members, as well as extremely high standards that govern which partners we do business with, and which products or services we recommend to our members.

At futures io, our focus is on quality education. No hype, gimmicks, or secret sauce. The truth is: trading is hard. To succeed, you need to surround yourself with the right support system, educational content, and trading mentors – all of which you can find on futures io, utilizing our social trading environment.

With futures io, you can find honest trading reviews on brokers, trading rooms, indicator packages, trading strategies, and much more. Our trading review process is highly moderated to ensure that only genuine users are allowed, so you don’t need to worry about fake reviews.

We are fundamentally different than most other trading sites:
  • We are here to help. Just let us know what you need.
  • We work extremely hard to keep things positive in our community.
  • We do not tolerate rude behavior, trolling, or vendors advertising in posts.
  • We firmly believe in and encourage sharing. The holy grail is within you, we can help you find it.
  • We expect our members to participate and become a part of the community. Help yourself by helping others.

You'll need to register in order to view the content of the threads and start contributing to our community.  It's free and simple.

-- Big Mike, Site Administrator

Reply
 3  
 
Thread Tools Search this Thread
 

DOM & Math

  #11 (permalink)
istanbul turkey
 
Trading Experience: None
Platform: meta
Favorite Futures: eur
 
Posts: 5 since Oct 2012
Thanks: 7 given, 1 received

Analyzing the Limit Order Book by Jonhattan Doering

https://youtu.be/qxSh2VFmRGw



Sent from my iPad using futures.io

Reply With Quote
 
  #12 (permalink)
Argentina
 
 
Posts: 19 since Apr 2018
Thanks: 8 given, 3 received

@mesuteryilmaz
Good video, but in this case the distance between theory and practice is huge

Reply With Quote
 
  #13 (permalink)
charlotte nc
 
Trading Experience: Master
Platform: ninjatrader
Broker/Data: NinjaTrader
Favorite Futures: Emini (ES, YM, NQ, ect.)
 
Posts: 379 since Jan 2015
Thanks: 69 given, 916 received

The Data Structure


In terms of what you need data structure wise.... You need to start by defining your bet, and then work backwards to define the variables you need to solve for. Right or wrong, most people will gravitate to a type of bet that looks like this image. I'll explain....

Please register on futures.io to view futures trading content such as post attachment(s), image(s), and screenshot(s).


For every price level there is a best bid and best ask, and at any given point in time these will both have their respective volumes. Now all things even (here we assume the flow of market orders coming in are relatively even on both sides) one would assume the side (best bid or best ask) that has the higher volume will survive the incoming market orders. If this volume ratio is something like 1 to 1 or .8 to 1.2 then meh... No big deal, but if this gets more lopsided then one could start to make a fairly accurate bet that the side with a higher volume will win. Before I go any further let me just state that this particular bet (best ask vs. best bid) will almost always play out the same way on every price level. But unfortunately virtually no one can take advantage of this. Here is the detailed explanation for this: Every price level starts with a weak side and a strong side. The strong side gets to drag in resting volume to start the level, and the weak side has to start the price level with 0 volume. So ultimately the strong side will prevail way more often than not. For example on the ES, the strong side win rate is close to 90%. So what this translates to is that 100% of the queue on the weak side will get filled but only a tiny amount of people on the winning strong side will get filled. After studying this for a considerable amount of time, I will save you all the headache and tell you, there is no bet here you can get in on. The winning strong side only typically fills 10% or less of it's queue, so this isn't a bet for retail traders to attempt.

But there are other bets that you can get in on. The fight is never between the best bid and best ask but between the two adjacent strong sides. In the image above this is noted by the two sections with 1 tick under them. The way the market moves is that if the best bid breaks then the market moves to the left to the 1 tick strong side resting volume as a starting point and the ask will have to spontaneously back fill it's starting volume, it will likely not be able to do this for very long.... So then the Ask side breaks and the market moves to the right and we repeat. This fight typically lasts on the ES for 10 to 15 price levels before one of the two adjacent strong sides actually breaks. So your bet is which strong side will break. On each price level this fight will be between the winning (Best Bid / Best Ask which is usually a strong side) and opposite side resting volume 1 tick out. I hope the crude illustration helps a little bit.

Tuning your bet: So assume that we are in a period where the market order distribution is relatively even... This part is key. If you can extract your strong side resting volumes 1 level out then you can evaluate if one side is definitively stacked more than the other. You may also run this bet in connection with the strong side volumes 2 levels out to 3 levels out. I don't personally thing there is too much value in looking more than a few levels out because in most cases the top 2-3 levels will determine what happens next. Resting volume 7-10 levels out won't influence the next few immediate price level changes at all. So you can typically stop after maybe 3 levels when building your bet criteria.


The image below summarizes the full level 1 micro-structure so you can see what you are solving for.


Please register on futures.io to view futures trading content such as post attachment(s), image(s), and screenshot(s).



Here what you are really comparing are the two adjacent strong side volumes. You can quickly spot the pattern and tell that Bid typically starts as the weak side when the price moves up, and starts as the strong side when the price moves down, and vice versa for the ask. The highlighted in bold rows denote when a real strong side price breaks. The other price level changes are just flips between adjacent strong sides breaking the opposite weak side over and over. if you look to the last strong side price level you will see that the bid strong side is starting out with 30% to 40% more than than the ask strong side and ultimately wins the price level. I am not making the claim that this is always the case or even a solid bet, I am just explaining the data and how you could derive a bet.

So in order to get what I have and also have your level 2 resting volume sequenced properly you will need to pull in these additional variables to the ones I already have listed.

Bid Resting 1 level out
Ask Resting 1 level out

And you might want to also pull in the volumes at 2 ticks out and maybe 3 ticks out. After that, I don't think the data will be of much use.

So for every row, you will need to ignore the actual price, and just have a variable called Bid Resting 1 level out (as an example) and capture the level 2 data that is in position 1 on the ladder for example. Once you have this data structure built, then you can look ahead and test your bet like this:

If (Condition on current row) Volume of Ask vs. Volume of Bid 1 level out, or adjacent strong side volumes, etc has a ratio of X then bet Y.

To Test if you are correct in your bet, you just do a look forward formula in excel checking the next strong side price level to break a few rows down the spreadsheet... If you are right give yourself a +1, if you are wrong give yourself a -1.

That's it.

I am enclosing a sample level 2 book in NinjaTrader you can start playing with to get you familiar with the OnMarketDepth feed as well.

Hope this example helps get you started!

Ian

In the analytical world there is no such thing as art, there is only the science you know and the science you don't know. Characterizing the science you don't know as "art" is a fools game.
Attached Files
Register to download File Type: zip SampleLevel2Book_NT8.zip (3.5 KB, 8 views)

Last edited by iantg; July 26th, 2018 at 01:43 PM.
Visit my futures io Trade Journal Reply With Quote
The following 3 users say Thank You to iantg for this post:
 
  #14 (permalink)
Argentina
 
 
Posts: 19 since Apr 2018
Thanks: 8 given, 3 received

@iantg

Thanks a lot Ian. I will try to start testing different data structures according to several theories, doing it backwards, like you said.
Your post is really good, it makes you think, it opens your mind to new scenarios.

I think it's a lot of work... some statistics knowledge could help :P
I will see what i can do!

Thanks for your time and patience.

The force be with you.


Last edited by Fernand0; July 26th, 2018 at 09:58 PM.
Reply With Quote
 
  #15 (permalink)
istanbul turkey
 
Trading Experience: None
Platform: meta
Favorite Futures: eur
 
Posts: 5 since Oct 2012
Thanks: 7 given, 1 received


iantg View Post
In terms of what you need data structure wise.... You need to start by defining your bet, and then work backwards to define the variables you need to solve for. Right or wrong, most people will gravitate to a type of bet that looks like this image. I'll explain....



Please register on futures.io to view futures trading content such as post attachment(s), image(s), and screenshot(s).




For every price level there is a best bid and best ask, and at any given point in time these will both have their respective volumes. Now all things even (here we assume the flow of market orders coming in are relatively even on both sides) one would assume the side (best bid or best ask) that has the higher volume will survive the incoming market orders. If this volume ratio is something like 1 to 1 or .8 to 1.2 then meh... No big deal, but if this gets more lopsided then one could start to make a fairly accurate bet that the side with a higher volume will win. Before I go any further let me just state that this particular bet (best ask vs. best bid) will almost always play out the same way on every price level. But unfortunately virtually no one can take advantage of this. Here is the detailed explanation for this: Every price level starts with a weak side and a strong side. The strong side gets to drag in resting volume to start the level, and the weak side has to start the price level with 0 volume. So ultimately the strong side will prevail way more often than not. For example on the ES, the strong side win rate is close to 90%. So what this translates to is that 100% of the queue on the weak side will get filled but only a tiny amount of people on the winning strong side will get filled. After studying this for a considerable amount of time, I will save you all the headache and tell you, there is no bet here you can get in on. The winning strong side only typically fills 10% or less of it's queue, so this isn't a bet for retail traders to attempt.



But there are other bets that you can get in on. The fight is never between the best bid and best ask but between the two adjacent strong sides. In the image above this is noted by the two sections with 1 tick under them. The way the market moves is that if the best bid breaks then the market moves to the left to the 1 tick strong side resting volume as a starting point and the ask will have to spontaneously back fill it's starting volume, it will likely not be able to do this for very long.... So then the Ask side breaks and the market moves to the right and we repeat. This fight typically lasts on the ES for 10 to 15 price levels before one of the two adjacent strong sides actually breaks. So your bet is which strong side will break. On each price level this fight will be between the winning (Best Bid / Best Ask which is usually a strong side) and opposite side resting volume 1 tick out. I hope the crude illustration helps a little bit.



Tuning your bet: So assume that we are in a period where the market order distribution is relatively even... This part is key. If you can extract your strong side resting volumes 1 level out then you can evaluate if one side is definitively stacked more than the other. You may also run this bet in connection with the strong side volumes 2 levels out to 3 levels out. I don't personally thing there is too much value in looking more than a few levels out because in most cases the top 2-3 levels will determine what happens next. Resting volume 7-10 levels out won't influence the next few immediate price level changes at all. So you can typically stop after maybe 3 levels when building your bet criteria.





The image below summarizes the full level 1 micro-structure so you can see what you are solving for.





Please register on futures.io to view futures trading content such as post attachment(s), image(s), and screenshot(s).






Here what you are really comparing are the two adjacent strong side volumes. You can quickly spot the pattern and tell that Bid typically starts as the weak side when the price moves up, and starts as the strong side when the price moves down, and vice versa for the ask. The highlighted in bold rows denote when a real strong side price breaks. The other price level changes are just flips between adjacent strong sides breaking the opposite weak side over and over. if you look to the last strong side price level you will see that the bid strong side is starting out with 30% to 40% more than than the ask strong side and ultimately wins the price level. I am not making the claim that this is always the case or even a solid bet, I am just explaining the data and how you could derive a bet.



So in order to get what I have and also have your level 2 resting volume sequenced properly you will need to pull in these additional variables to the ones I already have listed.



Bid Resting 1 level out

Ask Resting 1 level out



And you might want to also pull in the volumes at 2 ticks out and maybe 3 ticks out. After that, I don't think the data will be of much use.



So for every row, you will need to ignore the actual price, and just have a variable called Bid Resting 1 level out (as an example) and capture the level 2 data that is in position 1 on the ladder for example. Once you have this data structure built, then you can look ahead and test your bet like this:



If (Condition on current row) Volume of Ask vs. Volume of Bid 1 level out, or adjacent strong side volumes, etc has a ratio of X then bet Y.



To Test if you are correct in your bet, you just do a look forward formula in excel checking the next strong side price level to break a few rows down the spreadsheet... If you are right give yourself a +1, if you are wrong give yourself a -1.



That's it.



I am enclosing a sample level 2 book in NinjaTrader you can start playing with to get you familiar with the OnMarketDepth feed as well.



Hope this example helps get you started!



Ian



Very nice. It will make a great differences if you are getting this data in every 100msec as a retail trader or colocated.
Or it doesn’t matter?
Otherwise they will be 100msec ahead of you every time let alone the latency.


Sent using the futures.io mobile app

Reply With Quote
 
  #16 (permalink)
charlotte nc
 
Trading Experience: Master
Platform: ninjatrader
Broker/Data: NinjaTrader
Favorite Futures: Emini (ES, YM, NQ, ect.)
 
Posts: 379 since Jan 2015
Thanks: 69 given, 916 received

Great Question!

Hi mesuteryilmaz,

Regarding this type of data, and the speed of processing, it has several different purposes. On the one hand you are correct that there is a latency threshold.... Beyond a certain point certain bets will not work. But on the other hand, there are some bets that are not latency sensitive at all.

The purpose of this type of data structure modeling is two fold.

1. Source the raw data, synthesize it to build a complete level 3 - level 4 micro-structure fully analyzed. This part has no latency, since you are doing it after the fact for strictly analytical purposes. Here you are exploring the raw structure of the market and learning which edges truly exist by testing every type of bet possible. I urge everyone to do this step, no matter what their trading style is. The better the data set, the better and more accurate their bet - testing will be.

2. Once you have identified several bets with potential edges, you will need to analyze the time stamps of the price level changes and determine which bets you will ever have a chance of pulling off given your commission cost structure, co-location or lack-thereof, etc.

When you build your production code to run in real time, you likely will not be trying to build this type of information in real time because it will draw too much overhead and slow your execution code. So you will need to strip away the extraneous bells and whistles that are more for analytical purposes like tuning your bet, and focus on the alpha signals that you need to place your bet.

Hope this helps a little.

Ian



mesuteryilmaz View Post
Very nice. It will make a great differences if you are getting this data in every 100msec as a retail trader or colocated.
Or it doesn’t matter?
Otherwise they will be 100msec ahead of you every time let alone the latency.


Sent using the futures.io mobile app


In the analytical world there is no such thing as art, there is only the science you know and the science you don't know. Characterizing the science you don't know as "art" is a fools game.
Visit my futures io Trade Journal Reply With Quote
The following 3 users say Thank You to iantg for this post:

Reply



futures io > > > DOM & Math

Thread Tools Search this Thread
Search this Thread:

Advanced Search



Upcoming Webinars and Events (4:30PM ET unless noted)
 

futures io is celebrating 10-years w/ over $18,000 in prizes!

Right now
 

$1,000 in Amazon Gift Cards being given away right now from GFF Brokers

Right now
 

$250 Amazon Gift Cards with our "Thanks Contest" challenge!

Right now
 

Show us your trading desks and win over $5,000 in prizes w/Jigsaw Trading

August
 

Webinar: Suri Duddella (TBA)

Elite only
 

Webinar: Richard Bailey (TBA)

Elite only
     

Similar Threads
Thread Thread Starter Forum Replies Last Post
Emini S&P CNX Nifty 50 Index & E-micro S&P CNX Nifty 50 Index ? md1933 Emini and Emicro Index Futures Trading 3 September 6th, 2016 07:54 PM
Euro session ES B/O & Range Fading with Volume Profile & Jigsaw T&S PeakGrowth Elite Trading Journals 124 March 4th, 2016 12:11 PM
DOM & Chart Trader Retina Burn quantismo NinjaTrader 0 January 16th, 2013 01:28 AM
chart & DOM not up dating Angelo1 NinjaTrader 3 July 30th, 2011 10:15 AM
Price, Volume & the DOM - Live Trading Journal ZTR Elite Trading Journals 822 October 6th, 2010 02:19 PM


All times are GMT -4. The time now is 03:53 PM. (this page content is cached, log in for real-time version)

Copyright © 2019 by futures io, s.a., Av Ricardo J. Alfaro, Century Tower, Panama, +507 833-9432, info@futures.io
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.
no new posts