Okay, hi everyone. My name is Yoram Koren. I, there's a lot to go through, so I'll give an introduction myself in my talk tomorrow. It's interesting that them talking after ad or odd who talked about making things easier, the interface easier for users. This is, this one, in this talk I'm focusing on making life easier for administrators. So I'll just do a brief history of what I'm talking about. In 2006, Semantic Media Wiki was introduced. At that point if you wanted to have a data structure, you needed to create templates, properties, categories, and query pages if you wanted to display all of that information. So life was good, you just had four types of pages. The next year, page forms was introduced. At that point it was called Semantic Forms. And so that added one more page type forms, and now you had five. Then later in that year, Semantic Drilldown was introduced for those who've heard of it. At that point you needed filters as well to create a data structure. And then in 2009, it was still called Semantic Forms. Page forms got this page special run query so that if you wanted to use that, you also had to create query forms, which is really just another kind of form, but it's sort of a separate part of the data structure. And this was really, this was the height of complexity with seven different page types. Then in 2014, Semantic Drilldown, the filters went away, now filters were defined in categories. Filter pages went away, so you're back down to six. And then Cargo came about in 2015. So for people who were using Semantic Media Wiki it was the same thing, but with Cargo there's no properties and you don't really need categories, although it might be a good idea to have anyway. So anyway, so four to six page types, even no matter which of those options you're using, that's complex and it's redundant. There's a lot of duplication of field names and so forth. So the question is, can we eliminate some or all of this redundancy? This is something a lot of people have looked into and I wouldn't be surprised if a lot of people here have looked into this. The usual solution is to create a data model which is defining that whole structure in one place and then you generate everything from that, templates, forms, et cetera. And then if you want to make changes you make changes to your data model and then regenerate everything. So there's a few different approaches to that. One is to define the structure right on the wiki. That's what the page schema's extension does. I think it's the only one that does it this way. And that's what the interface looks like where you're filling out this big form of forms or a meta form or something where you're defining all this stuff and then it generates forms and templates and stuff from that. The second approach is to define the structure somewhere outside the wiki and generate pages from that. There's one called MOBO that is proprietary. There's a European consulting company that uses it. I just mentioned it because they've talked about it at previous events in SMWCon. I think this is the most popular approach although as far as I know, all the solutions remain proprietary, local to that one organization unreleased. Just out of curiosity, who has at their organization something like this? Anyone? Okay, all right. Yeah. Oh, you have something like this. Yeah, I mean, with these structures how can we do it in UML? Okay, great. Well, I'll be... And that means you can do this UML. Sure, yeah. And you have something too, at NATO. Yeah, we're working on it and I hope to use a lightning speech to show a little bit what we have going on. Great. Then finally, the third approach is one that as far as I know is only used at MITRE, but it's quite interesting which is you define the structure in some sort of database and then have pages that query the structure so you're not really regenerating anything because the templates and forms are just little stubs. In MITRE's case, they use Scribunto slash Lua to add, if you don't know what that is, it's fine. I mean, the basic idea is you don't actually have all these separate components on the wiki, they're just pulling in the data from one place which is really neat, but for some reason, I don't think that many people are using that approach. So one weakness of all these approaches is that even in the best case, they're adding more complexity. In addition now to forms, templates, et cetera, you also have this other thing that you have to deal and maintain with. And it can be hard for users to figure out where to go or what to do if they wanna change something because it's not obvious looking at the wiki, what's going on, where the structure is actually defined. So this is just one thing I wanna talk about which is using the cargo extension specifically, maybe possible to truly simplify creation of the data structure down to just one thing which is templates and let the template define everything and let everything learn from that or read from that and get defined. So just briefly, I don't actually explain cargo here, it's an open source media wiki extension that's similar in its goals to semantic media wiki, but the key thing here is within cargo, all of a class is defined in a call to cargo declare which is a parser function within a template. So can we base everything around that? So here's an example, a very simple cargo declare call. So you wanna have pages about people. So in a template called person, you would say the name of this database table is people and then here are the three fields that I'm using and their types and the last one is a list which is that's something that the cargo has that SMW doesn't, there you just need to use a ray map to split up a list. And then yeah, so before we get into cargo, what about semantic media wiki? I think most people here use semantic media wiki. It could be done in semantic media wiki too, interestingly enough, part of why I call the cargo declare is because there is something in semantic media wiki called declare. I think no one uses it. Does anyone here use it? Yeah, oh, okay, I'll talk to you later. Often or, yeah, okay, yeah, I didn't think so. If you go to semanticmediawiki.org, I actually wasn't sure that it still existed. Use the search. Oh, I see, yeah, if you do a search within the wiki, that wiki, semanticmediawiki.org. Yeah, so what declare does is instead of a lot of set calls you say at the beginning, this template field gets set with this property and this other template field gets set with this property and so forth, yeah. Is that right? Yeah, I mean you can see clearly it's the same thing. Yeah, yeah, it's not that sophisticated. But it too could, in theory, it's the right mechanism to support additional statements about each field and property because you already have a parser function there. Will it happen to me to use the wiki? I don't know, no idea, not my jurisdiction. So, okay, so back to cargo. And I don't really have time to show examples of any of these, but filtering and cargo is all automated already, meaning unlike with semanticmediawiki, you don't need to define filters, it just looks at all the fields you have and their types and sets the drill down interface accordingly, so for instance, date fields will get drill down based on year first and then month, et cetera, and sorry if this is not making any sense, but the basic idea is that that's the easier part is filtering. Now forms is interesting, forms is interesting? Sure. Can you generate forms automatically based on only on the defined data structure meaning have form editing without form definitions? This could already be done, there's really no reason why it's not implemented already or no good reason, especially if you just have the simplest kind of form which is you just have one template at the top of your page, you already know all the fields in that template, so why not just have the code automatically generate a form to edit the page? So the basic idea is if there's no form specified for some page and that page calls a template and you know that the template calls a cargo table because in this case I'm talking about cargo, then you just create an on the fly form using those fields. Tied in with that, there's already quite a lot that forms do read from templates. And this is true for both cargo and semantic media wiki. I mean the input type, it tries to be smart about it and set the right input type based on the type of the property with SMW or field with cargo. Same thing with the lab values for both SMW and cargo that already happens. For cargo there's also the concept of hierarchy which I'll get to. Very new features in cargo and page forms is now you can set that a field is mandatory within cargo, and you don't have to do it within the form. So, and then so that within the form you just say this is the field and put the input for it right here. If it's specified already as mandatory, then it'll be made mandatory in the form too. The same is true for unique if you want something to be a unique value and reg X which is less important, but that's for stuff like phone numbers and so forth. For mandatory it's interesting and I wish I had some images because this is a lot to process but it's interesting because if you just set a field as mandatory in a form then if somebody goes and edits the page directly and edits the template called directly it won't be mandatory for them. I mean they can just set it to whatever they want. But if you do it within the data structure within the data storage in this case in cargo then you can have cargo itself throw up an error or something if you try to save a value that a blank value to that field. So it's sort of a more foolproof way of defining and the same is true for unique and reg X. This maybe illustrates it a little better if you have something like this in a cargo declare call if you have some field for color that can only be red blue or yellow for some reason and you set it to be mandatory then in the form automatically you'll have a dropdown input that is mandatory. You just need to specify for the field color and it'll take care of the rest. And then additionally if you go to edit the page without the form it'll still be mandatory and it'll have to be one of those values. Actually I'm not sure if it'll have to be one of those values but it will be mandatory from cargo's perspective. So that's a few things that most things can't yet be set within cargo that you can set within a form definition. These are sort of in decreasing order of importance the big two which are tied in are having more than one template in a form and having one or more of those templates be multiple instance templates if you know about those that's a way to define a whole table of data within one page. So I would get to all of those but there's not enough time to, oh actually no I am getting to multiple instance templates. Okay so let's take a specific example. Once again we're talking about pages about people and there's a form called person and it's going to have, you want each page about people to have not just information about them but about all the jobs they've had and jobs aren't something you can really fit into that person template because it's sort of a table of data it's not just a list of texts of strings it's more than that. So you need a multiple instance template for that. Can we define that within cargo declare and hopefully this will make more sense as we go through this. So what I suggest, what I'm thinking could work is have something called child tables, a new parameter to cargo declare where you specify for this main table this the jobs table is one child's table and you can have more than one and there's a reason why you'd want embed in field in there too but it's not that important. And then interestingly you can use that not just in forms but also in filtering and queries. But yeah, so the way this would work in forms I'm not even sure if I have a slide to explain how it works in forms. The basic idea is you don't have a form for people the code goes to try to create a form automatically it sees that this person table has a child table called jobs so it says okay I'll go ahead and create a multiple instance template for the job template because I know that the job template corresponds to the jobs table, it's very confusing. But in drill down that could work in that in that it would let you drill down based on not just the fields of the table called people but also additionally on job related fields which is quite useful. I mean that's something that people have asked about a lot in semantic drill down is how do I do filtering based on the data from more than one table, combine tables together or more than one category I guess in case of semantic drill down. And then this is more minor but for queries and here's an example of a query for cargo it's the parts of function called cargo query. The second line the one in red could be made optional if the child table relationship is defined but that's really not a big deal. It just sort of would indicate that this is a holistic approach that sees all of these things as related. Data storage, data entry, querying and drill down. Usually when people talk about data structure they're just talking about data storage. But what I'm saying is there should be a way to get some synergy and if you define things the right way to be able to really create all of these interfaces from that one structure. So interestingly speaking of UML this ties into UML. I mean maybe the old Holy Grail or maybe the current Holy Grail for some people with all of this data structure stuff in MediaWiki is to define all your classes in UML file because that's the usual way that people define structured data and then from that generate templates and forms we have an example of someone who's doing that here. So just briefly if you don't know about UML it stands for Unified Modeling Language and if you ever see a little chart like this that's UML or that's the graphical representation of UML. I'm not even sure if UML is, if it has to be visual or if this defines a UML file or something, I don't know. It's just the graphical representation. Okay, okay, okay, okay. Yeah, so an image like this would, that's an example of UML. I think this can't work because UML is just not good enough. Basically it's a wrapper around SQL or around the tables within a database within an SQL based database. And it really is a very closely wraps around that meaning if you can't do it in a database table then you can't do it in a, you can't structure it in UML class, I think. So let me give an example of something that can't be done in UML. Hierarchies. This is, there's, as far as I know, there's two, in my way of looking at it, there's two kinds of hierarchies, single field and multi field. Single field an example of that would be genre for a movie or a book or something where you have just the genre can have any level of granularity. You can say this is a drama film or this is a historical drama film which is a subset of that or biblical drama which is a subset of that. So it's going to be, every one of these nodes will be, are possible value for the genre field versus a multi field hierarchy. An example of that is continent, country and city. That's pretty typical one location based stuff where you'll have different fields in the table for these different things but each one can only be, you know, not really a subset but a child or whatever of that of the field above it. So yeah, so there's two kinds. I don't think UML can represent either one per se. I mean you can obviously, well not obviously, you can define all the tables that are needed to represent a hierarchy field and make something complex but you should be able to and you can't just say this is a field, this field genre in the table called movies holds a hierarchy of values and here's the full list of 50 values that it can hold. Yes? So if you say the country is within a continent and the city is within the country, you're just defining a relationship type which is a containment type. But what on the left is your category? It's your category hierarchy. In media, in media making. And in UML, it's exactly the same. It's exactly the same. It's exactly the same. And in UML, it's exactly the same. So you can define, okay. Yeah, I've screwed up. Yeah. You can define and hold anything. Never say that you don't want anything. You get no problem with anything about the cost of it. Because I don't think that's why it's universal. Okay, fine, thank you. No, it's unified. I list, okay. I feel better. I corrected one person at least. Okay, well, I'm both embarrassed and excited to hear that. That's weird. Okay, I should have asked someone when I was doing my research because I looked into all this stuff and I couldn't find anything for that. Okay, that'll be, that's good to know. Well, okay. Well, there goes, yeah, that sounds good. Yeah, okay. Well, it doesn't really detract from my main point which is simplifying things, but that actually is very good to know. So, okay, well, yeah. Yeah, to cover your sheets, yes. It's a very specialized don't need. Yeah, I mean, I read through a whole UNL cheat sheet and there wasn't anything, or a few of them actually, and there wasn't anything that looked like, like that category or enclosure or whatever it was. It's the same one you had with the declare statement. You didn't talk to anyone about this. I mean, if Ike was using declare, it seems like he would have been a good person to talk to. Maybe talk to people. No man is an island. Okay. Okay, so here is how hierarchy support is done within page forms, cargo and semantic media week at the moment. There is, again, there's the concept of single field and multi-field hierarchies and they have to be implemented in two different ways. Single field hierarchies are supported as of pretty recently, maybe six months ago, in page forms and cargo. They are sort of supported in semantic media week via categories. I mean, you can create a whole tree of categories and then if you query for something in the main tree, it will also find anything in the top level node. It'll also find anything in any of its subcategories. So if you're using categories, then you can do that with semantic media week. Sub properties. Okay, that's not, that's, yeah, it's, okay. Okay. Well, I, okay, that's, yeah. I don't know if we'll have time to go over that, but it would be interesting to talk about that too. Multi-field hierarchy is the thing with like, with, you know, country, city or whatever else, country, state, city. It's sort of supported in page forms with show on select and values dependent on, those are two different ways of doing, depending on exactly how your data is structured. It's not yet supported in cargo or semantic media wiki, but it certainly is something that I would like to see added to cargo declare in the cargo extension. Finally, this is not really something I'm getting into detail about, but it could be that the creation of the templates itself is simplifiable too. Maybe cargo declares all you need within a template and you don't even need for the template to, to, you know, display a whole, it's standard big chunk of wiki text that actually does all the displaying. So in a sense, the template could query itself, I guess, and find out what all the fields are and how they should all be displayed. And that would really, that I think is really something that could, that could, would be the apex of this whole thing is really just having a single declaration of a table within a template and then basing everything around that. Somebody else mentioned the Google Summer of Code. Actually there's a, there's a planned Google Summer of Code for the project for this summer that I'll hopefully be co-mentoring to improve the special drill down page in cargo, which is gonna cover some of these things that should, we'll start this summer hopefully. Has anyone tried to make a comprehensive? Well, I guess you've answered the question. I guess UML is it, I really, what? Sorry, yeah, go ahead. Okay, no, I'm very curious to hear what you think about this one actually. Well, we've had some discussion. Yeah, I'm gonna add a slide to my presentation tomorrow just to show an ontology done in UML. But it's relatively simple. It's pretty much aligned with Semantic Web. There are some subtle differences on inheritance. Inheritance doesn't work the same way in Semantic Web. But as an editing function to give you a roadmap before you start, it's excellent. And it's effectively free and vizio. UML, yeah. Yeah, okay, yeah, okay. Hi, so just one, I guess a clarification and a comment. So thank you for what you said about MITRE, but you sort of gave us a little bit, or my previous life, a little bit too much credit. We weren't doing anything quite that fancy. However, Toby Otterer gave a talk about using Scribonto last year at EMWCon, and he was doing some amazing things that really helped. We definitely do things, but it's a little bit more manual than you, yeah. Okay. I would aspire to do it as well as you described it. You had it though in at least one. Yeah, and I use a lot of Scribonto. That's absolutely true. Okay. Yeah, but it was in its infancy, and at some point I'd like to explore more the things that Toby was talking about last year. Yeah, yeah, sure. Well, that's my talk, yeah. If anybody has any more questions or comments, anything or corrections. Oh, yeah. Thank you. I was just wondering if you would be asked to suggest an extension, Sematic with a wiki versus cargo. Which one of these two extension would you suggest? Yeah, I'm not sure I'm the person to ask. I would. Last year. What? Last year. Yeah, I've given various talks on this kind of thing. I think cargo is preferable. I have a talk tomorrow where I'm going to go over it just very briefly. Okay, thank you. Okay, thank you.


