Welcome to Tesla Motors Club
Discuss Tesla's Model S, Model 3, Model X, Model Y, Cybertruck, Roadster and More.
Register

Wiki Selling TSLA Options - Be the House

This site may earn commission on affiliate links.
Textbook MaxPain says Friday close $650-660. If I had money or margin, selling p650 & c660 sure looks like a pretty sure bet. Unfortunately, I’m pretty much tapped out. I could sell a couple more CCs. Hmmmm. Too late today, maybe tomorrow.
 
  • Informative
Reactions: adiggs
today I killed off an irritating DITM -p760; I had been rolling it for credit, but now it's too far at Dec 17 and it's tying up $37k margin

i used the "roll-split" solution (ie convert a PUT into a BPS with lower strike that will OTM the position)

BTC 12/17 x1 -p760 $15k debit
STO 8/6 x40 BPS +p600/-p620 $19k credit

i could have just taken the $19k and leave the -p760 to fix itself someday, but i'd rather use the $37k margin to make $ now
but i'd rather use the $37k margin to make $ now
You mean, after 08/06? I ask, because you now have 40 Contracts X $20 spread each, 40*20*100=$80,000 margin tied up.
 
  • Like
Reactions: Yoona
I am VERY call-heavy into earnings... and i am still very bullish.
But today i did 55x STO $720 call turning the assorted stuff into PMCCs for this week. Got only pennies for it, but it eases off a bit of theta-pressure - and 720 is a place where i would happily part all my calls expiring friday for ..
plus it is a big call-wall in the open-interest chart - so i hope i can close them for less than 5 cent each with an accompanying call.
Call heavy, as in buy side, bought calls, and compensated it through CCs? Or, all of it was calls (CCs) sold?
 
Sure hope this is a transitory bug - or maybe not - Fidelity has all of my accounts and their positions multiplied by 5.

I'm rich! But I sure do have a big pile of 760 puts to take care of :)


I didn't miss another 5 for 1 stock split did I!?!
Maybe we should read this as a sign that a "5-1" is on it's way.

Now my brain again veered into "why did Elon recently like that tweet with '5-1' in it" :cool:
Btw, the timestamp on that tweet was 7:30, just saying :cool:
 
Ok I am ready to share some of my first simulation results.

Purpose: To determine from simulation study the profitability and performance of a set of rolling CC strategies.

Background: I have a bunch of shares in my taxable account that I trade options on. I am hesitant to be aggressive because I don't want those shares to be called away right now, so understand the relationship between how aggressive I can be and how far out I can roll is of interest to me.

Methods: I generate thousands of random time series that mimic stock price time series using Brownian motion. I set parameters that affect the volatility and appreciation of the time series. In these studies, I keep volatility constant at a level that I think is in line with Tesla potential volatility. I vary the growth parameter depending on the test I am running.

I use the Black-Scholes model to generate the pricing of a call option with inputs of current price, strike price, volatility, time until expiration.

I created an algorithm for doing the trading / rolling strategy. The current model works as follows:

1. If no current open position, sell a weekly contract. The strike price is set by a parameter that I vary that looks out % out from current price, from 3 to 10% OTM.

2. I have a second parameter that determines at what price triggers the rolling process. If the stock price hits this threshold, then we roll. This value is set as a % away from the strike price, from -5% OTM to 2% ITM.

3. If we hit the trigger to roll, we close the current contract and try to open a new one. The new contract starts looking at 1 week out and the same % away from current price for the strike price as normal. However it recursively searches for a new position until it achieves a premium that covers the previously losses. This is done by extended out the expiration date and increasing the strike price. Each loop, the expiration date is doubled in time. So first 1 week, then 2 weeks, 4 weeks, 8 weeks, etc... How much to increase the strike price each iteration is set by a parameter that varies between 1 and 10%. Once enough premium is found, I sell a new position. If it cannot find a contract with enough premium within a year expiration, then instead of rolling it lets the shares get assigned.

4. If at just before expiration the call is OTM, close the position. Go to step 1.

So basically I feed each time series into the algorithm, I get out all the options trading times, premiums, and stock price gain (or loss) and also the gain if the shares weren't assigned. I feed in a few years of price information but the profits and trading are only tracked for 1 year (expect for when an open position extends into the next year, then must track price to close that position).

Results

For my interest, I want to see how performance of rolling strategies is influenced by specific stock appreciation ranges. I don't care so much if it doesn't work when stock goes 10x in a year because I don't think that will happen.

Let's look at cases where we allow stock price to increase 100% (+/- 25%). Buy and hold gain is in red, CC strategies (on average) yield the blue distribution. I am including the premium in the % gain, and here we can see a clean win of the CC strategy. Profits are basically shifted upward in all simulations.

The 2nd graph looks at how percent OTM affects total premium accrued (as a % gain). We can see closer strike prices (smaller % OTM) can garner higher premiums, though they can also gain less in a few cases. Further OTM strikes gain less, but have less variance.

100gain.png
OTM100.png


