Methodology
Contents
Applying Backtest Results
All published options backtests, unless otherwise noted, are performed using a single contract for each trade and target a max margin utilization of 100% (5x leverage @ 20% margin requirement; Reg-T Margining).
The minimum amount of money needed to execute a published strategy, based on the parameters above and without running out of capital or margin, is listed in the starting capital section of each backtest.
Consider a trader that wants to run a 10-delta 7 DTE SPX short put strat using the s1 signal at 2x leverage on a $1,000,000 portfolio. How should they size their positions?
- Step 1: Identify the starting capital.
- Navigate to the starting capital section of the study and review the starting capital table for the specific backtest: $217,400.
- Step 2: Adjust for desired leverage target.
- Navigate to the strategy details section of the study and review the max margin utilization target used: 100% | 5x leverage.
- Multiply the starting capital by ( max leverage target of study / desired max leverage target ): $217,400 * 5 / 2 = $543,500.
- Step 3: Adjust for your portfolio.
- Divide the starting portfolio value by the value in step two: $1,000,000 / $543,500 = 1.84 contracts per position.
In this example, the trader would size the trade at two contracts per position which is reasonably close to their goal of 2x max leverage.
What if the starting portfolio is $100,000?
The math says 0.184 contracts. This isn’t achievable in practice since a fraction of a contract can’t be traded and trading 1 contract would materially exceed the max leverage target of 2x.
If the trader is willing to accept the tradeoffs and nuances associated with switching from European index options to American ETF options, SPY options are 1/10th the size of SPX and require 1/10th the starting capital. The trader would size the trade at two SPY contracts per position to achieve their goal of 2x max leverage.
Public Backtests
Backtest Start Date
Studies seek to use the broadest set of data available at the time of publishing. Most options data and underlying at spintwig.com have historical data as far back as Jan 3 2007 or as early as available. Client studies may utilize different start dates per client request.
Option strategies that target seven or fewer days till expiration (DTE) options on major ETFs or indices may use earlier start dates due to product and data availability. Below are the release dates for common ETF and index expiration cycles.
ETFs: SPY, QQQ, IWM, DIA
On June 4 2010 CBOE released Friday-expiring weekly options.
On August 30 2016, CBOE released Wednesday-expiring weekly options (see SEC release 34-78686).
On February 16 2018, CBOE released Monday-expiring weekly options (see SEC release 34-82733).
On November 14 2022 and November 16 2022, CBOE released Tuesday-expiring and Thursday-expiring weekly options (SPY and QQQ only; IWM and DIA were not in scope).
Indices: SPX
On October 28 2005, CBOE released Friday-expiring weekly options on SPX.
On February 23 2016, CBOE released Wednesday-expiring weekly options on SPX (see CBOE Regulatory Circular RG16-024).
On August 15 2016, CBOE released Monday-expiring weekly options on SPX (see CBOE Regulatory Circular RG-16-119).
On September 19 2022 and September 28 2022, CBOE released Tuesday-expiring and Thursday-expiring weekly options on SPX, respectively (see CBOE reference C2022091501).
Backtest End Date
Studies have a defined end date, generally consistent with the end of the most recent calendar month at the time of publishing. Positions that have an exit date beyond the backtest end date are excluded. For example, a 30-DTE hold-till-expiration strat with a study end date of Jul 31 would exclude positions opened in July that have expiration dates beyond Jul 31. This ensures that position duration targets remain consistent with the published duration target and aren’t influenced by early management or timing [un]luck.
Days Till Expiration
Some studies explore ultra-short-duration option strategies, defined as strategies with sub-seven-DTE targets, while other studies explore longer-duration option strategies. 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 a 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 date between option contracts widens.
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, 50, and 90 delta. This corresponds with with common “breakpoints” on the normal-distribution probability curve and common measurement points.
For example, 30-delta is half a standard deviation, 16-delta is one standard deviation, 5-delta is two standard deviations, and 2.5-delta is three standard deviations.
Meanwhile, 90-delta is a proxy for a position in the underlying, 50-delta is “at the money” (ATM), and 10-delta is an arbitrary “midpoint” between one and two standard deviations.
Calculating Returns
Returns are calculated by recording the profit or loss as positions are closed, if any, each day.
PnL of open positions is not captured.
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 / benchmark 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 by summing the respective daily returns. Portfolio returns are calculated in a compound fashion using the monthly values.
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 PnL 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 $1000 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 $1000 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.
Margin
Margin requirements and margin calls are assumed to always be satisfied and never occur, respectively.
In practice, brokers and/or clearing entities may impose changes to margin requirements, particularly during high-volatility periods, that may cause a strategy to experience materially different performance relative to what is published.
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 in all backtests:
Options on Equities
- 1 USD, all in, per contract:
- to open
- to close early
- expired ITM
- 0 USD, all in, per contract expired OTM / worthless
Options on Indices
- 1.32 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.
Nature of Data
All data is empirical (real, actual data from historical events). There is no use of calculated, theoretical or otherwise-modeled pricing.
Timing Luck
Consider three options traders: – trader A, trader B and trader C. They each run an identical option strategy that opens a single 45-DTE position, holds the position till expiration, then opens another 45-DTE position after the current position expires.
Trader A starts on the first of the month and is represented by the red line. Trader B starts a week later on the 8th of the month and is represented by the yellow line. Trader C starts a weeks after trader B on the 15th of the month and is represented by the green line.

