Scalping has always intrigued me. If you consider that the market can go up, down or sideways then by buying a stock you really bet on only one of those outcomes: it should go up. By continuously buying and selling for a few ticks higher you bet on the market to go sideways, but if it goes up or down by a relatively small amount you still make money. The real problem with this approach is that your losses mount exponentially, while your profits grow only linearly: if you start buying 100 lots at every whole dollar, start at 100 and the stock goes to 90 by the end of the day without going up enough to trigger any sell, you will buy at 100, 99, 98, etc. By the time the price hits 90 you will have bought 1000 lots at an average price of 95. That’s a loss of $5000, while you will only make $100 per buy-sell round. That’s a very bad risk-reward situation.
So what if we hedge any positions of significance with puts and calls? According to options theory that should not bring us any money because of the no-arbitrage argument. Still, I’m curious and that’s what I set out to do.
Here’s the basic idea: if the current price is 100, then I want to enter buy orders at 99, 98 and 97, and sell orders at 101, 102, and 103. The space between those orders (1.00 in this case) can be specified and will be called tickSpread. The number of buy and sell orders is N. The order size is aptly named orderSize. At all times I want my position in the stock plus N*orderSize to be smaller than 100 times the number of puts I’ve got. If that’s not the case I first need to buy enough puts. Similarly, ,minus my position in the stock plus N*orderSize must be smaller than 100 times the number of calls I’ve got.
If those two conditions are satisfied, we actually place the buy and sell orders in the stock. If an order is executed, we place a new order of the opposite side one tickSpread below the order price. For example, when a buy at 99 is executed we add a new sell order at 100. We keep playing this game, all the while ensuring we have enough puts and calls.
Is this scheme going to make any money? Well, the good part is that the price runs away from our starting point we are protected by the options. Roughly speaking, the loss now grows linearly with how far the price moves away. The bad part is twofold: the position in the stock can still become very big. In Europe we can’t do portfolio margin, meaning the broker/clearer doesn’t net the risk from the options plus the stocks but considers them individually. In other words: you will need a lot of capital.
The other bad part is the decay in option value. Options can be tricky, and as I’ve stated earlier, from the theory you should not expect there is any money to be made here. The options are purchased at the worst possible time: if the market is going down you will need puts, and those will be expensive then. If the market is going up right after that, you will profit by selling portions of stock but alas, the puts will lose value. But there is hope: if the stock then goes down again to the same level, you won’t have to buy new puts because you already have enough of them. But you will make money on scalping the stock!
I’m a bit skeptical this will turn into anything useful, but at the same time it seems like a fun experiment. Normally I’m not a fan of paper trading, but in this case I have absolutely no idea how much of a disaster this can turn into. In the coming days I’ll post some statistics on trading NVidia using this method. Here’s the first one. It present the numbers at 20:22 CET (1.5 hours before the close). TickSpread is 0.20, orderSize = 50. This means a round trip scalp will make $10, minus 2 times $1 transaction costs = $8.
2025-01-10
Start position: | NVDA: 0 | |
Start price: | 135.60 | |
PnL | ||
End position: | NVDA: -350 | 183 |
Feb21’25 135 call: 3 @8.761 | 24 | |
Feb21’25 136 call: 3 @8.528 | -68 | |
Feb21’25 137 call: 3 @8.611 | -240 | |
Feb21’25 134 put: 3 @7.561 | -303 | |
Todays protection costs: | 10038.30 | |
Trading range: | 134.20 | 137.20 |
Total: | -404 | |
End price: | 136.30 | |
#trades: | 2400 buys @ 135.917 | 2750 sells @ 136.065 |
That doesn’t look to fancy. The cost of protection is now 10038 and we need to make that back by scalping $8 per buy/sell pair. We do have tremendous turnover though: we bought 2400 lots, which translates to 2400/50 = 48 trades. If the market would magically return to the starting price we would have made 48*$8 = $384. If that’s an indication of what we make per day we would need 26 days to pay for the insurance. Hmm. 26 days from now is somewhere around expiration day. That would mean the options are priced amazingly accurate. It is very likely NVidia will move beyond 134 – 137 and that would mean more option buying. Stay tuned!