Skip to content

29 Comments

  1. Dmitry
    June 5, 2020 @ 10:42 am

    Thank you for a great backtests.
    Explain please, how much leverage did you use in this study.
    For example, SPY price $300 we have $30000 capital means no leverage, $15000 capital – 2x leverage.

    Reply

    • spintwig.com
      June 5, 2020 @ 11:35 am

      Welcome! Maximal leverage was used with the help of hindsight bias – 5x. If SPY is $300 then $6k. Assumptions about buying power expansion risk, etc. are in the methodology section.

      Reply

      • Dmitry
        June 5, 2020 @ 12:50 pm

        How did you get such a low CAGR with 5x leverage?
        I personally sell 5D puts 0 DTE 3 times per week from February 2020. My average premium per contract $35.5.
        I understand premiums was so high in this year, so for example average premium for 300 strike will be $20.
        $20*3*52 = $3120 premium per year
        Calculating profit using premium capture
        3120*0.458 = $1429

        Anual rate with $30000 capital (1x leverage)
        1429/30000 = 0.0476 = 4.76%

        So with 5x leverage it would be 23.8%.
        Is it right? Or I’m wrong?

        Reply

        • spintwig.com
          June 5, 2020 @ 6:43 pm

          The first several years of the study experienced virtually no time in the market due to only monthlies existing at the time and thus the strategies weren’t generating positive returns.

          I’ll be doing a second version of this study from mid 2018 through present to better reflect the strategy.

          Reply

        • spintwig.com
          June 5, 2020 @ 7:06 pm

          As for the formula, don’t forget to factor in losses too.

          Reply

          • Dmitry
            June 6, 2020 @ 10:36 am

            Losses accounted for in long run premium capture rate.

            Need to calculate max drowdown and volatility for a different leverage multipliers to adjust strategy for risk tolerance. Do you know how to do it?

            Reply

            • spintwig.com
              June 6, 2020 @ 1:46 pm

              Yes, I can run the numbers with different leverage targets.

              I offer custom, private backtesting for a fee. PM me the details of what you have in mind and I’ll send you a quote and an example results file.

              Reply

      • RN
        June 5, 2020 @ 1:27 pm

        So, you gon sell 0DTE puts brah? 🙂

        Reply

        • Dmitry
          June 5, 2020 @ 4:59 pm

          Yep. Selling 0 DTE on a regular basis

          Reply

  2. Pushpaw
    June 6, 2020 @ 9:31 pm

    Interesting backtest. Was this an EOD dataset (it says “Timing 3:46pm ET” in core strategy section of the post)? If so, the trades were entered at 3:45 at the end of the day that the contracts expired, so expired 15 minutes later? Or were these opened “at open” and allowed to expire “at close”? Or is 0DTE really 1DTE and trade is opened 3:45 pm the day before expiry and allowed to expire the next day?

    Follow-on question: If EOD data is used, how is the 50% profit handled on a 0 (or 1) day trade? There would only be two data points: the open price (3:45 pm) and the sell price (3:45 pm). If you sell at 50% profit at 3:45 pm why not just let expire? Sorry, maybe getting ahead of myself with this follow-on, as your answer to the first question might clear it up. Maybe it’s intraday data…

    Reply

    • spintwig.com
      June 7, 2020 @ 12:56 am

      Great question and follow-on! You’re spot on with the mechanics.

      The 45 DTE studies are comprised of positions with a range from 28-62 DTE – a tolerance of +/-17 days. The option contract closest to a 45 DTE duration is selected amongst the available choices on a given day. The 0 DTE studies have a range from 0-3 DTE with a target closest to 0 DTE (same day). The detailed reason for these tolerances is in the methodology section. Short answer is to help ensure 1) a position is opened daily and 2) timing luck is minimized.

      Option prices are evaluated once per day at 3:46pm ET. Any logic that needs to trigger is then triggered based on this pricing. For 0-DTE positions, early management doesn’t apply since the position is opened 14 minutes before closing and thus expires before the next price check occurs which is the next trading day.

      Early management comes into play for positions that are 1-3 DTE. A 3-DTE option may be a position that’s opened on Friday with a Monday expiration. Friday is day 0, Saturday is 1, Sunday is 2 leaving Monday as day 3. Before Monday and Wednesday-expirations existed, a position may be opened on a Tuesday which expires on a Friday and thus early management comes into play in this scenario.

      Reply

  3. Pushpaw
    June 9, 2020 @ 12:06 am

    Ok, makes sense. But in real life would anyone open a position at 3:46 on a Friday and close it at 50% profit at 3:46 on Monday? Wouldn’t you just let it expire 14 minutes later?

    This test is kind of tricky because it includes 0 DTE (literally 14 minute trades in this instance), 1 DTE (by which I mean opening EOD and closing next trading day, so includes 3DTE weekend trades.

    And it seems to include a 3rd option, which is 2 DTE, or opening EOD and closing 2 trading days later (opening Monday EOD, closing Wednesday).

    Why would it select 0 DTE over 1 DTE? Or why would it select 2 DTE? Based simply on availability of strike within the delta range? These all strike me as very different trades in real life.

    I do 1 DTE trades frequently using EOD as entry point, but wouldn’t do 2 DTE because backtested both scenarios and 2 DTE performed poorly while 1 DTE (including 3 DTE weekend trades) did very well.

    I couldn’t test 0 DTE with the EOD data on my backtester. At least I don’t think I could.

    What I’ve always wanted to test is 0 DTE with intraday entries, like entering trade at open, at 10 AM, at 12 PM, at 2 PM etc, and trying different deltas and also rules that would turn the entries on or off.

    Will have to wait until I can afford intraday SPX data I guess!

    Reply

    • spintwig.com
      June 9, 2020 @ 10:46 am

      Probably not; I’d let it expire 14 minutes later. All instances of the “14-minute” positions were held till expiration.

      They are indeed very different trades. The mechanics of position selection essentially says: “show me all options on SPY with a delta range of “x” and DTE range of “y”. Then, select the delta that’s closest to the target delta value (if such a position exists within the range) then select the DTE value that’s closest to 0 DTE (if such a position exists within the range).

      Are the results of your 2 DTE trades published anywhere? I’d like to check it out. There’s a 2-3 DTE backtest (i.e. BigERN’s option strategy of opening Mon and closing Wed, opening Wed and closing Fri and opening Fri and closing Mon) in the works so it’ll be interesting to see if the results align.

      Yeah, intraday data is expensive! Also, it’s a LOT of data to parse.

      Reply

      • Pushpaw
        June 9, 2020 @ 4:05 pm

        No, I don’t have a website or anything. I backtested using OptionStack. It’s also not a straight daily entry – I use a technical signal to turn the trades on and off.

        Reply

        • Pushpaw
          January 6, 2021 @ 8:59 pm

          I should mention that at Quantconnect.com, it appears that intraday options data is quite affordable. If you know how to program in Python, I believe you could run an intraday test on a 0 DTE strategy like this.

          Reply

          • spintwig.com
            January 7, 2021 @ 2:03 pm

            Thanks for the tip! I’ll look into it.

            Reply

  4. James
    June 9, 2020 @ 1:16 pm

    Have you ever done a backtest where the margin collateral is held in SPY instead of a T-bill? My broker requires only 8% margin for SPY, so it seems viable to use SPY as collateral and sell puts as a form of safe leverage. SPY’s dividend is also very appealing compared to bond yields.

    Reply

    • spintwig.com
      June 9, 2020 @ 1:56 pm

      I haven’t, but that’s certainly something I can add to the list.

      Reply

      • James
        June 13, 2020 @ 1:17 am

        Also, do you think you could backtest the “hold the strike” approach to put selling? Basically, if a put expires ITM, you sell the same put for the next expiration. You keep doing this until it expires OTM, and then you go back to selling whatever delta you usually sell. The approach is described here: https://seekingalpha.com/article/4210320-selling-puts-good-bad-and-ugly

        Thanks!

        Reply

        • spintwig.com
          June 13, 2020 @ 8:13 am

          Interesting idea. The first time I heard of a “hold the strike” approach was just 3 days ago on BigERN’s “Option Writing part 4” post (https://earlyretirementnow.com/2020/06/10/passive-income-through-option-writing-part-4/).

          What I find curious about the SA article is that no one, neither the author nor the commenters, mentioned the issue and impacts of early assignment (not applicable for SPX, but idk many casual people selling SPX options ITM [read: using 5x leverage]. Meanwhile, all the author’s examples imply SPY is used).

          I can indeed run the numbers on a hold-the-strike approach but I won’t be able to simulate the impacts of early assignment, which can be material. As such, any study that depends on ITM positions as part of the strategy can be easily dismissed is “substantially inaccurate” due to the inability to model assignment risk.

          I’m sure CBOE and/or clearing houses have insights into assignment frequency and severity but I unfortunately don’t have such data to build a model. My assumptions would be a shot in the dark and could be a mile off.

          Reply

          • James
            June 13, 2020 @ 10:59 pm

            Yeah, SPX, XSP, ES, NDX, NQ, RUT, RTY, and others have no risk of early assignment. Lots of “options” available if you are concerned about early assignment.

            However, early assignment shouldn’t be a big deal. If anything, it would be good for the seller because they immediately collect all the remaining time premium and can then close the stock position and reopen the short put position, allowing them to collect time premium again.

            So I think it would be ok to assume that early assignment never happens, and if it does happen in the real world, just consider it a bonus 🙂

            Reply

            • spintwig.com
              June 15, 2020 @ 2:28 pm

              When I was kicking the tires on an ITM long-call study the P/L curves tracked the performance of SPY. The more ITM the position at order entry the more closely it hugged a basic SPY buy/hold curve. However, it always underperformed a comparatively leveraged buy/hold SPY strategy due to theta decay.

              Your point about early assignment on an ITM short strategy being accretive is a good one. Suppose SPX is used as the underlying in order to mitigate the early assignment risk (necessary for the study to be defensible). The strategy becomes a proxy for a leveraged SPY trade + any premium received.

              Seems plausible so long as one can stay solvent during downturns, which will no doubt be expensive on SPX. I’ll add this to the list.

              Reply

        • Pushpaw
          June 13, 2020 @ 9:17 am

          Hold the strike sounds like it’s just rolling to a future expiration. Am I missing something?

          Reply

          • James
            June 14, 2020 @ 1:07 am

            Instead of rolling to the same delta, you roll to the same strike price if the put is ITM. (This means you will be rolling to a different delta). In theory, this means that you should always be able to roll for a credit, which is different from rolling to a new delta, which would result in a debit if the put is ITM.

            Reply

            • Pushpaw
              June 14, 2020 @ 1:28 am

              Rolling to same strike is pretty common. For example, at OptionAlpha it’s recommended (if you can get a credit). It’s a way to “buy more time” on a trade. Though if you’re getting a credit I suppose you’re not buying anything.

              My problem with rolling is it is framed as the continuation of the same trade. I’m fact, you close your trade at a loss then open a new trade. If you “hold your strike” your new trade is opened at a delta at which you would not normally open a new trade unless you were speculating. It might work fine on SPX because of, you know, endless bull market, but in general in trading I don’t think it’s advisable. It’s something traders do to hold onto a losing position instead of taking the loss and moving on.

              Reply

    • phil2021
      May 1, 2021 @ 8:40 pm

      newbie question here on margin collateral held in SPY instead of a T-bill. Since put selling is a bullish strategy, then wouldn’t holding margin collateral in SPY compound the loss and margin needed in the event of a downturn?

      Reply

  5. VS
    December 25, 2020 @ 1:39 pm

    Amazing work on this analysis. Two questions. 1-Can you clarify how max drawdown was calculated given the leverage? Are you assuming the max drawdown = drawdown/unlevered investment (Ie 1x investment vs the 5x)?

    2-The max drawdown was -11.37%. Can you reveal when that drawdown occurred? Seems very punitive on a portfolio and potentially a wipe out on a 5x levered portfolio depending on the definition of (1). Many thanks!

    Reply

    • spintwig.com
      December 26, 2020 @ 2:46 pm

      Thanks! Certainly –

      Max drawdown is calculated based on the portfolio’s peak-to-trough change, described as a % of the end-of-day value (open position / unrealized P/L is not factored into end-of-day P/L value). I have updated the methodology section to reflect this clarified definition.

      As for the date in which the max drawdown values occurred, I unfortunately wasn’t capturing that data point when I did this backtest nor was I saving the raw output data for historic Q&A such as this. Starting around July 2020 is when the data point was added and around Oct / Nov 2020 for saving the raw output. Will have to rebuild the backtest(s) in order to capture that value.

      Reply

Leave a Reply

Your email address will not be published. Required fields are marked *