This workshop gives you flexible ideas on how to manage positions intelligently as they approach expiration. Many of these techniques have been shared in the Community.
We focus on using monitor automations and explore different decision making paths a bot can take as a position approaches expiration.
Get new ideas for adjusting pricing based on bid-ask spread width, contract moneyness, profit targets, and more.
After watching this workshop, you may want to consider adding expiration management automations to all your bots.
Again, welcome to the bot workshop this week. We got a really cool one today where we’re gonna be deep diving on management during expiration week. So our sole focus and tunnel vision this week is on monitor automation. And then, more specifically, how we can use some of these monitor automations to manage positions during expiration week.
And my only goal in this workshop today is to give you a lot of ideas on how you can do it, how you can possibly structure things. There’s absolutely no one way to do this. Not suggesting you always do it the same way that we present. There’s a lot of different avenues and ways you can kind of mix and match and mold your bots in your automations that would fit how you wanna trade.
So my goal is to hopefully give you a lot of ideas. Many of which have been sourced from our team like we see so many different bots and templates and people having things that come over and they say, I thought I was gonna do this, and I want to do this. How do I accomplish it? So we really wanna try to make this workshop as valuable to you as possible and also share some of our things that we found as we go through it.
So in this workshop, like I said, we’re gonna be focusing on the flexible bot management that you can do during expiration week. I say it’s really flexible because it frankly really is. You can do a lot of different things during expiration week specifically. So we’ll assume for the rest of the workshop that were in expiration week, and we want to start, you know, figuring out what to do with the position, but we’re not necessarily there, right? Like we’re not there anymore. We are gonna offload the management positions to the bot, so we wanna tell the bot all the things that we want the bot to do.
So here’s kind of our strategy overview or the goals for the workshop. One, we’re gonna focus our time on using monitor automations to help manage option trades nearing expiration. We’ll, you know, just kinda talk briefly about how we can do that nearing expiration and really focusing on the expiration part. We’re gonna explore a lot of different paths for decision-making as the position approaches expiration.
So what I think is pretty cool about it, and you can go really, really far with this if you want to, is that you can take a monitor automation, and you can make different decisions if you wanted to every day leading up to expiration, during expiration week. You know, five days out, four days out, three days out, two days out, etc. So we’re gonna explore some of that.
We’re gonna get some new ideas on ways to check and adjust pricing and orders for wide spreads and contracts that have gone in the money. It’s a really important one of, like, telling the bot and helping the bot understand where the contract is and how you want it to be managed whether it is out of the money or in the money, depending on the type of positions they are trading.
And then the last thing that we’ll go through, and we kind of, I guess we’ll go through this as we go through it together and maybe even start with this, but why you might wanna consider adding an expiration management automation to all of your bots to keep changes and updates centralized. So this is something that, just so you guys know, I’ve started to think about doing, on my own, with bots as I kind of, you know, prep, and started to prepare for this workshop. You know, it might be a thing that we consider, or you might consider doing is using a bot automation that is specifically geared towards managing that last expiration week. And then that way, you can have everything kinda centralized and keep all the updates together at one place.
So what I wanna do is I wanna first, I’m just gonna use this demo bot just for today. Again, because it’s not tied to any particular strategy, this is not tied to only managing in the money, iron condors, or credit spreads, or whatever. So I just have this demo bot that I use for everything, so let’s just all be a little bit like just why with our thoughts and just try to understand how we can manage different things.
So inside this demo bot, obviously, we might have all of our different scanners that are looking for positions, right? We might have any bot that you have. You have scanner that’s looking for iron condors, or swing trading opportunities, or whatever the case is. But then inside of your bot, you’re gonna have automations that you run as monitors, and the monitors again are specifically designed to manage open positions. So you tell the bot basically how you want the position managed, right?
So, in this case, what we’re gonna do is we’re gonna build out a brand new demo automation. And again, I’ll share this in the community once we’re done with the workshop here, so you guys don’t have to copy it or create a new version. It’s probably gonna be a really big version of automation, so feel free to edit, modify, and adjust as you see fit, okay?
So we’ll do expiration week manager, okay? And that’s what we’re gonna call it. Now, look, with your monitor automations, what you first have to do is you first have to really start them with your position loops. Now I say that you don’t always have to start them with position loops, but that’s 99% of the time, the place that you would start your monitor automations. And for our case, we’re gonna start it with a position loop, and then we’re just gonna let the bot loop through all positions.
So it doesn’t matter if the bot has a long equity position, a long call, a long put spread, iron butterfly, and iron condor, whatever. For right now, let’s just assume we let it loop through all positions. Now, of course, if you wanted to, you could make this very specific, and you could have an expiration week manager just for iron condors.
And then what you would do is you would tell the bot to just loop through all positions that are iron condors. So if the bot has five positions, and two are iron condors, it would only look at those two positions, and it would ignore the other three. So loop just means cycle through those positions and make the same decisions on each and every position as you go. So for now, we’re just gonna leave it at loop through each and every position as you go, okay? Just in that, inside that bot.
Now, again, what I wanna do in this particular workshop is I just wanna focus on all the things that happen expiration week. Just the things that happen expiration week. So everything that you would do before expiration week let’s assume that that’s already being done. So if you had some sort of decision that was like the position premium decreased by 20% and I would take a profit, okay, that all happens before we get to this point, okay? I’ll assume you guys built that out.
So what I wanna do here is I wanna focus all of our time and attention on things that expire inside the next week. So the first decision that I’m gonna add, the first action decision that I’m gonna add is I’m gonna go here, and I’m gonna go down to my position recipes, okay? And notice you can scroll down here, and you got the whole section on position recipes. As the name suggest, these work only when you actually have positions, right? So the bot is gonna be referencing individual position as you go.
The first thing that I wanna do is I wanna use this recipe here. So I wanna use the recipe that checks to see when a position expires, okay? Now I’m gonna connect that position to whatever position the bot is looping through with the custom input. And so what that means is that the bot is now flexible enough that whether it has an iron condor position in SPY or a put spread position in IWM or call spread position in QQQ, whatever it is. It’s just gonna check that position for you.
And now we’re gonna go to some of our toggles, and we can specify anything that we want here. So, in this case, I’m gonna say, okay, the position expires in less than five market days. Okay? So for most of things you’re doing, if you have expiration, that’s Friday or Thursday, right? It’s five days from there. You’re just starting from that point to start managing the position. So we’re gonna say the position expires in less than five market days. Once we do that, then we’re gonna go ahead and save.
Now, in this case, what you could do if you had your expiration week manager like this, is you can just leave the no path completely empty and let another automation kinda take over at that point. Managing the position, whatever, I’ll kinda build this out as we go here, but we’re really focusing on positions that expire in less than five days. So, for a while, if you have a contract or something that’s going down this path and it’s 60 days out to expiration. For basically 55 days, it’s gonna go down this no path. And then later, you might have a position that finally gets inside of five days, well then it starts going down this yes path.
So here’s what we’re gonna do. So now that we have this position expiring in less than five days, this is where I think that you have a lot of creativity as a trader. If you’re managing a position and now you’re at the week of expiration, how do you manage things differently? Do you always take the position off immediately? Do you have a smaller profit target? Do you check and see if the position has been challenged, like if you’re selling out of the money options, are the options in the money or not? Do you check volatility? I mean, that’s a new one now where it’s like maybe you check volatility, right? Do you have some sort of calculation on how deep the position has to be in the money before you would take it off, right? So let’s say the position is just a penny in the money. Well, does that mean you wanna take it off, or does that not, right?
Now look, these are questions that obviously there’s a lot, right? There’s a lot in this. There’s a lot of flexibility, and you know, when we get into a trade and Michael had one, that was like I’d stick to the plan where I submitted the trade. Well, what is that plan? Like what happens that expiration week? Do you still go 50%? Right? Maybe I’m just asking, like if your profit target says 50%, do you ride 50% that whole last week, or do you modify it? And I’m not saying you do one way or another. I’m just saying this is where you start to decide what to do, okay?
I’m going to; if you guys are good with this, I’m going to take some liberty of just throwing out some ideas. This is not necessarily, like, I’m not telling you you have to do this, or you should only do it this way, okay? So I’m just gonna throw out some ideas, and you guys can modify this as you go.
So inside five days, the first thing that I might do is I might check for smaller profit, right? Now look, and inside five days, you know a lot of things are happening. Obviously, time decay and dated decay is accelerating. But also like the gamma risk that you have in the position and the risk of the position swings very violently from profit to target, you know, profit to loss, etc., it’s gonna start to accelerate.
So one thing you might do is you might check the position’s return. So you would go down here, and you could do something like the position return is greater than some metric. It might be a lower metric, it might be a smaller return than you wanted to get originally, but again, you’re five days from expiration. So you go here, and you say I wanna check the position return and notice you can check a lot of different stuff on the position here. And you say I wanna see if the position return is greater than, say, 10%, right?
So if it’s 10% inside of five days, well, maybe they may think about potentially closing the position. Maybe originally, if I was entering the position 60 days out, I want to get something around 50%, but inside ten days, maybe I’m willing to accept 10%. Maybe I’m willing to accept 20% or something higher than that. So we can adjust this as we go. So maybe it’s 20%, okay?
So, in this case, if it was a return that was greater than 20% and we’re inside five days. It would only check and double-check and see what this is inside five days. Well, then yes, I would go ahead and add a close position action to close that position and remove the trade. Okay? I’m just kinda building out the main building blocks as we go. What if the position does not have a 20% return?
Well, one thing that I may wanna check, and this is just as we go through here. I won’t say it over and over again. I just have to say it because I know people are like, oh, Kirk said to do this. This is just ideas. You do it the way you want to do it, okay?
One thing that I might wanna check for positions is I might wanna check and see if maybe the symbol has earnings coming up that day too. So this could work for something that has earnings, right? Maybe I forgot about it. Maybe I didn’t know. If it’s an ETF, it doesn’t matter, you know, won’t affect it, right? But in this also check if the symbol that I’m going through reports earnings in less than five days.
Well through report earnings in less than five days, maybe like today or, you know, maybe in another couple of days. Maybe I want to get out of position too. So I could do that too. Hey, report earnings, forget it. If it doesn’t have a profit, but it reports earnings, I don’t want to take a chance on it. So I just go here, and I start building out some actions like closing the position if it report earnings.
Let’s say that it doesn’t have a 20% return where there’s no risk of earnings happening. Another thing that I might want to check is we’re getting close to expiration is I might wanna use another decision recipe to check and see if the position is getting challenged. Now there’s a lot of different ways that we can do this, and for me, I like to do like a spectrum of being challenged, okay?
Like there’s a spectrum of being challenged where I can look at the position and say, okay, if it’s a little bit challenged five days out, I’m more willing to let it ride for another day or two. Or if it’s really, really challenged five days out, maybe I’m more inclined to close the position because it’s super far in the money or challenged or whatever the case is like, the likelihood of it turning around is really, really small.
Well, you can kinda build out logic into your bots. So you go down your position recipes here. And you can use a combination of different things. We’ll explore a bunch of them here. You can use this very simple recipe which is the most simple one to use for sure in this round, which is just to check and see if the positions underlying price is above or below one of your strikes. So let’s assume we’re selling a put spread, right? So we sold a put option, and then we bought a put option at a lower strike, but we can check just very simply and see if the underlying price is below our short put leg.
Now, this would only check to see if the price is below our short put leg. That’s it. It could be a penny below. It could be $10 below. Do you guys understand that? So if the position’s price is below our short put strike, then this would go down the yes path. So now I’m just building out more of these as we go, but let’s say that we sold a put at $100, right? And if the stock right now is trading at 99.99, right? One penny below where our put strike is, this thing would go down the yes path. Do you guys agree?
Now, this is a really simple one, very easy one to determine if a leg is in the money or not. Now you don’t have to immediately close the position down this path. You could or combination of this together, or you could group them together, you could split them out if you want to do it. There’s a lot of different ways to do it, but you could do something like this where you also then add another decision to check and see how far in the money the position is. Because if the position was a penny in the money, to me, I’m not of the opinion where, you know, five days from expiration, a penny in the money. I don’t know if I’m gonna close the position, right? I don’t know if I’m too concerned just yet. Do you feel that the same way? Maybe you do. I don’t know. It doesn’t matter.
So now what you could do here is you can go down to this recipe. You go down to this recipe here which is a very specific leg property recipe. Again, you connect it to whatever position the bot is looping through, and you check, and you say, okay, I definitely wanna check my short put leg, and instead of checking the delta, I wanna check, say, maybe the chance of being in the money. Like, I could check that. So I could check that and let the bot calculate a probability of being in the money, that specific leg being in the money at expiration. Maybe I use something like if the chance of the short put leg being in the money is greater than 70%, okay, great, I’ll maybe close the position. So that’s one way you can do it.
Another way that you could do it is you could go here, and you could check the intrinsic value of the short put leg. Now, this is really important one because not only can you check, obviously, the chance of it being in the money or whatever the case is. But you can check the physical intrinsic value. Now, remember, the intrinsic value is the value of the contract if you were to exercise it immediately. So the strike price. It’s the difference between the strike price and the market price, right?
So you could say if the intrinsic value of the short put leg is greater than, say, 50 cents. Right? Well, that means that the short put leg is in the money by 50 cents, right? Does that make sense? If you said the intrinsic value of this position is $1, that means that it’s not a penny in the money, it’s not 50 cents in the money, it’s an entire dollar in the money.
So this is a different way to judge how far in the money you’re willing to go with a position. To me if a position, and it might depend on my stocks, right? So Amazon might be different, right? Like amazon might be $1 in the money every two seconds, you know. Amazon or something you’re trading that’s a high volatility stock, big price stock. You might want to do something like; I don’t know, $5, $10, $20, right? So that’s one way to judge it. One way to judge it is to use intrinsic value. The value of the contract if you were to exercise it immediately.
Another way that you could do it too is you can judge it by extrinsic value. So this is another good combination, too, where, remember, extrinsic value as a refresher is the time and volatility value essentially of the contract. So as positions near expiration, their extrinsic value trends towards 0. They lose all extrinsic value as you get towards expiration. Now five days out from expiration, there’s still time value left. Hopefully, there’s still, you know, decent amount of time value left that we could have the bot calculate that for us.
So we could say, okay, if there’s enough extrinsic value. If the extrinsic value is greater than, say, 10 cents, then I’m probably not in the high likelihood of being assigned. There’s still some value left in the contract. Maybe I wanna let the contract keep going. I wanna keep it, let it ride, maybe I wanna close, maybe if the extrinsic value, maybe you do it the opposite way where you say hey if the extrinsic value dips down and it’s less than five cents, which means it’s really starting to decay, right?
The contract is starting to trend towards its intrinsic value. Then you do something different as well. To me, that in the money one, it’s such a hard line that I think if you, you just gotta be careful with it. It depends on your strategy, right? A penny in the money to me is like, I don’t know if that’s really being challenged. That’s why I like this extrinsic, intrinsic approach that you might take.
Okay, what I’m gonna do is I’m gonna add- Just so you know in this little all will be in the recording and in the copy there. I’m gonna add a bunch of these to this particular recipe, and then you can adjust or edit or remove any of these that you want. So what we’ll do is we’ll add a bunch of these. We’ll say, okay, we wanna adjust, and again, we’ll assume for the sake of argument in this workshop that we’re trading in the money, or we’re trading put spreads like we’re selling put spreads on something right? So we could say, okay, I want the short put leg chance of being in the money is greater than, say, 70%. Okay, that might be one threshold to cross.
And then you go down, you add another one, and you say, okay, now I wanna check if the position short put leg extrinsic value is less than, I don’t know, say 20 cents. Like we’re starting to lose some extrinsic value on the position. And then again, I’ll add another one here, and, again, you don’t have to use them all grouped together. You can certainly split them out and use them in different combinations. One or all, or it doesn’t matter. Okay?
The short put leg, and we’ll do that the intrinsic value is now greater than $1. So the position’s really, really being challenged, and the intrinsic value is now greater than $1, okay? So these are all in there. Those up in the template. You can, again, modify it, edit. You can just simply go over here and delete them if you don’t want it. You can create a group of them. It doesn’t matter.
So whatever the thing is, now we know the position’s challenged for sure. That’s like the check mark. Yes, it’s definitely trading. And now we can start to judge like, okay, well, how challenged is it? You know, like, what are we talking about here? What is it? And whatever that ends up being for you, maybe there’s some threshold where you close the position, okay? Some threshold where you say, you know what? It’s too much. I just wanna close the position, okay?
So now you can see, and I’m just gonna zoom out for a second, so we can see it on a bigger screen. But you can see, we’re starting to build out all of the different actions that we would want the bot to take as it starts to approach expiration, right? As it starts to approach inside five days, I want it to start to do all of these different things.
Now the tricky part from here is really trying to figure out how you want to manage positions anywhere closer than five days. Okay, now I’ll show you a couple different ways that we can do it, but it’s really gonna be one where you want. Take your time and really think out the logic here and, again, run this paper trading, stress test this in your bots. You can always run a test inside of a bot and, you know, test out your logic as you go.
But here’s one way that you can do it. Instead of doing everything inside five days to go until expiration, you can modify this to be exactly five days. Okay? Or you can modify this to be some sort of range. So what I might wanna do in a position is I might wanna say the position expires in exactly five days. This is, again, an idea on how you can do it. That way, I know everything I wanna do inside at exactly five days is down this yes path. All of these different decisions. This is exactly how I wanna do it five days from expiration.
You could then go down the no path here and use another decision to say. I wanna check and see if the position if it doesn’t expire in five days. I wanna check and see does the position expire in exactly four days, right? So now you can start to see how you can start to branch different paths based on exact expiration dates. Remember I mentioned earlier that if you wanted to, you can make this really, really specific where every single day heading into expiration is a completely different set of criteria for how you wanna manage the position. Okay?
So you do another one that says, okay, when the position expires in exactly three market days, right? Now you just keep stair-stepping this thing all the way down. Now, look, if this makes sense here, what I might do is I might batch them into smaller groups, right? So I might say something like this, and this is how I would do mine, and this is how I do mine, okay?
Does the position expire in less than five market days, right? I would do that like less than five market days. And then I would add another one here that says does the position expire in more than three market days, right? Or something like that. So I would do this, and I would say does the position expire in more than, let’s say, two market days. So now what I’m doing here is I’m targeting the difference between five days and three days. But the position expires in less than five days, so maybe it’s four days. And the position expires in more than two days. Okay, great.
So now I’ve targeted not just everything less than five days, but I’m specifically looking at stuff less than five days more than two days. Right? So now I can target that range, a couple days out vs. the no path would be anything else a little bit closer, right? Basically, less than five days, but not more than two days. So that’s basically two days and under, okay?
And now you start building out this path as you go. Now, if the position expires not in two or- three days, right? In two days, three days, four days, five days, but now it’s really close to expiration, okay? So you can modify this if you want to. Position expires 3-5 days from expiration, right? Yes, go down this path. No, under three days basically, two days and under, go down this path.
Now what you could do is you could start to make new decisions as you get really, really close to expiration. So let’s throw a couple these in here. Let’s go down into our position recipes here, and let’s go to our position return, and this time, we’re gonna see if the position return is greater than some smaller amount, say 10%. Because now we’re really close to expiration. We’re like crazy close to expiration. We’re a couple days out from expiration. So, do I have a 10% return? And if I do, maybe I wanna close the position.
This is really that flexible, dynamic element that you can have inside a bot where you could have 200, 300 positions in all of your bots, and each one; the bot is checking each individual position to see if it may return 10% in this one, 20% in this one, five days and 10%, ten days and 2%, whatever it is. You put that combination together.
So now you have this one here, which is different than this one here. Again, there’s no path right now. The path that we’re going down here is where super, super close to expiration. Right? We’re really getting close to expiration. If you don’t have a 10% return, you could still do some of the same decision making that you did before where you start to go here, and you come down to this position recipes, and you say, hey, I wanna check and see if the position is being challenged, right?
You do the same one. The position’s underlying price is below my short put strike of my position. That’s number one. Am I being challenged? Yes. Okay, how much am I being challenged on this position? So you go down here to your position recipes. I won’t do them all out, but I’ll show you what I would do in some of these is you go to your position, you build out your thing, and now you change this one from, instead of the chance of the short put leg being in the money. I think it was like 70% in the other one.
Now you can do something, like, is the chance of my short put leg being in money greater than 90%? But now we’re much closer to expiration, and now that we’re taking this path, now we’re being a little bit more aggressive here. Now we’re running out of time, right? Now time is not necessarily on our side. It’s kind of really running against us. So now we’re gonna check and see, hey, is that short put leg is the chance of it being in the money greater than 90%? So if it is, like, there’s a really high likelihood that it’s in the money by 90% or chance that it stays in the money, well then maybe we wanna close the position.
Do you guys see this difference here that you can build out? Again, this is just one example. You can do it every day like day five could be 70%. Day four could be 80%. Day three could be 90%. Day one could be, two, whatever, could be 95%. You can just keep going and going and going even if you want it to. So, in this case, if we were to do this, now we would say, okay, go ahead and close the position. You’re right, for sure. Where the chance of being in the money is super, super high, so let’s go ahead and close the position.
If the chance of being in the money is not 90%, you could just stop the automation, let it go back through, and keep looping through it, right? Or, in this case, you could let the position keep being opened because you don’t have a 10% return yet, but you also are not being challenged. This could very well happen, and this is why I think you have to really think out this logic.
Let’s say you’re inside two days to expiration, so you start traveling down this path. And the position is not profitable enough. It doesn’t even have a 10% return. So it starts traveling down this path. If the position is not being challenged. Just leave one of your branches open if you want to, and let the position still keep working.
So, in this case, let’s assume that you have a trade where you sold the 100 strike put spread, and the market is trading somewhere around. I don’t know. Maybe the market is trading right now at 101.50, right? It’s just above your short strikes. You’re probably are not profitable on that position yet. It’s too close. There’s still time and volatility value, you know? Like, you maybe you’re not profitable yet, but the trade is still out of the money. It’s not being challenged yet, so it doesn’t need to go down this path and start executing a close. It doesn’t even need to assess whether or not there’s a high probability of being in the money or not.
Now, if you don’t like that, right? You want to assess that. You could move this decision recipe up here. Maybe you wanna check the probability of being in the money first because that example I gave you probably has a pretty high likelihood that it’s in the money, right? I don’t know if it’s 90. It’s probably maybe 60 or 50 or something like that, right? So you could mix and match and move these as you go.
The other thing that you can do here, and I’ve mentioned this on other demos, is you could just throw in a standing close order. So down the no path, you could leave the position open for sure, and that’s your intention, but you can also throw in a standing close order that just closes the position at a fixed price. Maybe it’s your trade price times 75% which would be a 50% or 25% profit, right? And you just throw in a standing close order, right? And you now have that standing close order just in case in time in between the intervals and all stuff like that, it goes up, and now you have a profit. Great. Awesome, you take it.
Now I like to do this with some of mine, and I showed this on the last workshop, too, where you just throw in some standing close orders so that you just have them out there just in the case you get those rate crazy random moves that go really big in between the scan intervals, right? Go to like little hack practice you can do and let the bots work for you, okay? And the bots would do that. They would, you know, continue to manage that position appropriately.
So there’s some other ones that I want to throw in here, and I’ll just put them down in this branch just for now, just so we can discuss them. But some other decision recipes that we can do. Let me get my little highlighter out, so you guys can see that. Some other things that we can do here is we can also do some recipes around, and if you go down here to these ones, you can do some recipes that are still focused on these metrics, okay?
So one of the things that you could do is you could also do straight-up, open, PNL. That’s another one. I just want you to be on your radar, right? Straight up open PNL. You can check and say does the positions open PNL; basically, the dollar amount is it more than $5? Whatever, right? So now, if it’s more than $5, which might be less than 10% for your position, close the position as well. So that’s another one. You could do return on risk. That’s another great one that you can use. If you use it in your monitors, your managers, all that stuff anyway, you could use return on risk.
You could use the position’s net theta if the theta is less than some amount. You would go in, and you would say, I want to check my position, theta, right? Not the individual leg. So the idea here is that when you do something like this where you’re checking the whole position theta, the net theta of the position, your buys, you sales, your spreads, the whole deal. You could check the net theta, the position, and when your theta has run out, maybe you close the position, right? There’s nothing left to capture. There’s no theta decay in the position left. It’s done. It’s out. It’s gone. It’s finito, right? So you do that, and maybe you close the position that way. That’s another one that you could add for managing the position.
Another one that you could add if we just keep going down this path is you could, of course, do any type of technical indicators. You could do any bot level values, like the bots open PNL or merger requirement or anything like that. You could also do some stuff, the individual strike theta, if you wanted to as well. So if you want to, in this case, you want to check the individual theta, not of the whole position like we just showed you, but let’s check the individual theta amount of the short put leg. You could do that too, right? You could say, okay, if the theta value of the short put leg is less than .01, right? Something like just is basically 0. There’s no more theta value in it? Great. Okay, close the entire position.
There’s literally so much you could do here to continue to build out your logic as you go. Okay? I think the key here, and I wanna move on to something else because I wanna make sure we get to this. The key here to me is that when you start deciding your timelines inside five days, that you start splitting out how you would realistically manage the position for different timelines. Like and when you’re close to expiration, you know, when you’re really close to expiration like this path over here, you might wanna take some more aggressive approaches.
You might wanna be willing to accept lower premium. You might wanna check for higher probabilities of being in the money, you know, like, your threshold for extrinsic and intrinsic value might wanna be different. Theta decay might be a different metric for you. Like that might be a different approach than when you’re five days out.
Five days is a long time period, you know, nowadays in the markets. The markets are moving 2.5% a days, so I that is a big time period. So think about that as you’re building out your bots and just really stress test and like walk through your logic of what you might want the bot to do or what decisions you may wanted to make as it goes down a different branches nearing expiration.
And another good example or way that you want to test it too is to test it with Monday expiration, Wednesday, Friday, bla bla bla, right? Okay, so like this one here. You could test, again, test this logic in a bunch of your different bots. And you can just cycle through positions that you have, and does it expire in less than five days? Right? Position expires in 14 days. I don’t know why, but more than that, to double-check that recipe. Oh no, it doesn’t. Is the return greater than 10%? Yes, it is greater than 10%. Right? So now I have to go in here. I’d have to edit my logic in here.
But you can see, right? Like I’m stress testing this. Oh, I forgot to add that in here. See, look, I don’t know if you guys notice that. I actually just found a mistake in this logic here by just testing it there. Because I need to add a decision right in front of this. I need to precede this decision. Do you see what I did there? I’m just gonna be up with you guys. So when I was deleting all a bunch of stuff that I had in there. What I didn’t do is I forgot to keep a decision in here right above this one that checks to see if the position expires in less than two market days. Right?
So in that stress test, it’s like, wait a second. Why is that stress test showing that I am gonna close a position, but it expires in 14 days? And it’s because when I ran that test, let’s just run it here again. I think it was this one. Right? When I ran that test, you can see does it expire in that days? Now, 11? But then it kept going down the no path. You see, I’m just like this is where you stress test your logic. The position expires in 11 days, but I built it out to what it would not do that. So I have to add another decision in here, which is really easy to do. So if I go here, I’m just gonna precede this with. Do you guys see how I’m doing that right here? Precede with. I’m gonna add another decision. I’m gonna go here to position expires in less than two market days. And I’m gonna say yes. I’m gonna add it down the yes path, and boom, now I’ve corrected my action there.
Now this one, I think, is gonna be really important because even the most liquid securities. I’m telling you, my team can back me up on this; even the most liquid securities like SPY have a lot of times where their spreads goes super super super wide on positions. Has anybody seen this before? We have so many examples and support, it would make your mind blow. Okay? So what I want to encourage you to do is I want to encourage you to build some logic into your management when you’re closing positions, especially near expiration, that checks for different bid/ask spreads.
Now I’m not gonna tell you exactly how to do it. You always have to do it this way, again, that’s all you and how you wanna do it, okay? But let’s use this one as our case study, as our guinea pig. Let’s assume we wanna close the position, right? And that’s the goal, like the return is 10%, and we want to close a position.
Well, the bots are using basically a lot of these are using mid-pricing, right? So if the pricing is really wide, it could be judging that pricing and try to use its best calculation of the mid-price. But if the pricing is really wide, what we wanna do is we want the bot to check some of the bid/ask spreads and maybe modify the orders that we sent over with smart pricing. So what we could do in here is we could anytime we had a close position action, you could go here, and you could go to the position recipe, same one we’ve been using for a lot of these. And you could check the actual bid/ask spread for the entire position right now.
Now, this is different than what you might have seen in another workshops where we can also check the bid/ask spread going into a position, right? That’s what we definitely tell people to use. We highly encourage it. It’s a very easy recipe you can add where you check at potential opportunities bid/ask spread and make sure the bid/ask spread is pretty narrow. So, in this case, what you would do is you would check the position bid/ask spread. Let’s say the bid/ask spread is greater than $2. I don’t know about you all, but this is a crazy widespread. Crazy, crazy widespread. $2 is a crazy widespread.
So if the position’s bid/ask spread is greater than $2, and you still wanna close the position, then maybe what you do in that case is maybe you just turn off smart pricing. Because smart pricing is gonna try lots of really, really wide jumps in pricing because it’s gotta reverse a very widespread. Does that make sense? It’s not gonna try penny increment spreads. It’s not gonna go 1.25, 1.26, 1.27, no, no, no. It’s gonna traverse a very widespread.
So maybe what you do in those cases is you turn off smart pricing, and you just place a standing order at 90% of your trade price of your position. Right? Like you’re 10% return that you’re trying to get, so you do that, and maybe that’s the case where you don’t use smart pricing for closing. Now let’s say that the bid/ask spread is not greater than 2. Well, we could check something else too. We could say something like, let’s check and see if the bid/ask spread on the position, then we go down here to that same recipe. Let’s check the bid/ask spread and let’s say that the bid/ask spread is less than, let’s say, 20 cents. Okay?
So now it’s greater than, not greater than 2, but it’s less than 20 cents. Great. This is a great opportunity to close the position, and if you wanted to use 100% of the bid/ask spread for smart pricing, and you could use normal or patient settings, whatever works for you. But the spread is getting narrower, so you can let smart pricing traverse and try many different prices cause you know that the spread is already narrow. But now you let smart pricing cause you know the spread is really, really wide. You let smart pricing do what it’s gonna do.
Maybe if you wanted to, you could do something like 80% of the bid/ask spread. Like, maybe 20 cents is too wide, so you say, okay, you can use smart pricing but only go 80%. Spreads maybe a little bit too wide. But now you could say something like, okay, well, if the spread is less than 20 cents, you do that. Maybe you can modify these and say it’s less than 20 cents, then maybe greater than 10 cents. So you go in here, and you say that the position bid/ask spread right now is less than 20 cents, but it’s greater than 10 cents. So somewhere in between, right? It’s less than this and greater than that. Okay, great.
Now you do smart pricing, and you do smart pricing at 80%, but let’s say the position bid/ask spread is less than 10 cents. Crazy, crazy narrow spread. Then, in that case, you would 100% use smart pricing. The full 100% of the bid/ask spread because you know you’ve got wicked, wicked smart pricing or wicked, wicked tight spreads on the position. So you wouldn’t have to do this. Right? So you wouldn’t have to create or modify or to say just go 80% or just go 70% because the spreads are a little bit too wide.
But I can tell you right now like we see a lot of people who don’t do. I’m not saying you have to do it this aggressive, okay? First of all. So you certainly don’t have to go to this length of evaluating the spread and building these all out. Now I will tell you that if you do this, you do it just once, and it’s done forever. You don’t ever have to redo it because once you build it into your bot, the bot is gonna use it forever moving forward, and it’s always going to evaluate it.
So do I think it’s a time well spent? If you go in for a little bit and evaluate how you would want to send orders for different spreads? Yes, I do think it’s time very well spent that you could go into it. What I’m trying to get across right now is that we are not seeing a lot of people evaluating any portion of this when they close positions. And in the off chance that you get a really widespread or you’re trading something illiquid, even though we try to encourage people to trade stuff really, really liquid. Then smart pricing is gonna do its best to traverse a big wide range. And if you don’t want that, then you just tell the bot to do something a little bit different.
Another thing that you could do is you could just filter out stuff that has no bid. You could also filter out even before you get down the path of even potentially closing and evaluating the position is you do another decision here to basically filter out anything with a 0 bid. So if you go here to your position, and then you go to your bid price of your position, and your bid price has to be greater than 0. I can’t tell you the number of examples, and you guys can back me up in those support channel here, right?
But I cannot tell you guys how many times we’ve seen really weird expirations on tickers. Sometimes even SPY, where the bid/ask spread goes from 0 to $9 or 0 to $10. And you just don’t want your bot trading in those environments. So this is a really easy one to add to your logic for closing positions, especially near expiration. You know we don’t tend to see this really a lot when you’re far out, and there’s lots of liquidity, and it’s still pretty active. But when we get close to expiration, we do tend to see these spreads just really get wider near expiration.
So even adding some logic in here like this is a really great little fail-safe just to tell the bot. Hey bot, you know what? Don’t even go any further. Like right now, pricing is crazy. Check again later, right? That’s what you could do for your automations, okay? And in this case, if you ever get that, I know some people do this, and they’re bots too, which is pretty creative. But if they ever get that, what they do is they send themselves a notification down the no path. Hey, pricing on this position is very illiquid. Might wanna check it out. Right?
So this is the power of using those notification. This is how I would use them in here is I would say if I go down the yes path and just follow this logic here for a second, the return is greater than 10%. And that maybe because the bid/ask spread right now is 0 to 9, so smart price, you know, like, the bots are using, they’re trying to use the mid-price here, and they’re like, well, 0 to 9 is wide, so we gotta use something to evaluate it. So we use mid-price, right?
And then it evaluates that, but you find out that the bid price is 0. So you really don’t want to send an order. You just send yourself a notification. Is the bid price greater than 0? No, the bid price is 0. Hey, by the way, from your friendly bot, pricing on this position is very liquid. You might wanna check it out. Love, your bot.
This is a pretty cool way to manage positions as you go. There’s a lot you can do in here, and I’m gravitating lately more towards having one expiration week manager that manages different types of positions for me because I wanna control all of this in one place. And because you can share automations across bots, you could do that if you want to. Okay? Now whether you use five days, or ten days or something like that. That’s totally up to you.
But here’s how we generally work. Let’s say we’re good to go here with this, and we love everything inside this expiration week manager. Well, we add this expiration week manager to our demo bot. But let’s say we have another bot, right? Like we have Genesis 1.0. and Genesis 1.0 has a monitor already. It already has a monitor automation, and it’s checking something inside two days to expiration. I’m gonna make a modification to this, and I’m just gonna use this as an example. But let’s say that we’re like, you know what? Our regular Genesis monitor, we only wanted to manage if it has a 50% profit. Otherwise, we’ll let another automation kick in when it gets inside five days to expiration.
So we make those modification, change it, and then save it. I’m not gonna save this. I don’t wanna mess with my monitor automation, but assume we did that for that one. Okay? And now what we do is we add another automation. Oh, I forgot to save it into my library. So let me go over here and save it into my library. So this is my monitor. Let me save it to my monitor automations. So now we go here to Genesis 1, and now we add our monitor automation from our library that’s saved in here. Our expiration manager.
And so there’s no limit, well there’s limit on five, but there’s no saying that you can’t have like a regular automation that does the core strategy management that you wanted to do. And then you always have your expiration week manager added to your bots. And you can add the same expiration week manager to different bots. So this one has an iron condor manager for this particular strategy. That’s fine, but I also wanna add my expiration week manager because this is specifically geared towards managing positions at expiration week.
But let’s just say inside of our demo that we have one big awesome monitor automation that’s doing everything for us expiration week. Okay? What we could do is we could split if we wanted to. If we wanted to, we could split positions right here and manage different types of positions differently. So let’s say the position expires in 3-5 days, okay? Let’s precede this one. And again, I’m just trying to give you as many brain-blowing ideas as possible. Let’s say that the position type is one of these types.
The position type that I’m looking at is iron condor. Okay? So the position type is iron condor. And if it’s an iron condor, I want it to go down this path, and if it’s not an iron condor, I want it to go down this path. You could even have groups of positions. You say if the position type is an iron condor or if the position type is an iron butterfly or a put spread or something like this.
So both iron condors and iron butterflies would go down this path. We’re now like telling the bot, hey, even though we’re looking at all positions, first check and see when the position expires, then check and see what type of position, and then send those down this path. So now anything that’s not an iron condor, not an iron butterfly, and inside three days could go down this path and now start to be managed differently. Maybe you take profits at 25% vs. 20% when they’re not iron condors and iron butterflies. I don’t know if that make sense, but just you could really, really make this very specific to how you’re trading.
I wanna give you one more before I wrap this up, and that is I would highly encourage you if you are doing some sort of structure like this, whether you do it in your bots now or you do it inside new monitor automation. What I would highly encourage you to do is start using tags for how positions got closed, okay? Start using tags for how positions got a close.
This not only is gonna help you when you get a notification that says a position was closed. But it would also let you know under what circumstances the position was closed without having to dig through it. It’s just like a really good housekeeping item. It can help you for soaring position. It can help you for organizing and evaluating positions. Later, when we have the journal software, it will help for measuring like performance of different strategies and different ways of managing positions, right?
So, in this case, you could say something like down this path, if that make sense. You know that you’re 3-5 days from expiration or something. You know that it’s an iron condor, and you know that you took a profit. Maybe a smaller profit, right? So if you do close a position here. You’re gonna go here to actions, and you’re going to add a tag to the position. Add a tag to the position. Okay? In this case, you would add a tag to that closed position, and the tag might be something like near expiration. A near expiration close and a profit target. Profit target achieved. I don’t see that a lot of people use that. And it could be something like iron condor, iron butterfly. It could be like four-legged trade, right?
So you’re adding tags to let you know later when you’re managing and looking at a position like, oh, this position was closed not cause I achieved like maximum absolute profit, but because I was nearing expiration and had a profit target achieved. So you add those tags. Now when you close a position over here, right? And now, let’s say the position is challenged, and you’re near expiration and all those other stuff, maybe you add different tags for this position.
So now you add a tag that was like at expiration, right? At expiration. No profit target. Exit a challenged position, right? Challenged exit. High probability of in the money. Now you add all these different types of tags to define at what circumstance, under what conditions the bot close the position. Not that the bot cares. Bot doesn’t care. The bot doesn’t care about this, but later, when you go back in your positions, you can more easily organize and see exactly what happens. So then, we would add those types of tags to the position.
By the way, I get these too where like I can see right here, oh look at this. Flash crash hedge bot just opened a new position. Great, awesome, thanks. Why we’re doing this? Monthly iron condor portfolio opened a position. Oh, here’s the one. The monthly iron condor portfolio closed a position two hours ago. So if I click on it, what I do is I tag my positions. I tagged that it was an iron condor position, and it was a profit target exit, right? So I’m literally eating my own down food of the stuff that I tell you guys that I’m doing here, right? That that’s where it is.
So now I know, oh, okay, close the position because it reached a profit target. If it was a stop-loss exit, it would’ve said a stop-loss exit, right? Maybe this one here, right? Challenged exit. Look, this is what it’s telling me right here. It closes position. I still had a profit, but the reason it closed the position was because I entered this as a high IVR, and I told the bot to close it if it was challenged. Well, it did. It closed it if it was challenged, okay? And now it closed that position.
I hope you guys enjoyed today’s session, as always. We’ll get a copy of the recording up on the website, so you guys can have it. Thank you, again, so much for being here. Please, if you guys could, create new version of this and share it back. This is not- it’s not the end all be all, it’s just gonna be a version that we were working through today. Have a great rest of your Thursday, and we’ll talk to you guys soon. Take care.