Now lets look at cases where stock goes up 200% in a year (+/- 25%). We begin getting cases where the CC rolling strategy at some point fails and we get assigned early. Thus overall gain is less than buy and hold strategy in some cases. We begin seeing worsening performance of some of the more aggressive OTM strike prices. Notice that already 4% and less OTMs now are less profitable than 6% OTM.

200gain.png
OTM200.png


And 300%, now a lot of cases are "failing" vs buy and hold. Note though that these failures still should still allow you to gain 100% of your investment.

300gain.png
OTM300.png

Interestingly, the effect of price from strike for when to close a position and roll was not that important. You could do it 5% OTM or 2% ITM and it didn't seem to matter much in this test.

300strike.png


For the scaling value interestingly it found lower scaling was better. So instead of rolling "up and out", this strategy really want to mostly roll out, but barely up.

300scale.png



So when I looked at these, I was interesting in studying the performance of say consistently selling weeklies 8% OTM, and roll out when stock price hits strike price exactly. On average, even up to ~ 300% stock appreciation in a year, the strategy would be beneficial and add another 25% gain from premiums.

8OTM2.png


For that specific strategy, if the stock gains 100% or less in a year, the rolling strategy works with no failures (no assignment).

If the stock gains between 100% and 200%, the strategy works 99% of the time.

If the stock gains between 200% and 300%, the strategy works 88% of the time.

So for me, this is good but maybe too conservative. I don't need to it to work 99% of the time up to 200% gain, because would I even hold onto the stock if it 3x's from here in a year? But it's a good starting point. I will look at 6% OTM and see how that fairs.


Limitations: There are plenty of assumptions and limitations here, I'm too lazy to go over them but feel to bring them up! This is just a simulation, not reality. Real results will be the same.

But take home message of this study, no, you cannot roll out indefinitely if the stock price keeps going up, especially 3x or 4x more in a year. But you can probably find a strategy that will allow you too, but you may have to sacrifice some gains for it.


You can check out an example simulation script here:


I cleaned it up a bit but still messy to play with. This is an example where I look at cases where the stock price gains ~ 100% in 1 year (+/- 25% range).
 

Attachments

  • 8OTM.png
    8OTM.png
    32.3 KB · Views: 29
Ok I am ready to share some of my first simulation results.

Purpose: To determine from simulation study the profitability and performance of a set of rolling CC strategies.

Background: I have a bunch of shares in my taxable account that I trade options on. I am hesitant to be aggressive because I don't want those shares to be called away right now, so understand the relationship between how aggressive I can be and how far out I can roll is of interest to me.

Methods: I generate thousands of random time series that mimic stock price time series using Brownian motion. I set parameters that affect the volatility and appreciation of the time series. In these studies, I keep volatility constant at a level that I think is in line with Tesla potential volatility. I vary the growth parameter depending on the test I am running.

I use the Black-Scholes model to generate the pricing of a call option with inputs of current price, strike price, volatility, time until expiration.

I created an algorithm for doing the trading / rolling strategy. The current model works as follows:

1. If no current open position, sell a weekly contract. The strike price is set by a parameter that I vary that looks out % out from current price, from 3 to 10% OTM.

2. I have a second parameter that determines at what price triggers the rolling process. If the stock price hits this threshold, then we roll. This value is set as a % away from the strike price, from -5% OTM to 2% ITM.

3. If we hit the trigger to roll, we close the current contract and try to open a new one. The new contract starts looking at 1 week out and the same % away from current price for the strike price as normal. However it recursively searches for a new position until it achieves a premium that covers the previously losses. This is done by extended out the expiration date and increasing the strike price. Each loop, the expiration date is doubled in time. So first 1 week, then 2 weeks, 4 weeks, 8 weeks, etc... How much to increase the strike price each iteration is set by a parameter that varies between 1 and 10%. Once enough premium is found, I sell a new position. If it cannot find a contract with enough premium within a year expiration, then instead of rolling it lets the shares get assigned.

4. If at just before expiration the call is OTM, close the position. Go to step 1.

So basically I feed each time series into the algorithm, I get out all the options trading times, premiums, and stock price gain (or loss) and also the gain if the shares weren't assigned. I feed in a few years of price information but the profits and trading are only tracked for 1 year (expect for when an open position extends into the next year, then must track price to close that position).

Results

For my interest, I want to see how performance of rolling strategies is influenced by specific stock appreciation ranges. I don't care so much if it doesn't work when stock goes 10x in a year because I don't think that will happen.

Let's look at cases where we allow stock price to increase 100% (+/- 25%). Buy and hold gain is in red, CC strategies (on average) yield the blue distribution. I am including the premium in the % gain, and here we can see a clean win of the CC strategy. Profits are basically shifted upward in all simulations.

The 2nd graph looks at how percent OTM affects total premium accrued (as a % gain). We can see closer strike prices (smaller % OTM) can garner higher premiums, though they can also gain less in a few cases. Further OTM strikes gain less, but have less variance.

