Thanks for you feedback. I also made some software. Not to automate trading but to backtest different strategies. Helps you to see the bigger picture. On average i make 30% per year with drawdowns under the 10%. I write only SPX options and have different strategies dependent on IV. In the current environment i like to sell low delta puts most of the time hedged with higher delta puts (ratio's). Instead of you i like shorter trading periods, most of the time two weeks. My puts are then more then 20% OTM. But rolling is key to minimize the risks.
Smart option traders like yourself, dorietrading, are those who can actually understand better the algorithmic game. The returns are proportional (more than linearly) to the amount of risk one takes (as long as one has margins to trade). Ideally one can think of the put option as a (decaying) "mirror" image of the underlying, with volatility and action "dampened" down, proportionally to distance (both from strike or maturity). The greeks let you choose the amount of "heat" you can take. One can choose the folio (instruments and "sensitivity") which best fits his preferences. The game bot enjoys some volatility (but not excessive, obviously) because it can scalp more. An option too far away may not be ideal, because often too "flat". A 30%, 30gg, might be a good compromise. But one can choose whatever he prefers. I would not dare to submit a -10% to my investors. Imagine one with a 2M in the account seeing -200K? He would say "goodbye, Tom" in a split second. I am shooting for a max 3% DD. And 10%-15% per year with bearable risk is good enough for me. One would not want to go naked against stuff like this : The advantage of the scalping/hedging algorithm is to add at least a good 50% to 100% to the naked game, and most importantly to provide systematicity and discharge margins as the price goes up, to hammer when it comes down. There is a lot of $$$ to be done from wild fluctuations. A bot is monitoring the market tick by tick h24 and before making a single order makes something like 15 different algorithmic checks on spread and quotes, filtering any bad occurrence. ES trades continuously (a gap means a lot of wasted occasions.), which is why it works better with an algorithm taking decisions at tick level. But in case of strike shortage surely one can resort to SPX, SPY.
10 till 15% return with max 3%DD is very good! The 10% DD i had was in march 2020. I it unrealised DD, the month was at the end profitable but with a big IV hit all small delta options take a serious DD, even if they are completely save at that moment. You say that the engines scalps the long side, what if it is wrong and the market turns fast? If you go long is today environment you buy hedges quite expensive and have significant losses. Also do these hedges go overnight? Far away options introduce vega, good to write them during high IV. I would not write them when vix < 20.
Insightful questions dorietrading. You have actually answered in part yourself in the other thread where you said: "And roll on time! Risk control is everything!" If you look at the various charts I have posted, you will see that most of the time, the buy orders result in additional profit, because obviously (when they can close) they raise the average price of the sell orders. The phenomenon you refer to is with those that I call the "stranded" buy players (=active buy orders, in loss, waiting for a chance of profitable close). The scalping/hedging game is balanced in such a way that in most cases the buy orders, even if stranded, cannot completely obliterate, statistically speaking, the profit generated by the sell orders [the game never really flips sides, only hedges enough to discharge margins and add profit, but never to such an extent to completely invert position]. If anyway the option reaches the expiry with enough "stranded" buy orders (open buy "players") to reduce significantly or obliterate the current profit (there is any way a limit, that the user can tune, to the number of buy orders that can remain unfilled), we have the "information transfer" mechanism, which is, in essence, a rollover with the transfer of all trading info. This way through a continuous rollover, with the complete trading info, (that I call "information transfer"), all or most of the "stranded" open buy orders (buy "players") will always find a chance to close or at least be reduced to a number which does not hurt the much the PNL. This is essentially the "stop recovery" mechanism I have mentioned in various posts. As a practical example, look for instance at the following layer, that is currently in drawdown: ES FOP 20220531 2600 P GLOBEX 50 E-mini S&P 500 [EWK2 P2600, 530344344, mult: 50] here you can notice 2 blue dots with white borders. Those signify "stranded" buy players. This means those orders are contributing negatively to the PNL because they are buy orders with no corresponding close. First of all the algo puts a limit to the presence of those and secondly, they could close if the price spikes up again before expiry. Also, the bot is showing you in real-time the break-even level as the red horizontal line. When that line is high enough you already know in advance that layer is going to give you a profit, even IF those stranded buys cannot be closed before expiry on the current layer. If the line is out of view because it is negative, that means that you will need to "transfer" this layer to another option layer in the options matrix to give them a chance to close. And the will eventually. This way we never end up with a negative layer. We stop trading them only if in profit. So you actually said that: roll on! Example of successful scalping/hedging (note that there is a constraint to the max position, a user parameter. I keep it to 4 "packets", where 1 packet is usually defined as 10 options, also a user param): ES FOP 20220331 3600 P GLOBEX 50 E-mini S&P 500 [EWH2 P3600, 518635917, mult: 50] Note here too, the 2 stranded buy players. The bot - since keeps all the trading info in memory through the rollovers - takes them into account anyway rebalancing with sell orders the way down. Therefore, the buy orders essentially get a chance to hurt the PNL only if the price is too low for the bot to rebalance their effect the way down. And, in that case, we roll on! (A "loss" exists really only when the corresponding trading info is lost! ) > Also do these hedges go overnight And yes, the bot trades continuously h24 reacting to every single tick. That is why FOPs work way better than STK options.
Thanks for you reaction. I understand the 'stranded' transactions. But if you have this case: - sell 20 ES puts for 4 dollar - puts go on monday to 12 dollar - you buy 10 puts for 12 dollar to try to scalp some profits - market goes up again - you will end up with a loss because the bought premium > sold premium
You have (time is immaterial): SELL 20 @ 4 (open a sell player of size 20) BUY 10 @ 12 (open a buy player of size 10) First of all, remove from your mind the image of this sequence as a "trade". You do not have to look at this as a "trade", but as 2 individual players waiting to be closed in profit. They live a "life" of their own. And they follow the rules of the game (that is the strategic scalping/hedging rules specified by the user). The sell player will close "in profit" if the price goes down enough to exceed the take profit threshold (as dictated by the rule of the scalping /hedging game). The buy player will close "in profit" if the price goes high enough to exceed the take profit threshold (as dictated by the rule of the scalping /hedging game). I call this superposition of players. Those are not just orders but active entities living their own life, following the strategy rules (which dictates both their "lives" as "individuals" but also their relationship with the other players). For instance, you could have after those 2 orders (the "order" in which you make the orders does not matter): BUY 20 @ pS < 4 (this would "close" the SELL player in profit) SELL 10 @ pB > 12 (this would "close" the BUY player)) Overall, the 4 orders form a profitable "order cloud" Clearly, if the BUY player has no chance to close (so far), that is what I am calling a stranded BUY player. Options expiry is only a mere "formality" for us because, through "information transfer" (rollover), the bot actually sees a neverending price trajectory and we can "jump" freely to any price level in the options matrix wherever we like (independent of the "expiration event"). This will cause either the close in profit of the stranded buy (if the price goes above it) or, if the price does not go above it, it means that, in the meantime, we are accumulating decay enjoying low drawdown and therefore still raising our profit, at a point that the stranded buy player contribution becomes negligible. The bot is "keeping in memory" forever that "stranded buy player" (and its contribution to PNL) and either can close it in profit or uses this information to rebalance the sell side, to compensate and, in time, to make relatively negligible its contribution to PNL. In essence, the "arrangement" of the orders is irrelevant, as long as you end up with an "order cloud" [meaning the set of all orders], where the average of the buy orders ends up falling below the average of the sell orders. The scalping/hedging game and the continuous information transfer ("rollover") have the purpose of statistically ensuring that, irrelevant of the order in which the sequence of transactions is done. The player concept is simply a convenient conceptual device to programmatically build, in time, an "order cloud" where the avg of all buy orders, given enough time (depending on market moves), moves and stays below the avg of all sell orders. One needs to think in statistical terms and look at the long term big picture. If momentarily one sees 1 or more sell orders below 1 or more buy orders is absolutely nothing of concern. It's actually the most common start of any layer. It's just the beginning of a neverending game
You have an immediate example in the screenshot in the previous post, where we start with a sell followed by a buy at a higher price:
I meant that both trades ended with a loss - so the 20 sell @4 close eg for 6 = loss 2000 - 10 buy @12 close for 6 = loss 3000 Sure you can do information transfer on this and roll till you come profitable but till that time your account will have a realised DD of 5K
There are "no trades". (I told you to remove from your mind that notion. It's a "naive" point of view that does not help with algorithms. More abstract thinking is needed here.) Players can only either end their "life" in profit or remain in an "open" state forever (there is no "stop-loss", or closing at a loss, from the point of view of an individual player, even though a BUY player could be interpreted, by an external observer, of as a form of stop or hedge for a SELL player that opened "below" it). If they close in profit, they are "forgotten". If they remain "open" they provide info to continuously rebalance the other side, to compensate. Think statistically. What matters is the final average of the orders on the two sides. Don't get hung up on "trades". [Realized and Unrealized are immaterial accounting notions in this context. When you close all, everything is realized. You can switch at will a position from being in the unrealized to realized just opening and closing it back and forth. The "realized" PNL is just an accounting figure reflecting the order matching algorithm, which is also arbitrary, as partial fills from pair of orders can be matched in any way one likes: fifo, lifo, manual matching, or whatever criterion. What counts is your current PNL].
Think statistically. What matters is the final average of the orders on the two sides. Don't get hung up on "trades". Thats what i said, you transfer the infomation to a new position and wait till all the combined orders are positive. If you say you have a maxDD of 3%. What does this mean? In your world you don't have DDs. Every player end their world in profit