How we calculate · MetricAlgo Options

How a system is built, and what the numbers really say.

This page explains how the platform calculates the backtests of options systems: which data it starts from, how it chooses strike and entry, how it closes trades, how much it charges in commissions and how it measures the results. It also says what the model does not do. It was written by reading the code that produces the numbers, not the marketing material.

In short

  • End-of-day data: the price of the underlying and the options chain for every trading day, since 2010.
  • The choice of strike starts from the percentile limits: how far, in the past, the price has moved away from the open of the month or the week.
  • 13,102 systems published, chosen from about 339,000 backtests calculated over the same years.
  • Execution at the price of the last trade of the day, with no slippage, and a $1.00 commission per contract.
  • These are simulations of the past: they show how a rule has behaved, not how it will behave.

01

The data

Every backtest uses two series of end-of-day data. The first is the underlying: open, high, low and close for every day. The second is the options chain: for every day and every contract, last traded price, bid, ask, implied volatility, Greeks, volume and open interest.

There is no intraday data in the backtest: all decisions are taken once a day, with that day’s prices.

  • Prices are not adjusted for dividends.
  • Splits are handled by cutting the options history: only the dates after the last split are kept.
  • The universe is the markets with options data available today: it does not include stocks delisted over the years.

02

The percentile limits

This is the heart of the method. For every market we take the monthly, or weekly, candles of roughly the last 20 years and, for each one, measure how far the low fell below the open of the period, and how far the high rose above it. Sorting these values gives one hundred thresholds, from percentile 1 to 100.

A real example. For SPY, on a monthly basis, the 90th percentile of the low is −8.32%: in nine months out of ten the low of the month did not fall more than 8.32% below the opening price of the month. A system that sells a put at P90 places the strike about 8.3% below the open of the month.

For every market and duration there is a single table of limits, calculated over a window of about 20 years (for monthly SPY: from January 2004 to May 2024) and used for the whole backtest period. Trades in the early years therefore use limits that were also calculated on later years.

We measured the effect. We recalculated the limits period by period using only the previous 20 years, as someone trading in those years would have seen them, and counted how many times the price went past the level. The recalculation reproduces the tables in use exactly, so the comparison is direct.

Periods since 2010 in which the low went past the level: 20 markets in the library
Table in useLimits calculated on the past only
Monthly, P909.2%8.5%
Monthly, P8018.9%17.2%
Weekly, P908.3%6.4%
Weekly, P8018.4%14.5%

What it means

On average the table in use makes the backtest more cautious, not more optimistic: in past years the limits, calculated at the time, would have been wider. The exceptions are a few markets that after 2010 moved more than in their past, such as Carnival (CCL), Exxon (XOM) and the VIX: there the table in use is a little more optimistic. The measure counts breaches of the level, not the full result of each trade.

03

How a trade begins

A system is a fixed rule: a combination of options (for example Sell Put or Iron Condor), a duration (weekly or monthly) and a few parameters. The platform applies it to every period of the available history.

  • Expiry: the last expiry available in the week or month of entry.
  • Strike: the level of the chosen percentile, calculated from the open of the period. For a put the first strike below that level is taken, for a call the first one above.
  • Static entry: the system tries to enter from the first day of the period.
  • Dynamic entry: the system waits for the price, during the day, to touch a second percentile, and then enters. This is the case for 11,176 of the 13,102 published systems.
  • Minimum premium: if the trade collects less than a percentage of the price of the underlying, it is not made. Every option sold must be worth at least $0.05.
  • Spread: the protection leg is the first strike at the required distance. If that strike does not exist in the data, the leg is treated as priced at zero.
  • As a rule, one trade per period. Some systems can re-enter in the same period, but only after a close at take profit.

04

How it closes

Every day, with end-of-day prices, the system checks whether the trade should be closed:

  • Take profit: when the gain on the position reaches the set percentage of the premium.
  • Stop loss: on the move of the underlying from the entry price, or on the loss of the position, depending on the system.
  • Expiry: the option is closed at its intrinsic value calculated on the close of the day; out of the money it is worth zero.
  • Early assignment is not simulated: the position always reaches expiry or a planned exit.

05

Prices and costs

Entry happens at the price of the last trade of the day, with no slippage. Exits and daily valuations also use the last price; when it is not plausible, the midpoint between bid and ask is used and, failing that, the intrinsic value.

  • Commission: $1.00 per contract, on every leg, at opening.
  • On exit, commission is charged again only if the trade is closed before expiry.
  • At expiry, out of the money, nothing is charged on exit; in the money, a single assignment commission is charged.
  • Exchange fees are not included.

06

The metrics

The metrics on each card read as follows:

  • Winning trades: the share of trades closed in profit, regardless of by how much.
  • Maximum loss: measured on the results of closed trades, starting from a reference capital of $10,000. The worst moment of individual trades still open is reported separately.
  • Normalised metrics (normalised annual return, maximum loss and Calmar): each trade is related to a capital equal to 100 times the price of the underlying for systems that sell options, 20 times for those that buy them. They are used to compare markets with very different prices.
  • Profit factor: total gains divided by total losses. If there are no losses it cannot be calculated.
  • Sharpe: on the card it is the ratio between the average and the variability of the result per trade, not the annualised Sharpe used for funds.
  • Scores: the System Score and the Quality Score combine these measures with fixed weights; the Quality Score is zero if the system lost money and is not calculated below 10 trades.

07

Size: the backtest on your capital

When you size a system, the platform does not recalculate the market: it replays the trades of the backtest one by one with your capital, the number of contracts, the leverage, your broker’s commission and the share of margin you want to use.

  • The margin is cautious: a naked put ties up the full value of the strike, a spread its width. It is not your broker’s calculation, which usually asks for less.
  • If the margin is not enough, the trade is skipped and you see it in the result.
  • If the capital drops to zero, the simulation stops.
  • Trades are considered one at a time: the overlap in time of several open positions is not modelled.

08

From backtest to live

When you activate a system, the platform checks its entry conditions during the session, with options data delayed by 15 minutes, and alerts you when they occur. The notification is not an order: you place the trade yourself, with your broker.

The live rules follow those of the backtest, with some differences due to working during the day: the entry check uses the current price instead of the low or high of the day, and the premium is valued at the bid for options sold and at the ask for options bought. For this reason a notification does not always match what the backtest would have done that day.

The “Real P&L” in your systems is the sum of the results of the notifications closed after activation, multiplied by the contracts chosen. It is not the result of your account: it does not know the price at which you actually executed and does not subtract commissions.

09

How we choose what to publish

The platform has calculated about 339,000 backtests; it publishes 13,102 of them, that is about 3.9%. The choice is made by looking at the results of the same years on which they were calculated: there is no period held back to verify them.

The more rules are tested on the same past, the easier it is for some of them to look good by chance. That is why on every card you always find the number of trades, the maximum loss and the full calendar: these are the numbers that help tell a solid rule from a lucky one. Systems with few trades should be read with more caution.

Verified against the code and the production data on 12 October 2026.

The results shown are simulations on historical data and are not indicative of future results. Options trading involves a high risk of loss.

See the numbers for yourself.

Every system has its own card, with all the trades, the maximum loss and its methodology. The free plan opens the whole library.

Start free