View attachment 686898View attachment 686899

Now lets look at cases where stock goes up 200% in a year (+/- 25%). We begin getting cases where the CC rolling strategy at some point fails and we get assigned early. Thus overall gain is less than buy and hold strategy in some cases. We begin seeing worsening performance of some of the more aggressive OTM strike prices. Notice that already 4% and less OTMs now are less profitable than 6% OTM.

View attachment 686900View attachment 686901

And 300%, now a lot of cases are "failing" vs buy and hold. Note though that these failures still should still allow you to gain 100% of your investment.

View attachment 686902View attachment 686903
Interestingly, the effect of price from strike for when to close a position and roll was not that important. You could do it 5% OTM or 2% ITM and it didn't seem to matter much in this test.

View attachment 686905

For the scaling value interestingly it found lower scaling was better. So instead of rolling "up and out", this strategy really want to mostly roll out, but barely up.

View attachment 686906


So when I looked at these, I was interesting in studying the performance of say consistently selling weeklies 8% OTM, and roll out when stock price hits strike price exactly. On average, even up to ~ 300% stock appreciation in a year, the strategy would be beneficial and add another 25% gain from premiums.

View attachment 686908

For that specific strategy, if the stock gains 100% or less in a year, the rolling strategy works with no failures (no assignment).

If the stock gains between 100% and 200%, the strategy works 99% of the time.

If the stock gains between 200% and 300%, the strategy works 88% of the time.

So for me, this is good but maybe too conservative. I don't need to it to work 99% of the time up to 200% gain, because would I even hold onto the stock if it 3x's from here in a year? But it's a good starting point. I will look at 6% OTM and see how that fairs.


Limitations: There are plenty of assumptions and limitations here, I'm too lazy to go over them but feel to bring them up! This is just a simulation, not reality. Real results will be the same.

But take home message of this study, no, you cannot roll out indefinitely if the stock price keeps going up, especially 3x or 4x more in a year. But you can probably find a strategy that will allow you too, but you may have to sacrifice some gains for it.


You can check out an example simulation script here:


I cleaned it up a bit but still messy to play with. This is an example where I look at cases where the stock price gains ~ 100% in 1 year (+/- 25% range).
Wow, just wow.
Thanks for putting in the time and more importantly for sharing this with us.
Might be worth it to cross post in the advanced options thread as well.
 
Ok I am ready to share some of my first simulation results.

Thanks for sharing!

It looks like you have (at least) three parameters: initial strike price, rolling threshold, and amount to raise the strike at each step while rolling. Have you done any analysis of the best values for those parameters? You mentioned that for the first two you tried +8% and +0%... was that shown to be best or just a random choice you tried?

Also, in this model does it immediately buy shares with any proceeds from selling the calls / sold calls getting executed? Or does it keep cash? Or something else?
 
Thanks for sharing!

It looks like you have (at least) three parameters: initial strike price, rolling threshold, and amount to raise the strike at each step while rolling. Have you done any analysis of the best values for those parameters? You mentioned that for the first two you tried +8% and +0%... was that shown to be best or just a random choice you tried?

Also, in this model does it immediately buy shares with any proceeds from selling the calls / sold calls getting executed? Or does it keep cash? Or something else?

From the graphs it approximately looks like 8%, cover when hits ATM (0%) and a small growth of strike price % (maybe 1 %) is optimal (in the ranges of stock appreciation I am focused on). but that is not explicit, as I let the parameters take any floating point value so I would have to do some interpolation to pick an optimal point. Instead I will do a set where the coefficients are gridded and can find the point with the best return.

Maybe later today...
 
Wow, just wow.
Thanks for putting in the time and more importantly for sharing this with us.
Might be worth it to cross post in the advanced options thread as well.

No problem, actually "forcing" me to report the results helps crystallize the results at some timestamp that I wouldn't do otherwise, makes me see where the deficiencies are.
 
Textbook MaxPain says Friday close $650-660. If I had money or margin, selling p650 & c660 sure looks like a pretty sure bet. Unfortunately, I’m pretty much tapped out. I could sell a couple more CCs. Hmmmm. Too late today, maybe tomorrow.
Way too intense for me :)
Ok I am ready to share some of my first simulation results.

Purpose: To determine from simulation study the profitability and performance of a set of rolling CC strategies.

Background: I have a bunch of shares in my taxable account that I trade options on. I am hesitant to be aggressive because I don't want those shares to be called away right now, so understand the relationship between how aggressive I can be and how far out I can roll is of interest to me.

Methods: I generate thousands of random time series that mimic stock price time series using Brownian motion. I set parameters that affect the volatility and appreciation of the time series. In these studies, I keep volatility constant at a level that I think is in line with Tesla potential volatility. I vary the growth parameter depending on the test I am running.

I use the Black-Scholes model to generate the pricing of a call option with inputs of current price, strike price, volatility, time until expiration.

I created an algorithm for doing the trading / rolling strategy. The current model works as follows:

