OTM calls on single stocks are generally overpriced. Using 3 years of EOD options data, I ran the following backtest: OTM call contract selection criteria Bid >= 0.15 and Ask >= 0.15 Bid/Ask spread between 0.01 and 4 Expiration between 11 and 75 days I compute the 30, 45, 60, 75, 90-day variances (using the VIX formula) and calculate the EWMA(0.7) for the series after the maturity. e.g. if the call expires in 15 days, I use the 30 day variance. Next, I filter out contracts where the IV is below the EWMA(0.7) variance. Finally, I run a Monte Carlo simulation to generate 50,000 GBM price paths with varying step counts using the EWMA(0.7) volatility estimate. Iterating over each price path, I calculate the probability of touching the strike price target, and count the occurrences where it is <5%. 1 minus ITM probability over 50,000 is the probability of expiring OTM. Contracts with a probability of expiring OTM >98% are selected to trade. For the backtest, trading signals are generated after the close, so the entry date is the next trading day. Entries use the bid price at 3:45 PM, and exits use the ask at 3:45 PM. The bid must be at least 0.60 or the signal is ignored. The exit criteria is >50% profit. No stops are used. Each trade is discrete and margin requirements are not considered. Assuming it were possible to enter the trade on the same day as the signal, profitability is slightly higher but not enough to justify the complexity of implementing this analysis on an intraday basis. Likewise, excluding days with zero volume did not affect the results much. Excluding open trades: 7,064 total trades 7,031 were profitable (99.5%) Total wins: $935,224 Total losses: -$11,160
Good backtest !!! - when you say margin requirements are not considered. Does that mean that a 10$ stock has the same weight (e.g. X lots) as a 100$ stock or did you adjust for that the overall position size would be similar?
One more input - I may be using the nbrs incorrectly but if you look at the shortPnl column as an indicator for the PnL for that trade (I may be using the wrong column) - you'll notice that the median and the average of the data is very different - the median shows little gain (3$) - the average shows an average gain of 27$
There are a number of red flags here. But primarily, your backtest has you entering options positions as a market order at the market open, and assuming a decent fill. Ain't gonna happen. And generally, it just doesn't pass the smell test. You've created a system that shorts calls on big tech hitters during a bull market run. Now, what's wrong with this picture?
You are buying at the bid price and selling at the ask price!!!! And you're using prices 15 minutes before your signal!!!!!!! Should I need to say more?
Thanks for the replies. Exclude rows where the exit date is 2021-05-13 (these are considered 'open') shortPnl = actualCost - exit: Mean 130.83 Median 79 Min -1545 Max 1855 These are limit orders. Selling to open at the bid; Buying to close at the ask. As far as writing calls during a bull run - yes, it sounds counterintuitive and that is why I am sharing the results as food for thought.
Maybe I misunderstood - but I think he's buying the ask and selling the bid (entries are on bid and the title of the thread is call selling). Should be reasonable to get filled there
I have not completed looking this over, but initial observations below. B/A spread of $4.00? Typo? Seems to be trying to discard cases where premium (via IV) may be fading, which seems good, but wonder if a simpler more direct derivation would be better! (no issue, just thinking). A bit curious on the purpose for this. 1) Confirmation of your statement: "OTM calls on single stocks are generally overpriced. " <-- seems a valid response. 2) or title: "Call Selling Strategy" This seems to be a bit of a miss with no regard to exposure to risk! -- unlimited risk.
Wide bid/ask spread is common on illiquid OTM options. I am not as concerned about liquidity at the entry, as much as the probability of expiring worthless at the exit. Unlimited risk is true, certainly with naked calls. The naked call could be spread into a long collar or bull vertical spread. But what is intriguing is that while naked OTM puts always blow up eventually, that has not been the case with calls, at least within this dataset.