Now, exactly 2 days have elapsed since we have started this test. During these 48 hours, we have been grabbing the decay of our options. All is fine so far (apart from the few mishaps with NQ). The summary situation (all instruments) is as follows: Data from IB: Current margins: FullInitMarginReq 273082.53 USD [Min: 0.00, Max: 281493.44] FullMaintMarginReq 248256.85 USD [Min: 0.00, Max: 255903.13] Change in net liquidation: Δ NetLiquidation 5667.15 USD Picture of equity curve (including spread and commissions):
Update about the layer we are following more closely: ES FOP 20220617 2650 P GLOBEX 50 E-mini S&P 500 [ESM2 P2650, 497966096, mult: 50] Now the bot has closed 2 short "players" [each of 10 contracts] (see the 2 blue circles, representing two buy orders). It is maintaining one short because of the short exposure constraint we are enforcing to grab the time decay. It's a defensive move. In case the price rises, it stands ready to short again at a higher price and/or to scalp long with a long "player".
The market has been declining a bit (ES about 4460 now): ES FUT 20220617 GLOBEX 50 E-mini S&P 500 [ESM2, 477836957, mult: 50] correspondily, our PUT 2650 has been rising a bit (very little because of the low delta): this is obviously what we wanted to "dampen" the possible unfavorable moves. It is still way too early, but later on, we will roll to some higher price option, to continue indefinitely grabbing time decay. I had some ideas of new mechanisms to introduce in this scalping action, which could improve the behaviour. One idea is to start with a "double" size packet (in order to make immediately possible the protective buys). Another idea is to weaken the "short-exposure-only" constraint into a ("no-long-exposure"). I will run a few sims to establish whether this actually is beneficial in statistical terms.
We may also want to place a "global take profit" rule on our layers, which may dictate when it's time for a rollover to another strike/expiry. For instance when the price < L, with L the desired target price. Now a couple of questions for you, to see if this approach is becoming clear: - How far away would you choose your options (both in terms of expiration and strikes) - How would you fix L ? - Any idea to try improving the scalping action?
So far, some of the biggest advantages of this approach are: - a clear idea of the "worst scenario" - very low probability (historically) of bad scenarios, and worst cases coinciding with large positive exposure in a low market (which may not be so bad after all) - enjoying the protection by circuit breakers (three levels of a circuit breaker) which allows to correct the exposure in case of the flash crash [this is a key point of course]. (The breakers triggers at already 20%, while we are comfortably much farther away, and have time to roll away) - possibility to easily roll over, in case of problems, to deeper OTM strikes and maturity, with consequent reduction of margin usage and lowering of delta (sensitivity to further fluctuations of the underlying) - working exploiting and according to the biggest and persistent "forces" present in the market (time decay, drift, daily rebalancing ...) - unilateral scalping against a perennial tendency of price towards zero on instruments with a "dampened" price curve. (This solves a problem we have seen in "bilateral" scalping of futures fluctuations; most of you know that I have experienced for years bilateral scalping with commodities, but the general problem is always the large amount of capital necessary to bear the DD in the huge range of those instruments, and therefore only a few could really afford it.).
Trading proceeds smoothly so far. Not much exciting, but at least it does make some easy money. Drawdown has been negligible so far. (Practically zero, considering that our PNL computations always include also the expenses to close all the current positions (spread, and round-trip commissions). We need some strong move downward to see some action. We also need to wait to load up more layers. ES FOP 20220617 2650 P GLOBEX 50 E-mini S&P 500 [ESM2 P2650, 497966096, mult: 50] [delta for this is about -0.02] Global situation of all layers: Info from IB FullInitMarginReq 202688.06 USD [Min: 0.00, Max: 281493.44] FullMaintMarginReq 184261.87 USD [Min: 0.00, Max: 255903.13] Δ NetLiquidation 6923.35 USD
9.14 days elapsed. Still being dragged by the unstoppable current ES FOP 20220617 2650 P GLOBEX 50 E-mini S&P 500 [ESM2 P2650, 497966096, mult: 50] global (all layers): FullInitMarginReq 197835.27 USD FullMaintMarginReq 179850.25 USD Δ NetLiquidation 8896.79 USD
Today the mkt went down a bit (around 2%): ES FUT 20220617 GLOBEX 50 E-mini S&P 500 [ESM2, 477836957, mult: 50] here is the corresponding impact on the layer we are following (delta is about -0.02): ES FOP 20220617 2650 P GLOBEX 50 E-mini S&P 500 [ESM2 P2650, 497966096, mult: 50]
Today, further down 2%: ES FUT 20220617 GLOBEX 50 E-mini S&P 500 [ESM2, 477836957, mult: 50] Not much impact on our options and DD still acceptable. Actually, given the low delta, we do need some "unfavorable" movement to be able to "load up" some other sell orders and, possibly, to take some long scalp: ES FOP 20220617 2650 P GLOBEX 50 E-mini S&P 500 [ESM2 P2650, 497966096, mult: 50]
ES slowly slides down a little bit. No entries so far on the layer we are following. (A couple of buy orders triggered on other layers): ES FUT 20220617 GLOBEX 50 E-mini S&P 500 [ESM2, 477836957, mult: 50] our layer: ES FOP 20220617 2650 P GLOBEX 50 E-mini S&P 500 [ESM2 P2650, 497966096, mult: 50] If ES goes further down (say another 5%) we should finally see some action (Δ = -0.027) and we may also start new layers.