1. If no current open position, sell a weekly contract. The strike price is set by a parameter that I vary that looks out % out from current price, from 3 to 10% OTM.

2. I have a second parameter that determines at what price triggers the rolling process. If the stock price hits this threshold, then we roll. This value is set as a % away from the strike price, from -5% OTM to 2% ITM.

3. If we hit the trigger to roll, we close the current contract and try to open a new one. The new contract starts looking at 1 week out and the same % away from current price for the strike price as normal. However it recursively searches for a new position until it achieves a premium that covers the previously losses. This is done by extended out the expiration date and increasing the strike price. Each loop, the expiration date is doubled in time. So first 1 week, then 2 weeks, 4 weeks, 8 weeks, etc... How much to increase the strike price each iteration is set by a parameter that varies between 1 and 10%. Once enough premium is found, I sell a new position. If it cannot find a contract with enough premium within a year expiration, then instead of rolling it lets the shares get assigned.

4. If at just before expiration the call is OTM, close the position. Go to step 1.

So basically I feed each time series into the algorithm, I get out all the options trading times, premiums, and stock price gain (or loss) and also the gain if the shares weren't assigned. I feed in a few years of price information but the profits and trading are only tracked for 1 year (expect for when an open position extends into the next year, then must track price to close that position).

Results

For my interest, I want to see how performance of rolling strategies is influenced by specific stock appreciation ranges. I don't care so much if it doesn't work when stock goes 10x in a year because I don't think that will happen.

Let's look at cases where we allow stock price to increase 100% (+/- 25%). Buy and hold gain is in red, CC strategies (on average) yield the blue distribution. I am including the premium in the % gain, and here we can see a clean win of the CC strategy. Profits are basically shifted upward in all simulations.

The 2nd graph looks at how percent OTM affects total premium accrued (as a % gain). We can see closer strike prices (smaller % OTM) can garner higher premiums, though they can also gain less in a few cases. Further OTM strikes gain less, but have less variance.

View attachment 686898View attachment 686899

Now lets look at cases where stock goes up 200% in a year (+/- 25%). We begin getting cases where the CC rolling strategy at some point fails and we get assigned early. Thus overall gain is less than buy and hold strategy in some cases. We begin seeing worsening performance of some of the more aggressive OTM strike prices. Notice that already 4% and less OTMs now are less profitable than 6% OTM.

View attachment 686900View attachment 686901

And 300%, now a lot of cases are "failing" vs buy and hold. Note though that these failures still should still allow you to gain 100% of your investment.

View attachment 686902View attachment 686903
Interestingly, the effect of price from strike for when to close a position and roll was not that important. You could do it 5% OTM or 2% ITM and it didn't seem to matter much in this test.

View attachment 686905

For the scaling value interestingly it found lower scaling was better. So instead of rolling "up and out", this strategy really want to mostly roll out, but barely up.

View attachment 686906


So when I looked at these, I was interesting in studying the performance of say consistently selling weeklies 8% OTM, and roll out when stock price hits strike price exactly. On average, even up to ~ 300% stock appreciation in a year, the strategy would be beneficial and add another 25% gain from premiums.

View attachment 686908

For that specific strategy, if the stock gains 100% or less in a year, the rolling strategy works with no failures (no assignment).

If the stock gains between 100% and 200%, the strategy works 99% of the time.

If the stock gains between 200% and 300%, the strategy works 88% of the time.

So for me, this is good but maybe too conservative. I don't need to it to work 99% of the time up to 200% gain, because would I even hold onto the stock if it 3x's from here in a year? But it's a good starting point. I will look at 6% OTM and see how that fairs.


Limitations: There are plenty of assumptions and limitations here, I'm too lazy to go over them but feel to bring them up! This is just a simulation, not reality. Real results will be the same.

But take home message of this study, no, you cannot roll out indefinitely if the stock price keeps going up, especially 3x or 4x more in a year. But you can probably find a strategy that will allow you too, but you may have to sacrifice some gains for it.


You can check out an example simulation script here:


I cleaned it up a bit but still messy to play with. This is an example where I look at cases where the stock price gains ~ 100% in 1 year (+/- 25% range).

My first thought / question is the brownian motion assumption. In a time series that is a random walk.

I've read in other contexts that daily movements in the stock market and individual instruments are best modeled as a random walk, so its a good assumption for very short time periods.

The question / thought is over a longer period of time. I personally am not worried about 3x in a year when it is randomly distributed throughout the year. The likelihood that the 3x is concentrated in a 2-6 week time period is pretty small. But that is the experience we've had - sharp moves in a short time period.


A couple of examples from the last year.
- Nov 9, '16. 408. I think that this was the S&P announcement
- Dec 18, '20: 695 . the entry price for S&P inclusion. 34 days later. 70% gain.
- January 8, '21: $880. 19 days later. 27% gain, or 126% since Nov (53 days)

- January 26, '21: 883. peak as we prepare to drop
- March 8, '21. 563. bottom for the year (touched later as well). ~41 days later. 36% drop

