# Methodology

Contents

### Days Till Expiration

Some studies look at ultra-short-duration option strategies while others explore longer durations. The nuances and range for each approach are summarized below.

#### 0 DTE Strategies

Between 0 and 3, closest to 0.

The range is up to 3 days from expiration for two reasons: to allow opening positions on Friday that have a Monday expiration and to allow more opportunities for occurrences of strategies focused in the 10-40 delta range. As expiration nears, it becomes increasingly difficult to open positions in this range.

This visual from Options Playbook does a great job illustrating the concept. Notice how at 1 DTE delta jumps from .50 to .10 with a single dollar change in the underlying. Compare this to the 60 DTE scenario where the change in delta for a $1 change in underlying is much smaller. By allowing positions to be opened as far out as 3 DTE, delta sensitivity to $1 differences in strikes becomes muted.

#### 7 DTE Strategies

Between 3 and 11, closest to 7.

The range is 4 days either side of 7 to ensure a position can be opened each trading day while remaining true to the duration target. For example, opening a position Wednesday will have either a 2 DTE horizon (next Friday) or a 9-DTE horizon (the Friday after next). In this scenario the 9-DTE position would be selected.

#### 45 DTE Strategies

Between 28 and 62, closest to 45.

The range is 17 days either side of 45 to account for quadruple witching. As the end of each calendar quarter approaches, namely during the last 7-10 days of Mar, Jun, Sep and Dec, the expiration dates of option contracts widen significantly.

#### 730 DTE Strategies (LEAPS)

Between 550 and 910, closest to 730.

The range is 180 days either side of 730 to account for underlying that have LEAPS expirations in 6-month increments.

### Delta Selection

Strike targets are selected at 2.5, 5, 10, 16, 30 and 50 delta. This corresponds with with common “breakpoints” on the probability. For example, 30D is half a standard deviation, 16D is one standard deviation, etc.

### Calculating Returns

Returns are calculated by recording the profit or loss as positions are closed, if any, each day.

### Margin Collateral

Portfolio capital is held in cash and earns daily interest at the prevailing **3-month treasury bill **rate each day throughout the backtest. The Daily Treasury Yield Curve Rates at the US Department of The Treasury website lists the daily interest rates used in the backtest.

Days for which there are no interest rates available, such as weekends and bank holidays, utilize the last published interest rate. For example, Saturday January 6 2007 and Sunday January 7 2007 do not have interest rates published. The backtest utilizes the rates published on Friday January 5 2007 for both these days.

### Calculating Margin Utilization

A running total of the P/L is measured each day and tracks the portfolio performance. Meanwhile, a running total of the notional exposure is measured each trading day and tracks the daily margin utilization.

Margin utilization is estimated as 20% of notional. For example, if there is $100,000 of notional exposure the margin requirement would be $20,000.

### Determining Starting Capital

#### Short Option Strategies

Backtests are run using an arbitrary amount of starting capital to generate a *max margin utilization* value. Starting capital is then adjusted in $100 increments such that max margin utilization is between 80% and 100%, closest to 100%, of the *max margin utilization* target. Unless otherwise specified, the max margin utilization target for all short-option backtests is 100%.

To compare the option strategy against the benchmark, an equal starting capital is allocated to a hypothetical buy-and-hold total-return portfolio.

#### Long Option Strategies

Backtests are run using an arbitrary amount of starting capital to generate a *max drawdown* value. Starting capital is then adjusted in $100 increments such that max drawdown is between 80% and 100%, closest to 100%, of the *max drawdown* target. Unless otherwise specified, the max drawdown target for all long-option backtests is -100%.

To compare the option strategy against the benchmark, an equal starting capital is allocated to a hypothetical buy-and-hold total-return portfolio.

### Monthly and Annual Returns

To identify the monthly and/or annual returns for an option strategy, the respective daily returns are summed.

### Graphing Underlying and Option Curves

The underlying position derives its monthly performance values from Portfolio Visualizer. Portfolio returns are calculated in a compound fashion using this monthly data.

Option strategies derive monthly performance values from the backtesting tool by summing the respective daily returns. Portfolio returns are calculated in a compound fashion using the monthly values.

### Margin

Margin requirements and margin calls are assumed to always be satisfied and never occur, respectively.

In practice the option strategy may experience varied performance, particularly during high-volatility periods, than what’s depicted. Margin requirements may prevent the portfolio from sustaining the number of concurrent open positions the strategy demands.

### Moneyness

Positions that become ITM during the life of the trade are assumed to never experience early assignment.

In practice early assignment may impact performance positively (assigned then position experiences greater losses) or negatively (assigned then position recovers).

### Commission

The following commission structure is used throughout the backtest:

#### Options

- 1 USD, all in, per contract:
- to open
- to close early
- expired ITM

- 0 USD, all in, per contract expired OTM / worthless

#### Equities

- 0 USD, all in, per trade:
- to open
- to close

While these costs are competitive at the time of writing, most trade commissions ranged between 4.95 USD to 19.99 USD in the late 1990s through early 2010s.

In practice strategy performance may be lower than what’s depicted due to elevated trading fees in the earlier years of the backtest.

### Slippage

#### Options

Slippage is factored into all trade execution prices accordingly:

