Welcome to NexusFi: the best trading community on the planet, with over 150,000 members Sign Up Now for Free
Genuine reviews from real traders, not fake reviews from stealth vendors
Quality education from leading professional traders
We are a friendly, helpful, and positive community
We do not tolerate rude behavior, trolling, or vendors advertising in posts
We are here to help, just let us know what you need
You'll need to register in order to view the content of the threads and start contributing to our community. It's free for basic access, or support us by becoming an Elite Member -- see if you qualify for a discount below.
-- Big Mike, Site Administrator
(If you already have an account, login at the top of the page)
A few years back i did some research and experiments with level 2 data which i got from tunneling demo CQG data from demo ninjatrader to my own software. Worked great!
Is there still a way to get level 2 data freely (or at reduced costs)?
Note that i can develop my own plugins for software, so any software with level 2 data with a demo will also do the trick.
This is not for actual trading, just for research so delayed data is also fine.
Cheers for the ideas!
Can you help answer these questions from other members on NexusFi?
Sure, Ninjatrader 7 and 8 both allow you to write level 2 data to a file or output window easily.
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.
Cheers @iantg , the old solution indeed still works.
But the CQG has made a few changes that make reapplying for a demo a lot difficult. (no offense here, it make sense business wise)
Do you know if there are any alternatives?
I get it, you are referring to getting a second or third version of a NT demo account to get access to a live feed. I think they only run for like a week or two. So I see your point.
The alternative then, would be not to use a live feed but instead use the market replay. It contains the same data but from 1 day prior or <. Also as an advantage you can play the data back at 1000x speed or >. For testing purposes it is more efficient to use market replay data. You don't have to pay for anything, you can typically get a few months back on just about any symbol you want. Have you tried that yet?
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.
Cheers for the helpful reply @iantg .
I took a peek at market replay in ninjatrader and it seems it is not as realtime, it syncs level 1 and 2 data together every 1 second. I'm not sure how this is reflected on api level, going to check that one.
I will contact CQG and see if they maybe have a program for research, hopefully with a nice discount.
Thanks for the help!
With NinjaTrader, there are three separate event handlers for the following 3 feeds:
OnBarUpdate: This event front runs the other two, but only takes an update when there is a transaction. This can be set based on time, ticks, or anything else. Most charting tools use this feed.
OnMarketData: This is the full level 1 feed. It processes every add, cancel, and transaction in the level 1 feed.
OnMarketDepth: This the full feed (Level 2 + Level 1). It processes everything on any change to the book from level 1 or level 2.
When you are trading live, the synchronization between these three feeds can be off by a huge magnitude due to latency issues from the raw feed, processing the data live, internet connection lag etc. These 3 will be much more closely aligned with market replay data vs. live.
But it sounds like you are mostly interested in the more granular detail. So you really should just be using the OnMarketDepth feed. Then you won't have any syncing issues. They have a fair documentation about the all the variables within this even handler, so if your decent at C#, it's not too hard to write an extraction program to get all the raw data out.
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.