And in case the S&P event seems artificial or a one-off:
- Aug 3 '20, 291.
- Aug 24, '20. 443. 52% gain in 21 days


So a question - have you analyzed the time series generated to see what more extreme moves look like in them?

Thanks for this work and reporting out on it - great stuff.
 
Many thanks @ZeApelido

I don't suppose Max Pain can be weaved into your magic?

Are others rolling out more than a month? Aren't you better taking a loss and going back to weeklies?

I like the 8% OTM and then covering when the price hits the strike price - nice and simple. However, most here would ride it out (I think) assuming there is still time and the max pain remains lower.
 
but i'd rather use the $37k margin to make $ now
You mean, after 08/06? I ask, because you now have 40 Contracts X $20 spread each, 40*20*100=$80,000 margin tied up.
ah yes, that's what i meant; 8/13-12/17 is 19 weeks of BPS income that i would have missed if i was lazy

in theory, that's 8/13 +p510/-p550 x10 ($37k margin) = $2,700 credit x 19 wks = approx $51k additional income gained by the released margin
 
Ok I am ready to share some of my first simulation results.

Purpose: To determine from simulation study the profitability and performance of a set of rolling CC strategies.

Background: I have a bunch of shares in my taxable account that I trade options on. I am hesitant to be aggressive because I don't want those shares to be called away right now, so understand the relationship between how aggressive I can be and how far out I can roll is of interest to me.

Methods: I generate thousands of random time series that mimic stock price time series using Brownian motion. I set parameters that affect the volatility and appreciation of the time series. In these studies, I keep volatility constant at a level that I think is in line with Tesla potential volatility. I vary the growth parameter depending on the test I am running.

I use the Black-Scholes model to generate the pricing of a call option with inputs of current price, strike price, volatility, time until expiration.

I created an algorithm for doing the trading / rolling strategy. The current model works as follows:

1. If no current open position, sell a weekly contract. The strike price is set by a parameter that I vary that looks out % out from current price, from 3 to 10% OTM.

2. I have a second parameter that determines at what price triggers the rolling process. If the stock price hits this threshold, then we roll. This value is set as a % away from the strike price, from -5% OTM to 2% ITM.

3. If we hit the trigger to roll, we close the current contract and try to open a new one. The new contract starts looking at 1 week out and the same % away from current price for the strike price as normal. However it recursively searches for a new position until it achieves a premium that covers the previously losses. This is done by extended out the expiration date and increasing the strike price. Each loop, the expiration date is doubled in time. So first 1 week, then 2 weeks, 4 weeks, 8 weeks, etc... How much to increase the strike price each iteration is set by a parameter that varies between 1 and 10%. Once enough premium is found, I sell a new position. If it cannot find a contract with enough premium within a year expiration, then instead of rolling it lets the shares get assigned.

4. If at just before expiration the call is OTM, close the position. Go to step 1.

So basically I feed each time series into the algorithm, I get out all the options trading times, premiums, and stock price gain (or loss) and also the gain if the shares weren't assigned. I feed in a few years of price information but the profits and trading are only tracked for 1 year (expect for when an open position extends into the next year, then must track price to close that position).

Results

For my interest, I want to see how performance of rolling strategies is influenced by specific stock appreciation ranges. I don't care so much if it doesn't work when stock goes 10x in a year because I don't think that will happen.

Let's look at cases where we allow stock price to increase 100% (+/- 25%). Buy and hold gain is in red, CC strategies (on average) yield the blue distribution. I am including the premium in the % gain, and here we can see a clean win of the CC strategy. Profits are basically shifted upward in all simulations.

The 2nd graph looks at how percent OTM affects total premium accrued (as a % gain). We can see closer strike prices (smaller % OTM) can garner higher premiums, though they can also gain less in a few cases. Further OTM strikes gain less, but have less variance.

View attachment 686898View attachment 686899

Now lets look at cases where stock goes up 200% in a year (+/- 25%). We begin getting cases where the CC rolling strategy at some point fails and we get assigned early. Thus overall gain is less than buy and hold strategy in some cases. We begin seeing worsening performance of some of the more aggressive OTM strike prices. Notice that already 4% and less OTMs now are less profitable than 6% OTM.

View attachment 686900View attachment 686901

And 300%, now a lot of cases are "failing" vs buy and hold. Note though that these failures still should still allow you to gain 100% of your investment.

View attachment 686902View attachment 686903
Interestingly, the effect of price from strike for when to close a position and roll was not that important. You could do it 5% OTM or 2% ITM and it didn't seem to matter much in this test.

View attachment 686905

For the scaling value interestingly it found lower scaling was better. So instead of rolling "up and out", this strategy really want to mostly roll out, but barely up.

View attachment 686906


So when I looked at these, I was interesting in studying the performance of say consistently selling weeklies 8% OTM, and roll out when stock price hits strike price exactly. On average, even up to ~ 300% stock appreciation in a year, the strategy would be beneficial and add another 25% gain from premiums.

View attachment 686908