- Buy: Bid + (Ask – Bid) * slippage%
- Sell: Ask – (Ask – Bid) * slippage%

The following table outlines the slippage values used and example calculations:

- A slippage % of .50 = midpoint
- A slippage % of 1.00 = market maker’s price

#### Equities

In datasets where bid / ask values are present, midpoint price is selected and may result in fractions of a cent in certain calculations.

In datasets where bid / ask values are NOT present, the depicted price is selected.

### Inflation

All values depicted are in nominal dollars. In other words, values shown are not adjusted for inflation.

In practice this may influence calculations that are anchored to a particular value in time such as the last “peak” when calculating drawdown days.

### Binning of Overnight Positions (Equity Backtests)

For positions that are held overnight, performance is associated with the day in which the position is *closed*.

A position binned as “Monday overnight” is one that was opened at Friday’s closing bell and closed at Monday’s opening bell.

A position binned as “Monday price return” is one that was opened at Friday’s closing bell and closed at Monday’s closing bell.

A position binned as “Monday intraday” is one that was opened at Monday’s opening bell and closed at Monday’s closing bell.

The same mechanics hold true for positions opened mid week. For example, a position binned as “Wednesday price return” is one that was opened at Tuesday’s closing bell and closed at Wednesday’s closing bell.

### Fractional Shares (Equity Backtests)

Capital is 100% allocated at all times. In scenarios where a full share is not able to be purchased, a fractional share is purchased.

### Reinvesting Profits (Equity Backtests)

The “All” strategies are calculated with returns compounded *daily*. That is, any profits are reinvested in the strategy the next trading day.

The “daily” strategies such as “Monday” or “Thursday” are calculated with returns compounded *monthly*. That is, any profits are reinvested in the strategy starting the first trading day of the next month.

### Calculating Strategy Statistics

Automated backtesters are generally great tools for generating trade logs but dismal tools to generate statistics. Therefore, I build all strategy performance statistics directly from the trade logs. Below is a breakdown on how I calculate each stat and the associated formula behind the calculation.

#### Starting Capital

This specifies the minimum portfolio size necessary to successfully execute the trading strategy from the beginning of the backtest.

#### Average Margin Utilization

Margin utilization ebbs and flows throughout the backtest. This averages the daily margin utilization values.

`AVERAGE(daily margin utilization)`

#### Max Margin Utilization

This is the highest recorded daily margin utilization value throughout the backtest. Starting capital is specified to ensure this value resides between 99-100%.

`MAX( daily margin utilization )`

#### Max Margin Utilization Date

This is the date in which the highest margin utilization occurs. The formula is an index-match statement to lookup and return the date value associated with the max margin utilization value.

`INDEX( all trade dates, MATCH( max daily margin utilization ) )`

#### Premium Capture

This is the percent of premium captured throughout the strategy.

`SUM( premium received ) - SUM( options bought back ) - SUM ( losses from immediately selling assigned shares )`

#### Win Rate

Trades that were closed at management targets (profit, DTE) as winners but became unprofitable due to commissions are still considered winning trades. This phenomenon is typically observed when managing 2.5D and 5D trades early.

`( count of trades with positive P/L before commissions > 0 ) / count of all trades`

#### Annual Volatility

The standard deviation of all the *monthly* returns are calculated then multiplied the by the square root of 12.

`STDEV.S( monthly return values ) * SQRT( 12 )`

#### Average Monthly Return

Identify the average monthly returns.

`AVERAGE( monthly return values )`

#### Best Monthly Return

Identify the largest value among the monthly returns.

`MAX( monthly return values )`

#### Worst Monthly Return

Identify the smallest value among the monthly returns.

`MIN( monthly return values )`

#### Max Drawdown

This measures the greatest peak-to-trough decline, described as a percentage of the portfolio’s end-of-day value (open positions / unrealized P/L is not factored into end-of-day P/L value).

`MIN( daily drawdown values )`

#### Drawdown Days

This measures, using nominal (non-inflation adjusted) dollars, the duration in days from the max drawdown trough to previous high.

If portfolio never returns to the high before the max drawdown, “No Recover” is displayed.

`ABS( Date of Max Drawdown - Date of Recovery ) `

#### Average Trade Duration

This measures the average number of days each position remains open, rounded to the nearest whole day.

`ROUND ( AVERAGE ( trade duration values ) , 0 )`

#### Compound Annual Growth Rate

This measures the compounded annual rate of return, sometimes referred to as the geometric return. The following formula is used:

#### Sharpe Ratio

Total P/L alone is not enough to determine whether a strategy outperforms. To get the complete picture, volatility must be taken into account. By dividing the compound annual growth rate by the volatility we identify the risk-adjusted return, known as the Sharpe ratio.

`strategy CAGR / strategy volatility`

#### Profit Spent on Commission

The following formula is used to calculate the percent of profits spent on commissions:

If a strategy is depicted as having percent greater than 100, this means the strategy is unprofitable due to commissions but would have been profitable if trades were commission free throughout the duration of the backtest.

If a strategy is depicted as “unprofitable” this means the strategy lost money even if trades were commission free throughout the duration of the backtest.

#### Total P/L

How much money is in the portfolio after the study? This stat answers that question and depicts it as a %

`( portfolio end value / portfolio start value ) - 1`