Trader A and B will experience losses on their trade at expiration while trader C will experience gains. These nuances, summed over the span of a multi-year backtest, can yield different strategy results despite the strategy being mechanically identical for all three traders.
In order to account for the luckiest, unluckiest, and all the [un]luck in between, all backtests (unless otherwise noted) seek to open a position every trading day. This has the net effect of averaging trader A, B, and C’s results (as well as all the other traders starting on different days) into a single set of performance metrics that accounts for essentially all the timing [un]luck.
By averaging all the timing [un]luck in a strategy, we avoid presenting improbably lucky or unlucky outcomes.
For the academics, a concept called “portfolio tranching” can be used to quantify performance variance attributable to [un]luck. More at the corresponding SSRN paper (full article from 2015 version here).
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)
Backtests with a publication date in 2023 and beyond:
- All strategies are calculated with returns compounded daily.
Backtests with a publication date prior to 2023:
- The “All” strategies are calculated with returns compounded daily.
- The “daily” strategies such as “Monday” or “Thursday” are calculated with returns compounded monthly.
Calculating Strategy Statistics
All strategy performance statistics are derived directly from the trade logs. Below is a breakdown on how each stat is calculated and the associated formula behind the calculation, where applicable.
Starting Capital
This specifies the minimum starting portfolio size needed to successfully execute the trading strategy while remaining compliant with max margin utilization and max drawdown requirements at all times.
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.
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 vs total premium received and is only applicable to short-premium option strategies.
( SUM( premium received ) - SUM( premium paid ) ) / SUM( premium received )
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 PnL 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 PnL Percent
Identify the largest value among the monthly percentage return values.
MAX( monthly PnL values )
Worst Monthly PnL Percent
Identify the smallest value among the monthly percentage return values.
MIN( monthly PnL values )
Best Trade PnL Percent
Identify the PnL percentage associated with the greatest trade win.
MAX( notional win values ) / realized NLV on date position was opened
Worst Trade PnL Percent
Identify the PnL percentage associated with the greatest trade loss.
MIN( notional loss values ) / realized NLV on date position was opened
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 PnL is not factored into end-of-day PnL value).
MIN( daily drawdown values )
Max Drawdown Duration
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 )
Average Trade Delta
This measures the average delta at order entry of all positions opened, rounded to the nearest delta.
ROUND ( AVERAGE( trade delta 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
This measures the risk-adjusted return. Since margin collateral is held in 3-month US treasury bills – the generally accepted definition of the risk-free rate – the following simplified formula is used:
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.
Capital Efficiency
This measures the relative performance of a reference strategy vs the performance of a benchmark strategy.
Performance refers to the PnL of the option positions only. Portfolio effects of interest earned on margin collateral and commissions charged by the broker are excluded.
Unless otherwise stated, the benchmark is a market-agnostic daily-entry strategy.
( ( strat return / benchmark return ) / ( strat occurrences / benchmark occurrences ) -1 ) * 100
- strat return = strat income / strat starting capital
- benchmark return = benchmark income / benchmark starting capital
Total PnL
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
Private Custom Backtests
This section lists the default configurations for private custom backtests. The following overrides can be requested:
- margin requirements for short option positions
- margin collateral yield
- option commission to open, close or expire ITM (global setting; each event type is not individually configurable)
NOTE: changing margin collateral yield to a value other than the risk-fee rate, defined as 3mo US treasuries, may result in Sharpe ratio values that are not accurate
Assumptions
- Margin requirements are always satisfied
- Margin calls never occur
- Margin requirement for short CALL and PUT positions is 20% of notional
- Margin requirement for short STRADDLE and STRANGLE positions is 20% of the larger strike
- Margin requirement for short VERTICAL SPREAD positions is the difference between the strikes
- Margin requirement for short CALENDAR SPREAD positions is 20% of the short option (short option expires after the long option)
- Margin requirement for long CALENDAR SPREAD positions is the net cost of the spread (short option expires before the long option)
- Early assignment never occurs
- There is ample liquidity at all times
Methodology
- Prices are in USD
- Prices are nominal (not adjusted for inflation)
- Margin collateral is invested in 3mo US treasuries and earns interest daily
- Assignment PnL is calculated by closing the ITM position at 3:46pm ET the day of expiration / exit signal triggers
- Commission to open, close early, or expire ITM is 1.32 USD, all in, per contract for options on indices
- Commission to open, close early, or expire ITM is 1.00 USD, all in, per contract for options on equities
- Commission to expire worthless is 0.00 USD, all in, per contract for all option underlying types
- Commission to open or close equity positions is 0.00 USD
- Slippage is calculated according to the slippage table
- Starting capital for short option backtests is adjusted in $1000 increments such that max margin utilization is between 80-100%, closest to 100%, of max margin utilization target defined in the “Strategy Details” section of the scope-of-work document.
- Starting capital for long option backtests is adjusted in $1000 increments such that max drawdown is between 80-100%, closest to 100%, of max drawdown target defined in the “Strategy Details” section of the scope-of-work document.
- Positions that have an expiration date beyond the backtest end date are excluded
Key Performance Indicators (KPIs) Measured
Short Option Strategies
Portfolio Stats
Max Concurrent Positions/Lots
Max Concurrent Positions/Lots Date
Average Concurrent Positions/Lots
Max Notional Exposure
Max Notional Exposure Date
Max Margin Use/Leverage Factor
Max Margin/Leverage Date
Average Daily Margin/Leverage
Reg-T Min Starting $
Win Rate Stats
Number of Legs
Number of Trades
Win Rate
Average Win
Average Loss
Trades Held Till Exp
% held till exp
% managed
Exp & Win
PnL Stats
Strategy Income/(Expense)
Interest Income/(Expense)
Commissions
Total PnL
Profit Spent on Commission
Total PnL %
Premium Capture (only on single-leg strats)
Performance Stats
CAGR (Geometric Return)
Annual Volatility
Sharpe Ratio
Average Monthly PnL
Average Monthly PnL %
Average PnL Per Trade
Average PnL Per Day
Average PnL Per Trade %
Average PnL Per Day %
Average PnL Per Day Per Position
Average Trade Duration
Risk Management
Max Drawdown %
Max Drawdown Date
Best Monthly Return
Worst Monthly Return
Best Trade PnL
Worst Trade PnL
Best Trade PnL $
Worst Trade PnL $
Long Option Strategies
Portfolio Stats
Max Concurrent Positions/Lots
Max Concurrent Positions/Lots Date
Average Concurrent Positions/Lots
Win Rate Stats
Number of Legs
Number of Trades
Win Rate
Average Win
Average Loss
Trades Held Till Exp
% held till exp
% managed
Exp & Win
PnL Stats
Strategy Income/(Expense)
Interest Income/(Expense)
Less Commissions
Total PnL
Profit Spent on Commission
Total PnL %
Performance Stats
CAGR (Geometric Return)
Annual Volatility
Sharpe Ratio
Average Monthly PnL
Average Monthly PnL %
Average PnL Per Trade
Average PnL Per Day
Average PnL Per Trade %
Average PnL Per Day %
Average PnL Per Day Per Position
Average Trade Duration
Risk Management
Max Drawdown %
Max Drawdown Date
Best Monthly Return
Worst Monthly Return
Best Trade PnL
Worst Trade PnL
Best Trade PnL $
Worst Trade PnL $
Long Equity Strategies
Win Rate Stats
Number of Trades
Win Rate
PnL Stats
Strategy Income/(Expense)
Interest Income/(Expense)
Less Commissions
Total PnL
Profit Spent on Commission
Total PnL %
Performance Stats
CAGR (Geometric Return)
Annual Volatility
Sharpe Ratio
Average Monthly PnL
Average Monthly PnL %
Average PnL Per Trade
Average PnL Per Day
Average PnL Per Trade %
Average PnL Per Day %
Average Trade Duration
Risk Management
Max Drawdown %
Max Drawdown Date
Best Monthly Return
Worst Monthly Return
Best Trade PnL
Worst Trade PnL
Best Trade PnL $
Worst Trade PnL $
Trade Logs
Each trade log is comprised of a single CSV file that contains the following attributes and definitions:
Date: date position opened
Ticker: underlying
Leg: leg number
Ratio: long is “1” and short is “-1”
Weight: <not implemented>
OptionType: call or put
Year: expiration date year
Month: expiration date month
Strike: option strike
DTE: days till expiration
TradeOptPx: option position entry price
Delta: option delta
EntryStockPx: underlying price at the time of option position entry
IVR: implied volatility rank at the time of option position entry
ExitDate: date the option position was exited
ExitStockPx: underlying price at the time of option position exit
ExitOptionPx: option position exit price
ExpirDate: expiration date of option position
ExpirPx: underlying price at the time of option position expiration
Profit: PnL of option position minus 2 USD for fees (1 USD to open and 1 USD to close)
TradeType: opening or adjustment