For that specific strategy, if the stock gains 100% or less in a year, the rolling strategy works with no failures (no assignment).

If the stock gains between 100% and 200%, the strategy works 99% of the time.

If the stock gains between 200% and 300%, the strategy works 88% of the time.

So for me, this is good but maybe too conservative. I don't need to it to work 99% of the time up to 200% gain, because would I even hold onto the stock if it 3x's from here in a year? But it's a good starting point. I will look at 6% OTM and see how that fairs.


Limitations: There are plenty of assumptions and limitations here, I'm too lazy to go over them but feel to bring them up! This is just a simulation, not reality. Real results will be the same.

But take home message of this study, no, you cannot roll out indefinitely if the stock price keeps going up, especially 3x or 4x more in a year. But you can probably find a strategy that will allow you too, but you may have to sacrifice some gains for it.


You can check out an example simulation script here:


I cleaned it up a bit but still messy to play with. This is an example where I look at cases where the stock price gains ~ 100% in 1 year (+/- 25% range).
This is super-interesting and high-quality, thank you!

Did you consider, rather than using random stock movements, using the historical pricing to model a range of what-if scenarios?

And I'm really interested to see how things would turn out if you wen aggressive and ATM on the strikes, rather the 8%, or whatever OTM?
 
Way too intense for me :)


My first thought / question is the brownian motion assumption. In a time series that is a random walk.

I've read in other contexts that daily movements in the stock market and individual instruments are best modeled as a random walk, so its a good assumption for very short time periods.

The question / thought is over a longer period of time. I personally am not worried about 3x in a year when it is randomly distributed throughout the year. The likelihood that the 3x is concentrated in a 2-6 week time period is pretty small. But that is the experience we've had - sharp moves in a short time period.


A couple of examples from the last year.
- Nov 9, '16. 408. I think that this was the S&P announcement
- Dec 18, '20: 695 . the entry price for S&P inclusion. 34 days later. 70% gain.
- January 8, '21: $880. 19 days later. 27% gain, or 126% since Nov (53 days)

- January 26, '21: 883. peak as we prepare to drop
- March 8, '21. 563. bottom for the year (touched later as well). ~41 days later. 36% drop

And in case the S&P event seems artificial or a one-off:
- Aug 3 '20, 291.
- Aug 24, '20. 443. 52% gain in 21 days


So a question - have you analyzed the time series generated to see what more extreme moves look like in them?

Thanks for this work and reporting out on it - great stuff.

Yes there might be a better time series generative model to even more realistic price movements. You can certainly get crazy movements using Brownian motion - 0.5 volatility is decent and can generate 40% gains and losses within a month. Here's an example (x axis is in days).

example.png


I believe Black Scholes is modeled on Brownian motion. But to be even more conservative, I could make the volatility in the time series generation larger than what is fed into the Black Scholes option pricing. This would inevitably penalize more aggressive trading strategies more than currently.
 
  • Informative
  • Like
Reactions: MaxPain and adiggs
Many thanks @ZeApelido

I don't suppose Max Pain can be weaved into your magic?

Are others rolling out more than a month? Aren't you better taking a loss and going back to weeklies?

I like the 8% OTM and then covering when the price hits the strike price - nice and simple. However, most here would ride it out (I think) assuming there is still time and the max pain remains lower.

I don't think I know how I could incorporate max pain as I have no model for it.
 
Ok I am ready to share some of my first simulation results.

Purpose: To determine from simulation study the profitability and performance of a set of rolling CC strategies.

Background: I have a bunch of shares in my taxable account that I trade options on. I am hesitant to be aggressive because I don't want those shares to be called away right now, so understand the relationship between how aggressive I can be and how far out I can roll is of interest to me.

Methods: I generate thousands of random time series that mimic stock price time series using Brownian motion. I set parameters that affect the volatility and appreciation of the time series. In these studies, I keep volatility constant at a level that I think is in line with Tesla potential volatility. I vary the growth parameter depending on the test I am running.

I use the Black-Scholes model to generate the pricing of a call option with inputs of current price, strike price, volatility, time until expiration.

I created an algorithm for doing the trading / rolling strategy. The current model works as follows:

1. If no current open position, sell a weekly contract. The strike price is set by a parameter that I vary that looks out % out from current price, from 3 to 10% OTM.

2. I have a second parameter that determines at what price triggers the rolling process. If the stock price hits this threshold, then we roll. This value is set as a % away from the strike price, from -5% OTM to 2% ITM.

3. If we hit the trigger to roll, we close the current contract and try to open a new one. The new contract starts looking at 1 week out and the same % away from current price for the strike price as normal. However it recursively searches for a new position until it achieves a premium that covers the previously losses. This is done by extended out the expiration date and increasing the strike price. Each loop, the expiration date is doubled in time. So first 1 week, then 2 weeks, 4 weeks, 8 weeks, etc... How much to increase the strike price each iteration is set by a parameter that varies between 1 and 10%. Once enough premium is found, I sell a new position. If it cannot find a contract with enough premium within a year expiration, then instead of rolling it lets the shares get assigned.