Hello, everyone. Welcome to Options with Doug, streaming live daily on Bookmap Discord and the Bookmap YouTube channel at 1.30 p.m. Eastern Time. Before I get started, I need to go through the Disclosures. General disclosure, all Bookmap limited materials, information, and presentations are for educational purposes only and should not be considered specific investment advice nor recommendations. Risk disclosure, trading futures, equities, and options involve substantial risk of loss and is not suitable for all investors. Past performance is not necessarily indicative of future results. The focus of my presentation and the focus of the options-doug chat channel in Discord is options, order flow, the impact of options markets on stocks and futures, and the influence of market maker hedging flow on price action. I have a two-step process for trading and the first is planning, and I use positional analysis. I look at how traders and market makers are positioned in the options market and how those positions change from day to day to develop a thesis regarding the expected trading range and volatility for the day, as well as the directional bias. And the second step in my process is execution. And I look at real-time order flow in Bookmap and real-time market maker hedging flow in SpotGammaHero to confirm my thesis and for setups. And just to be clear, I will be talking about setups today and those setups can be taken any number of ways with futures, shares of stock, or options. And my timeframe is typically day trading, but what I'm going to talk about today could definitely apply to longer timeframe swing trades as well. Questions and comments are welcome, and I will be watching the options-doug chat channel in Discord and the chat and YouTube for your questions and comments. So again, please feel free to post your questions and comments. All right, let's get started. My agenda for today is, first of all, go over news items for today and the rest of the week, economic data events, and then I'll go through my positional analysis, and then I'll review a few setups from the morning and then we'll talk about the live market. So if anybody has anything that they want me to take a look at when we get to the live market, please let me know. Stocks, I have, you know, I can look at a variety of stocks. So again, just let me know when we get to the live market. All right, let's get started. First of all, news items. Today is a fairly, this week is a fairly light news week with a highlight of Jerome Powell testifying before Congress, today before the House, and tomorrow before the Senate, I believe. So I don't know if there was much of a market reaction. I think his statement was released in advance of his testimony. All right, let's get started. Let's take a look at some charts and I'll go to my positional analysis. And let's go to the S&P 500. This is the ES Futures, excuse me, ES Futures and BookMap. And before, let me clean this chart up just a little bit. I've got some extra lines on here. Okay, that's better. All right, so this is the S&P 500 futures. And before I take a closer look at this chart, I want to take a look at a larger time frame. So let's go to an SPX chart. First of all, I'm going to took a look at this chart yesterday. I'm going to look at it again today. And this is the SPX in a one day chart going back to, going back to the March expiration. And what I want to point out here is this call dominated expiration dynamic. And notice what happens maybe immediately after or shortly after a call dominated expiration. It's essentially a call gamma unwind. And really the market makers position on the gamma curve really shifted to positive, a call dominated expiration around the beginning of March. And that would be right about here. So this is the, again, I talked about this yesterday, call dominated environment. Traders have been buying calls and it was just crazy last week. Record volume for calls in SPX. When traders buy calls, market makers are selling calls, they have to buy futures or stock to hedge their delta exposure. Well, a lot of that call gamma expired on the June expiration last Friday and market makers can unwind or sell their long hedges, futures or stocks. So this is a pretty typical of a call dominated positive gamma environment and just the opposite of what was occurring last week, last year with a put banner rally often after expiration. All right, so that is the daily chart going back to the beginning of March. Now let's take a look at another SPX chart. This is a 30 day one hour chart showing SPX. And this is, let me point out some levels here. First of all, this dash purple line, lower and upper edge the expected move for the week. And as you recall from last week, SPX traded massively above the upper weekly expected move. And today, this week so far is trading very close to the lower weekly expected move. And then the daily expected move, upper and lower shown with a dash blue lines. And SPX has traded below that level today and is now trading above that level. So SPX came close to the lower weekly expected move and traded below the lower daily expected move and now is trading above. Let me point out and those levels come from the options market. If you can calculate it on your own or if you have any trading platform that has an option chain you should be able to get that information. Let me point out some other levels here. This is, I'm using a script from Spot Gamma that is provided to Spot Gamma subscribers for a variety of platforms. Again, we're looking at thinkorswim here. So this first level is the SPX 4000 put wall. That's the strike with Lord's net negative gamma that can be expected to act as support. And that is well out of play for today. And then the next level is the volatility trigger at 4310. And that is Spot Gamma's proprietary gamma flip level. Below that level market makers position on the gamma curve is negative. In a negative gamma environment they have to trade with price to hedge their delta exposure. And that tends to enhance volatility. And on the other hand like SPX is trading now above that level market makers position on the gamma curve is positive. In a positive gamma environment they have to trade against price to hedge their delta exposure. And that tends to subdue volatility. And note that level did increase from yesterday from 4295 yesterday to 4310 today. And then the next level of interest is the 4400 level. And that is the absolute gamma strike. And that is a strike with the largest absolute gamma. It is a dominating strike in the when you look at absolute gamma for SPX. And that is also Spot Gamma's pivot level. And their bias is bearish below that level and bullish above. So right now SPX is trading below that level. And then the next level of interest is the call wall at 4500. That is a strike with the largest net positive gamma. And that can be expected to act as resistance. Alright so shifts in levels for the S&P 500. For the SPX the only shift was the volatility trigger shifting higher like I mentioned. Let's take a look at one other SPX chart. And this is for today one day one minute showing the levels that are in play. And this is the combo L4 level at 4376. That was noted as support in the Spot Gamma AM founders note. And it's actually has been acting as resistance. And then here's the lower weekly expected move and lower daily expected move. So SPX is trading has traded down somewhere between those two levels. And note one other level of interest. Gamma level is this JP Morgan collar short call strike at 4320. And this has been a very important level at expirations. And this expires at the end of June. So this is the JP Morgan has three different mutual funds that use put spreads, long put spreads. They pay for those put spreads with a short call. And this short call has very often been in play at expirations in recent months. And it can act as a very strong magnet for price. If price moves down, it will act as a very strong magnet as expiration approaches. And as price gets closer to that, the gamma will increase. Gamma is greatest at the money at expiration. So that is a if price continues to move lower, that is a potential target. Let's take a look at book map now. In book map, pretty narrow range today, range day. Let me point out some levels. And I'm going to just point out my column of notes here. This is my C levels, cloud notes. And I have, first of all, spot gamma levels. Again, there's that 4370 76 strike. That's ESPX 4376. I also have spy levels. There's the spy 435 large gamma three level. And that level was support yesterday. And then this afternoon has been acting as support. And then here's the lower weekly expected move, lower daily expected move. This is for ES and it's a little bit different than SPX. So this is calculated for ES. And the move that we saw, the lower daily expected move on the SPX chart, was calculated for SPX. So note those levels had acted as support and also a good price target for short this morning as price moved below the 436 level spy 436 and the SPX 4376 level. And we'll talk more about setups in a few minutes. And in YouTube, Second Wins ask, would it be fair to say that JP Morgan will then do everything to bring it to that price, even if price is above? I'm not sure about that. Their whole purpose for this long put spread and short call is to hedge a long stock portfolio. So they're not, the intention of this is not really for JP Morgan to make money with this hedge. It's just a hedge. And if they're losing money on their hedge, they're making money on their stock portfolio. So I don't know if JP Morgan would have any incentive to move price lower. There's a good chance that if it continues lower, it may, SPX may move lower to that strike without JP Morgan doing anything. I don't know if there's anything they could do to have such a strong influence on price anyway. All right, so that's the S&P 500, the levels on play. Again, a pretty narrow range today. Let's take a look at NASDAQ. And RJ says, great insight. Top Tick was right at the open on Friday, exactly. So this call-dominated dynamic has definitely been in play and based on past history was a pretty clear read. All right, so for the NASDAQ, more of a trend down day, especially in the morning. Let's take a look, first of all, at a QQQ chart. See the levels that are in play. So for QQQ, this is a one-day, one-minute chart. And in the morning, the 366th level was resistance. And note a couple of key gamma levels in play here. There's the 364 volatility trigger. And that did move lower from yesterday. And then here's the put wall at 362. And now, as price has moved up, as acting as support. And that moved up pretty substantially from yesterday. It was 325 yesterday, so it moved up to 362. So more in-range in play today. And now, by the way, I forgot to mention spy shifts and levels. Spy volatility trigger, put wall and call wall all shifted lower. So that's definitely bearish. Again, the volatility trigger, put wall and call wall all shifted lower for spy. For the NASDAQ, the NDX volatility trigger and put wall shifted lower. And for QQQ, the volatility trigger shifted lower, as I mentioned, put wall shifted higher. And the absolute gamma strike shifted lower. So the absolute gamma strike is down at 360, so below price on this chart. All right, so those are the levels that are in play for QQQ. And they're shown on this chart. Again, I have my own cloud notes here. There's the 366 level that was resistance this morning, just after the cash open. Here's the 365 level. And that's in close proximity to the... Actually, I've got that wrong now. The put wall is that, for NDX is at 14,475. So I need to update that note. 15,000 is a gamma level, but it is not the put wall. And note, NQ has been trading since early morning, since around 10 a.m., below the lower daily expected move, and has traded below the lower weekly expected move. And then here's the QQQ 362 put wall that now is acting as support. So much more of a trend day down in the NASDAQ, although it does appear that it is trying to recover. All right, I mentioned the shifts in levels. So overall shifts in levels lower for SPI, NDX, and QQQ all pointed to a bearish thesis for today, as well as the call dominated expiration dynamic continuing to be in play. Let's take a look at the Vana model in just a second. So this is the Vana model for SPX. I like to look at this every day. What this chart is showing is market makers delta notional or delta exposure on the vertical axis, and this is how it changes with changes in price. And that is shown by this light gray curve here. So this is showing as price increases. Market makers delta notional will increase, and they will have to sell futures to hedge their delta exposure as price increases. And this purple curve adds implied volatility to the equation. So this is showing how market makers delta notional will change with changes in price and implied volatility. And that change in implied volatility and change in delta with a change in implied volatility is the Vana effect, hence the name of this chart, the Vana model. So what this is showing is as price increases, market makers will have slightly less delta notional to hedge as shown by the delta only curve. On the other hand, as price decreases, they will have substantially more delta notional to hedge. So they'll, as price decreases and implied volatility increases, they will have to sell futures to hedge their delta exposure. All right, let's see where SPX is trading right now. Give me just a moment to bring up a watch list. So I've got SPX at around 43.72. So that's right around here. So at 43.72, 43.73. So what this is showing is if price increases, there may be just a little bit of a tailwind as their delta notional decreases and market makers can buy back short hedges. On the other hand, if price continues to decrease down toward that 43.20 strike that I talked about earlier, market makers will need to sell futures to hedge their delta exposure, and that will enhance the movement down. That will add to it, add fuel to it. All right, that is the SPX. And just a note, we'll take a look at this in just a moment, that the gamma notional for SPX is positive. And then on the other hand, for spy, it's negative. So note the shift in the gamma curve, which is oriented for spy, more towards a negative gamma environment, and the same for QQQ. All right, let's take a look at a little bit of data here. What I want to take a look at is this gamma notional and the spot gamma, gamma index for SPX, spy, NDX, and QQQ. What this is showing, market makers position on the gamma curve. So as I mentioned, gamma notional is positive, but less positive than yesterday for SPX. So gamma notional shifted down, but still positive. And for spy, gamma notional is negative, minus 711 million, and this shifted lower or more negative for spy from yesterday. And note for QQQ, it's also negative, but less negative than yesterday. So gamma notional shifted slightly higher, but still negative for QQQ. One other number to take note of is the spot gamma, gamma index, and that's a proprietary measurement of total market gamma for SPX. And that ranges from minus 4 to positive 4. And when the number's positive, that indicates, again, market makers position is positive, and that tends to, their stats show, spot gamma stats show lower volatility environment. The higher the spot gamma, gamma index goes. And that number has been decreasing and last Friday at the options expiration, it was up over 3, which is extremely high. All right, so we know how market makers are positioned on the gamma curve, positive for SPX, and negative for spy, and then slightly negative for QQQ. So again, my thesis for the day was bearish. I was looking for short setups that had to do with the shifts lower in levels as well as the post expiration call dominated dynamic that I've talked about yesterday and today. All right, let's take a look at some setups. So I'm going to start with the S&P 500 hero chart. So I'm going to look at the S&P 500 NASDAQ, and then I've just picked out a few stocks, AMD, Microsoft, Nvidia, and Second Wins ask about AMD. So yes, we will look at AMD. All right, so the S&P 500, let me point out what this chart is showing.  This is showing a combined signal for the S&P 500, SPX, spy, XSP, and ES futures. All into one combined signal showing options, trades, and market maker hedging flow, or hedging activity, hedging pressure, and note this number is very positive, indicating overall net options traders are taking positive delta positions. So I'm going to take a look at the individual components of this, and then we'll open up this chart, expand it, and then take a closer look, and then we'll go back to book map. So first of all, let's take a look at the individual components. SPX, very bullish today, 2.2 billion, positive 2.2 billion, and for spy, also positive 484 million, but a lot closer correlation with price today. So spy trades today have been a good confirmation, and then here's ES futures, and this number's slightly negative, and then here's the combined signal. All right, let's zoom in on this, take a closer look, and I'm going to focus on the morning session. This is typically when I trade. So in the morning, again, I was looking for short setups, and hero was somewhat of a confirmation for short, starting about right here, just around 9.45, and then another confirmation around 10.40, and then really set up a divergence long after that, around 10.50. So let's go take a look. So we're looking for shorts at 9.50 and 10.40, and then a potential long at 10.50. So a short at 10.40, long at 10.50. All right, let's go to book map. I'm going to go back to SAP 500, zoom in on the morning, and the first notable thing here is the, what I interpret as the bearish order flow. Note all these lines in the subchart, continuing to slope down. So this, the pink line here, that's cumulative volume delta, that's sloping down, that's negative or bearish. The light blue line is showing iceberg order, so large traders were selling ES with iceberg orders they used to hide their size, and then finally this yellow line is showing stop orders, so stop orders, sell stop orders, helping to fuel the move lower. So all bearish order flow, I'm going to zoom in just a little bit more here. So we just focus on the short setups. So here we can see looking back at this timeframe that icebergs, stops, CVD, all negative. Definitely looking for shorts. All right, here's the first setup. Note the sweep up to almost to this 43.76 level, and then the shift, first of all, iceberg orders selling on the way up. That was a buy, a little bit of a buy stop run, shown by this green dot here. So buy stop run up to just below the 43.76 level, and then order flow shifts negative. Oops, wrong tool. So you've got the iceberg orders, aggressive sellers coming in, and that was a good short, the first short entry with the targets at the lower daily expected move and lower weekly expected move. All right, the next, remember that, just watching order flow here, that order flow continued to be bearish, and the next short setup was a break out of this consolidation and, again, the same targets. Lower daily, lower weekly expected moves. So here's the long setup. Really starts to play out around 1120. Again, remember, hero is showing that options traders were taking bullish positions, positive delta. So range day playing out in the S&P 500, and now it looks like it has gone back to that 43.76 level, and ES has traded a little bit above that level. Let's take a look at NASDAQ. I'm going to zoom in, and one thing that I always focus on in order flow is this yellow line, stop orders, that is very often a very good directional indicator, showing that sell stops have been fueling the move lower all along. So just looking at this, looking at order flow, here's the resistance at the 366 level, shift in order flow, a lot of aggressive sellers coming in, price breaks below the 365 level, and then the QQQ volatility trigger acts as resistance as price continues lower, making lower highs with what appears to be the ultimate price target today so far at the 15,000 level and Q15,000 and QQQ 361. Let's go take a look at hero, and hero was not, options traders not really in sync with price today for the NASDAQ, at least in the morning session. And this is a combined signal for NDX and QQQ. So in the morning, options trades going one way and price going another, so options trades did not have much influence on the NASDAQ today. Let's just take a look at, go back to thinkorswim. So here it's pretty obvious what is driving NASDAQ lower. Notice the green red for the Magnificent 7, Google, Apple, Microsoft. Looks like Apple and Amazon may be neutral, but Tesla very red, very strong drop today. I think there was actually a downgrade for Tesla today. Some analysts said it's time to take profit, stating the obvious. So anyway, just one look at this and you can tell what is driving NASDAQ. Let's take a look at a couple of stocks. So second one wants to take a look at AMD. So there you go, AMD. We'll zoom in on the morning session. So note the levels are in play. RJ will take a look at Tesla in just a moment. So here's a couple of gamma levels in play. The 120 key gamma strike and the 118 hedgewall. And so the call buyers that were driving prices higher in all these stocks are gone now. All right, so this is showing that traders let's zoom in on this just a little bit more. So in the morning here, traders were selling calls. Note this number is negative, large numbers negative. So that shows they're selling calls and also the blue number is negative showing they're buying puts. So selling calls and buying puts in AMD. Let's go take a look at book map. Here's AMD. And very nice downtrend in AMD, remember 118 is the hedgewall. So nice drop lower in AMD. There are multiple liquidity targets below. All right, the next, let's just go over to Nvidia. So this is pretty typical of Nvidia. The dip buyers always seem to come in, but definitely bearish this morning. Note the, in this drop in the morning, not a green volume dot to be found anywhere. Oops, wrong tool. And this move lower. One pink volume dot after another showing aggressive sellers. Let's go take a look at hero, look at Nvidia. So it looks like the call buyers have come in and prices now moving lower. So the, you know, the dip buyers are here, but in the morning traders were buying puts and selling calls and prices moving lower. We'll zoom out now and see that the call buyers started coming in around 11am, something like that. And the put buyers have slowed down a bit. This line, the slope of this line has not quite leveled off, but it is not as sharp as it was up until about 11, 1130. But the put buyers are still more aggressive than the call buyers. But now when the call buyers price is starting to move higher and then RJ wants to take a look at Tesla. So let's see what traders are doing. Again, I believe there was, there was news for Tesla, I believe a downgrade. Let's take a look. So move lower in Tesla. Let's take a look at the total signal. So overall negative for Tesla. Negative Delta's traders taking negative Delta positions. We'll go take a look at bookbump. There's Nvidia and the dip buyer started to come in about 11. Let me just check something here in a watch list. So Tesla's down a little over 4% today, so not really much for Tesla, but definitely bearish order flow. Again, not many green volume dots, but the dip buyers are starting to come in. Let's take a look at Hero again. So 260 is the key gamma strike. So it looks like that. Around that level, Tesla may have found support. Again, at the 260 key gamma strike. Back to bookbump. So there's the 260 strike, key gamma strike. Note the high liquidity at that level. And Tesla often will overshoot a level, but now it is appearing to be recovering. So Tesla moved about two points lower than the 260 strike. Moved up, moved back down to the 259 as now moving higher. Let's go back to Hero and see what traders are doing. Let's zoom in a bit. Separate outputs and calls. So this is not really, let's change the rolling window. So now this makes it a little bit more clear that about around one o'clock or so, traders started buying calls shown by the rising orange line and also selling puts. So just looking at the last 30 minutes of data here, this is bullish. Traders buying calls. And now Tesla's moving up above the 260 key gamma strike. All right, so great, great short set up in the morning. And then Tesla is trying to recover. Let's go back to total. All right, if anybody else has any other stocks you want me to take a look at, let me know. Otherwise we'll go to the broad market. Let's go to the S&P 500. And this total signal continues to be quite bullish. And now it looks like the S&P 500 may be trading at the high of the cash session. We'll go take a look at book map. Yeah, now it has broken above the, that SPI 436 level as well as the SPX 43.76 level. Found support at the SPI 435 level that was support yesterday. So now it looks like some larger traders are coming in to buy some of the iceberg orders here. Note the move higher in the light blue line. Also some buy stop orders fueling the move higher. So let's see where the S&P 500 could be hitting. And it looks like the next target above is the SPI 437 level. And that is the volatility trigger for SPI. And remember we saw that SPI was trading in a negative gamut. So we're not going to make your position on the gamut curve. SPI was negative at the beginning of the day. And Sampan asks, do you have SPOT Gamma Pro or the SPOT Gamma Alpha subscription? And I have Alpha. And Alpha includes hero. So Alpha includes all the features of SPOT Gamma including hero. Alright, so the way I trade I would be looking for right now the ES is between levels. So I like to trade levels. So I would look for a pullback down to the 4376 level or a move higher to the 437 level and see how price reacted see what options traders were doing at one of those two levels. Let's take a look at NASDAQ. So now NASDAQ is above the lower daily expected move. Cumulative volume delta definitely positive. But stops and icebergs still look bearish to me. I'm looking at the subchart at the lines in the subchart. And remember 364 is the QQQ volatility trigger. And now NASDAQ is trying to move above that level. So both the SOB500 and NASDAQ are NASDAQ almost an hour into an up move. Let's see what options traders are doing at NASDAQ. So we know they're still bullish in the SOB500. Go to NASDAQ. Let's zoom in on this. Notice on this chart that the hero signal is pretty flat. And this is a cumulative signal for the entire day. And what I want to do is take a look at a shorter time frame. So I'm going to go just to the 30-day 30-minute rolling window period and it's still pretty flat. So options traders are still not having a lot of influence on price action. So right now in the last 30 minutes they are buyers of puts and they're selling calls but just not again a lot of influence on price action. Let's go back and take a look at NASDAQ. Zoom in a bit. So for NASDAQ, if I was looking for short based on what options traders are doing I would definitely wait for a lower high. So right now NASDAQ appears to be making lower lows and maybe has found resistance at the 364 level although order flow still looks positive. Looks like there are still some aggressive buyers here. If I was looking for short in NASDAQ I would wait for a lower high to confirm a move lower. So maybe a move down below the lower daily expected move. Let's look for targets above. So targets above the next is the NQ 15,150 and then the QQQ 365 level. Let's check on the S&P 500. So S&P 500 still slowly making its way up to the 437 volatility trigger and for the S&P 500 the order flow looks more bullish to me. Rising cumulative volume delta my stop orders although negative for the day as well as CVD they are rising now. Note the buy stop orders helping to fuel the move higher. Alright my time is up for the S&P 500 it looks like the spy 437 level may be inevitable although there are some sellers here at the 4429 and the 4430 level shown by the heat map there. So it looks like they're front running the 437 level. We'll just darken that up just a bit. Some sellers in there front running. Alright so Sam Pan asked what is the reason for the S&P 500 to cross the volatility trigger level in the middle of the day. It's just another level that I mean any reason. So we see now that I've just talked about the dynamics for price to increase buy stop orders aggressive buyers iceberg orders CVD has been rising. Large traders in there buying with iceberg orders so I mean the usual suspects for driving price higher are in here at play. So this is a zero for the S&P 500 there's NASDAQ let's go to the S&P 500 and again remember we're looking at a 30 minute rolling window period so options traders taking positive delta positions and there they have gone through the front run the traders front running that 437 level my stop orders and as expected then at least short term that level acts as resistance and pretty amazing clarity you get with book map here and when you have the correct levels and it looks like the S&P 500 traded up to that level to the tick almost I've got it at 44, 30, 50 and it looks like that's exactly where so far the ES reverse lower stop run up through the liquidity that was front running that level and price traded lower all right that's a good way to end the day I want to thank you everyone for watching thanks for your questions and comments remember Jerome Powell will testify before the senate tomorrow at 10 a.m. again so we'll talk about that tomorrow afternoon so everyone thanks again thanks for watching thanks for your questions and comments and I will see you tomorrow bye