Market Maker Signals Study on GME – Breaking Down Charts and Trades into Milliseconds.
Author: TimoV ( /u/hatter11 ) in collaboration with /u/mlebjerg
Nothing you read here is advice. I drink crayon smoothies and sniff paint 24/7.
Something about me: I like data. I have DRS’ed and have voted. Red/green mixed crayon smoothie with a whole yellow on top and a hollowed out blue one as straw is in my opinion the best crayon smoothie ever. I don’t really use reddit. It’s an information source for me. I’m mostly active on discord. Therefore I’m a complete reddit noob so please be gentle. There might be formatting issues.
This is a data analysis, not a technical analysis. (well technically it is, but not the usual kind, mods please change if wrong.)
These are observations done on 1 security: GME.
The reason being it’s a low volume low trades stock right now, compared with others.
It’s not definitive proof. But I also wouldn’t call it all speculation.
I present this to you all to open a discussion and maybe even grow a wrinkle.
Abstract (TL:DR – You should really read it though, grow a wrinkle.)
High Frequency Trading Algorithms run the show and communicate via signals disguised as orders sizes. A lot of these signal trades and responses happen in milliseconds, something you don’t see on a normal chart. With this post I’m going to show how this applies on a millisecond scale.
This is a long one but I’ll try to keep it as ELIA as possible.
Inspired by /u/mlebjerg ‘s post about Market Maker signals (https://www.reddit.com/r/Superstonk/comments/u7iox3/it_is_time_to_talk_about_market_maker_signals_i/) I decided to put more time and research into this.
If you’re on Discord in the market-talk channel then you’ve probably seen me throw out pictures of orders sizes and calling out what happened, or what might happen within the next or next few minutes with regard to these ‘signals’.
I’ve since contacted /u/mlebjerg and we continue to do research on this.
If you follow his daily posts about the MM Signals you probably seen me get mentioned as I’ve provided my data to him for use in his daily updates.
I spent most of the intraday watching the chart and orderbook.
I use IBKRs TWS and wrote my own software to use their API.
At the time of writing I am using L1 data. All the findings displayed here are with L1 data.
As these things take time to gather, process and analyze the data I will do a follow up in the next few weeks with L2 data.
I’ve been watching these Market Maker Signals. It’s quite interesting to see it play out. I had discussions on Discord about whether this was only applicable to L2 data and I say it isn’t. It works fine with L1 data. I had discussions on Discord about whether this was only applicable to L2 data and I say it isn’t. It works fine with L1 data.
It’s about Order size, which is available on L1 data. L2 or L3 just gives a more in-depth view of the order.
What’s the easiest way to communicate with numbers seen by every exchange? Order size.
Algo’s run the market
This is a known thing right? As we know by now most orders get internalized and routed through darkpools. High frequency trading has completely taken over for years now. Nothing will stop this. In the old days you had to make a call and tell somebody on the other end to do something with the order. With HFT algo’s running the show, a different form of communication was needed.
Well.. how do you make programs communicate with each other? Simply put by sending messages they can understand. What would be the easiest way to do so in terms of trading? Hide it in orders as sizes. Since it’s just an order, it’s just an order, right?
Things to remember:
It’s very fast computers we’re dealing with. High frequency trading.
Price goes into decimals. We normally see 2-4 decimals on the price in the book or on the charts (128.54, 128.5498). Forex runs on 5.
Here is a closing statement from IBKR presenting .xxxxxxxx (8).
There used to be a picture here but I hit the max of 20
Official Close For 04/29/2022: 125.06999969
I’m aware this could just be a decimal floating point, but it wouldn’t be a surprise if it actually goes this far. If somebody can point me to some proper DD on HFT’s, please do drop a link.
According to SEC rules .0001 is the max. Here’s an investopedia article about Decimal Trading with the SEC rules sources https://www.investopedia.com/terms/d/decimal-trading.asp#citation-1
Time goes in milliseconds, if not smaller like microseconds. Milliseconds: 21:48:55.3024, Nanoseconds: 21:48:55.302442).
High Frequency Trades happen in these periods. 1 second is an eternity for a HFT algorithm.
For anybody that can’t grasp this think of it like this:
The more time you have and the bigger you can make the price in terms of decimals, the more money you can scrape off every trade. If you can do a trade every .0001 second, you can make 1000 trades a second ( 1000 ms = 1 sec ). If you can take $ 0.0001 every trade, you make money. Simple as that.
Sometimes an order is just an order. If you watch the order book you see a lot of trades go through. Lots of the same numbers fly by. It’s simply ignorant and obnoxious to think that every time a 100 or a 1000 comes by it’s a signal. These can just be 100 shares, or shares being bought to hedge options.
I think a thing to keep in mind when looking at these signals is that although a signal comes through, it’s not always upheld. There are a lot of variables in play here: Organic Sell/Buy Pressure. SPY being pumped (yeh.. Just something I noticed lately), Is the price in a favorable position for hedgefunds/algo’s to keep it trading there?
About the signals:
There used to be a picture here but I hit the max of 20
Taken from https://otc.financial/list-of-market-maker-signals/
100 – I need shares
200 – I need shares Badly but do not take the stock down
300 – Take (or I am taking) the stock down at least 30% so I can load shares
400 – Keep it trading sideways
500 – Gap the stock. Gap can be up or down, depending on the direction of the 500 signal
505 – I am short on shares
600 – Apply resistance at the ASK to keep the price from increasing
700 – Move the price up
777 – Also recognized as a signal to move the price up
800 – Prepare for an increase in trading volume
900 – Allow the stock to float and trade freely
911 – Pending News/Press Release on the way
1000 – Don’t let it run
2100 – Let it run
100 and 200 are very common. So common they’re excluded from this research.
There were moments that on a low volume low trade stock like GME 100’s have an impact, but that’s only on price and only for a moment. Most 100’s up will get mitigated by a 100 down.
So I could say that’s a signal, but it’s the most useless one of all of them.
If you watch another ticker with a lot of volume you also see these 100, 200s come by a lot.
To quote /u/mlebjerg
“I need shares”
We all do, congratz
/u/mlebjerg had an interesting thought about the 600 signal: It does not only apply to resistance on the ASK, but also for support.
I agree, and it shows on the chart. I believe it’s a signal to keep the price steady.
Signals like 400, 500, 700, 777 and 900 I think should be interpreted as follows:
The smallest increment possible and within limitations.
As in: We’re talking decimals in price here. .0005 up or down from the current .004 is an increase or decrease.
I’ll show some of this further down this post.
800 is a warning signal. Nothing more.
1000 could be categorized as the 400-900 signals. But also fit 600. ‘Don’t let it run’ again doesn’t necessarily mean whole points. It’s just decimals. It looks like it’s mainly used to suppress movement. Just wanted to point that out separately. Some days a lot of 1000’s come by. I’m inclined to say this also goes for 2100, but I haven’t seen this yet in GME. I have in others while watching the orderbook for a bit.
When looking at the chart and order book you see all kinds of orders.
And sometimes it seems like these orders don’t make sense:
A ‘move price up’ comes in, but the candles closed lower.
This bothered me in the beginning, since this completely disproves the theory.
But then it clicked. I was thinking too big. Sometimes you gotta look at the bigger picture, this wasn’t one of those times. I had to look at the smaller picture.
To be precise, a bigger time frame.
Confused yet? Good.
Allow me to explain:
As I mentioned before, we’re dealing with High Frequency Trading Algorithms, therefore thinking it works on seconds really does not apply.
So I broke down seconds into milliseconds. With /u/mlebjerg’s help I made a chart out of it and suddenly it provided a much bigger, but clearer picture of what was going on and how these signal orders are utilized.
Below is a picture of the chart for 04/29, but in microseconds.
Now you’re like ‘but hatter011, what am I looking at? This looks the same as /u/mlebjerg ‘s chart’
Yes. it does look quite the same, until you zoom in.
Yes.. that’s all part of the same few seconds. And this is just a small part of the whole chart.
At least 13 trades in about 5 seconds, if I counted right.
Let’s take a look at some time later:
From left to right:
600 – Resistance/Support, and the price was contained for a whole second
300 – Down, it isn’t much, but as you can see, the price did go down.
700 – Up!. If you zoom in on that part of the chart (sorry.. hit my picture limit) you can see it bounced down to 127.5 and then up to 127.68 and in a timespan of about 2 minutes the price when slightly up.
400 – Keep it Sideways, 30 seconds of sideways trading.
500 – Gap it
This one is messy.
The signal comes in at 12:00:59:8707 , 127.10
Price goes lower within 3ms
Another order for 127.07 almost 600ms later and the price goes down again
All the way to 127.02 in 100ms.
After this the price goes back up, but that was a whole 5 cent gap.
And that happened multiple times per second before it went up again
The next 2 are also 500 – Gap it. Slightly less messy, but I think the chart says enough📷📷
And the last one was a 600 – sideways:
Well.. just look.
Looks pretty sideways to me.
This was just a small part of the day.
Let’s take a look at another part: The last 10 minutes.
At around 15:50 all the ‘800 – Volume coming’ start coming in.
The last 10 minutes is most of the time indeed filled with volume. Big trades.
So these are pretty much warning signals firing off for the upcoming minutes.
This was just 1 day.
As I said it takes a while to go through all the data and analyze it.
With HFT Algo’s running the show things happen you don’t see on the chart which do have a big influence on how the stock behaves. If you account for the smallest time span possible these Market Maker Signals could very well be applied.
Is that all?
Yeah.. for now at least.
I can fill pages with this by now but I’ll spare you.
But if you want to take a look yourself, I’ve put the charts from last week on my Github page:
I Hope to post an update within the upcoming weeks with more detailed data.
I Also hope this satisfies your curiosity and it opens a healthy discussion about this.
And if anybody has proof that this is all fake and these signals aren’t real, then please do share.
You can find me on the superstonk discord as TimoV
Obligatory Buy, Hold, DRS & Vote 🚀🚀🚀