4. If at just before expiration the call is OTM, close the position. Go to step 1.

So basically I feed each time series into the algorithm, I get out all the options trading times, premiums, and stock price gain (or loss) and also the gain if the shares weren't assigned. I feed in a few years of price information but the profits and trading are only tracked for 1 year (expect for when an open position extends into the next year, then must track price to close that position).

Results

For my interest, I want to see how performance of rolling strategies is influenced by specific stock appreciation ranges. I don't care so much if it doesn't work when stock goes 10x in a year because I don't think that will happen.

Let's look at cases where we allow stock price to increase 100% (+/- 25%). Buy and hold gain is in red, CC strategies (on average) yield the blue distribution. I am including the premium in the % gain, and here we can see a clean win of the CC strategy. Profits are basically shifted upward in all simulations.

The 2nd graph looks at how percent OTM affects total premium accrued (as a % gain). We can see closer strike prices (smaller % OTM) can garner higher premiums, though they can also gain less in a few cases. Further OTM strikes gain less, but have less variance.

View attachment 686898View attachment 686899

Now lets look at cases where stock goes up 200% in a year (+/- 25%). We begin getting cases where the CC rolling strategy at some point fails and we get assigned early. Thus overall gain is less than buy and hold strategy in some cases. We begin seeing worsening performance of some of the more aggressive OTM strike prices. Notice that already 4% and less OTMs now are less profitable than 6% OTM.

View attachment 686900View attachment 686901

And 300%, now a lot of cases are "failing" vs buy and hold. Note though that these failures still should still allow you to gain 100% of your investment.

View attachment 686902View attachment 686903
Interestingly, the effect of price from strike for when to close a position and roll was not that important. You could do it 5% OTM or 2% ITM and it didn't seem to matter much in this test.

View attachment 686905

For the scaling value interestingly it found lower scaling was better. So instead of rolling "up and out", this strategy really want to mostly roll out, but barely up.

View attachment 686906


So when I looked at these, I was interesting in studying the performance of say consistently selling weeklies 8% OTM, and roll out when stock price hits strike price exactly. On average, even up to ~ 300% stock appreciation in a year, the strategy would be beneficial and add another 25% gain from premiums.

View attachment 686908

For that specific strategy, if the stock gains 100% or less in a year, the rolling strategy works with no failures (no assignment).

If the stock gains between 100% and 200%, the strategy works 99% of the time.

If the stock gains between 200% and 300%, the strategy works 88% of the time.

So for me, this is good but maybe too conservative. I don't need to it to work 99% of the time up to 200% gain, because would I even hold onto the stock if it 3x's from here in a year? But it's a good starting point. I will look at 6% OTM and see how that fairs.


Limitations: There are plenty of assumptions and limitations here, I'm too lazy to go over them but feel to bring them up! This is just a simulation, not reality. Real results will be the same.

But take home message of this study, no, you cannot roll out indefinitely if the stock price keeps going up, especially 3x or 4x more in a year. But you can probably find a strategy that will allow you too, but you may have to sacrifice some gains for it.


You can check out an example simulation script here:


I cleaned it up a bit but still messy to play with. This is an example where I look at cases where the stock price gains ~ 100% in 1 year (+/- 25% range).
Best post ever on the thread! Also seems to validate lycanthrope strategy the most. Who knew the wolfman has statistics on his side?
 
Ok I am ready to share some of my first simulation results.

Purpose: To determine from simulation study the profitability and performance of a set of rolling CC strategies.

Background: I have a bunch of shares in my taxable account that I trade options on. I am hesitant to be aggressive because I don't want those shares to be called away right now, so understand the relationship between how aggressive I can be and how far out I can roll is of interest to me.

Methods: I generate thousands of random time series that mimic stock price time series using Brownian motion. I set parameters that affect the volatility and appreciation of the time series. In these studies, I keep volatility constant at a level that I think is in line with Tesla potential volatility. I vary the growth parameter depending on the test I am running.

I use the Black-Scholes model to generate the pricing of a call option with inputs of current price, strike price, volatility, time until expiration.

I created an algorithm for doing the trading / rolling strategy. The current model works as follows:

1. If no current open position, sell a weekly contract. The strike price is set by a parameter that I vary that looks out % out from current price, from 3 to 10% OTM.

2. I have a second parameter that determines at what price triggers the rolling process. If the stock price hits this threshold, then we roll. This value is set as a % away from the strike price, from -5% OTM to 2% ITM.

3. If we hit the trigger to roll, we close the current contract and try to open a new one. The new contract starts looking at 1 week out and the same % away from current price for the strike price as normal. However it recursively searches for a new position until it achieves a premium that covers the previously losses. This is done by extended out the expiration date and increasing the strike price. Each loop, the expiration date is doubled in time. So first 1 week, then 2 weeks, 4 weeks, 8 weeks, etc... How much to increase the strike price each iteration is set by a parameter that varies between 1 and 10%. Once enough premium is found, I sell a new position. If it cannot find a contract with enough premium within a year expiration, then instead of rolling it lets the shares get assigned.

4. If at just before expiration the call is OTM, close the position. Go to step 1.

So basically I feed each time series into the algorithm, I get out all the options trading times, premiums, and stock price gain (or loss) and also the gain if the shares weren't assigned. I feed in a few years of price information but the profits and trading are only tracked for 1 year (expect for when an open position extends into the next year, then must track price to close that position).

Results

For my interest, I want to see how performance of rolling strategies is influenced by specific stock appreciation ranges. I don't care so much if it doesn't work when stock goes 10x in a year because I don't think that will happen.

Let's look at cases where we allow stock price to increase 100% (+/- 25%). Buy and hold gain is in red, CC strategies (on average) yield the blue distribution. I am including the premium in the % gain, and here we can see a clean win of the CC strategy. Profits are basically shifted upward in all simulations.

The 2nd graph looks at how percent OTM affects total premium accrued (as a % gain). We can see closer strike prices (smaller % OTM) can garner higher premiums, though they can also gain less in a few cases. Further OTM strikes gain less, but have less variance.

View attachment 686898View attachment 686899

Now lets look at cases where stock goes up 200% in a year (+/- 25%). We begin getting cases where the CC rolling strategy at some point fails and we get assigned early. Thus overall gain is less than buy and hold strategy in some cases. We begin seeing worsening performance of some of the more aggressive OTM strike prices. Notice that already 4% and less OTMs now are less profitable than 6% OTM.

View attachment 686900View attachment 686901

And 300%, now a lot of cases are "failing" vs buy and hold. Note though that these failures still should still allow you to gain 100% of your investment.

View attachment 686902View attachment 686903
Interestingly, the effect of price from strike for when to close a position and roll was not that important. You could do it 5% OTM or 2% ITM and it didn't seem to matter much in this test.

View attachment 686905

For the scaling value interestingly it found lower scaling was better. So instead of rolling "up and out", this strategy really want to mostly roll out, but barely up.

View attachment 686906


So when I looked at these, I was interesting in studying the performance of say consistently selling weeklies 8% OTM, and roll out when stock price hits strike price exactly. On average, even up to ~ 300% stock appreciation in a year, the strategy would be beneficial and add another 25% gain from premiums.

View attachment 686908

For that specific strategy, if the stock gains 100% or less in a year, the rolling strategy works with no failures (no assignment).

If the stock gains between 100% and 200%, the strategy works 99% of the time.

If the stock gains between 200% and 300%, the strategy works 88% of the time.

So for me, this is good but maybe too conservative. I don't need to it to work 99% of the time up to 200% gain, because would I even hold onto the stock if it 3x's from here in a year? But it's a good starting point. I will look at 6% OTM and see how that fairs.


Limitations: There are plenty of assumptions and limitations here, I'm too lazy to go over them but feel to bring them up! This is just a simulation, not reality. Real results will be the same.

But take home message of this study, no, you cannot roll out indefinitely if the stock price keeps going up, especially 3x or 4x more in a year. But you can probably find a strategy that will allow you too, but you may have to sacrifice some gains for it.


You can check out an example simulation script here:


I cleaned it up a bit but still messy to play with. This is an example where I look at cases where the stock price gains ~ 100% in 1 year (+/- 25% range).
AWESOME!

Was it you @bxr140 that did a backtest on covered call strategy for 2020, and found that even with such big run up in the year, you would still have benefitted as much as HODLing the shares?
 
This is super-interesting and high-quality, thank you!

Did you consider, rather than using random stock movements, using the historical pricing to model a range of what-if scenarios?

And I'm really interested to see how things would turn out if you wen aggressive and ATM on the strikes, rather the 8%, or whatever OTM?

Yes though I would need a decently sized set of historical pricing of stocks with similar levels of volatility. Just testing on say TSLA historical will yield way too overfit results. And the results presented will certainly depend on volatility levels (for instance, if this was done on QQQ, the OTM percentages would likely all decrease.

8% isn't even optimal in that simulation. Looks like "optimal" for the 200% gain case was around 4%. But I am cautious to double check first. Next time I will extend range and allow ATM

AWESOME!

Was it you @bxr140 that did a backtest on covered call strategy for 2020, and found that even with such big run up in the year, you would still have benefitted as much as HODLing the shares?

Not me. But my guess is while it was possible, I'm quite confident that many other paths to 1100% gain in one year could trigger early selling of shares. But I don't expect to see 1000% gain in a year anytime soon anyways.

I’m very curious now to see the portfolio differences if stock goes sideways or down 10%…

Would work just fine, as even in the 100% gain case you can roll to success (e.g. avoid shares getting called away and get a net positive premium).

Of course, the simulations would say to maximize profit, you'd probably want to sell with strike prices around ATM if you expect the stock to go sideways.


More to come whenever I have time...
 
  • Helpful
Reactions: dc_h