Friday, March 19th 2021
Answers To Common Questions: Backtesting
ORATS backtesting uses historical market data quotes and applies rules to make the backtest of options as realistic as possible.
ORATS backtesting uses actual bid-ask prices to simulate trading, not theoretical values. The backtester works by finding the options closest to the target days to expiration and target delta to trade. ORATS uses arithmetic returns to avoid path dependency and to avoid issues if more than 100% of a strategy returns are lost. The backtester has many pre-canned strategies that can be tested with various entry parameters, exit methods, flexible commission and slippage assumptions, and earnings entry and exit days. Backtests can be combined and reports with financial statistics like Sortino, win rates, and best month returns generated. Optimizations can be run with thousands of backtests automatically run, sorted, and a report generated.
Try the backtester today at wheel.orats.com
User feedback is critical to helping us ensure top-quality tools and data. Answers to common questions will be a series of blog posts with our answers.
"Is it true that no real option mid-price data is used in backtesting after the skews are fit (i.e., everything is off the theoretical values?"
No, we use options market bid-ask quotes to simulate trading in our backtester, not theoretical values.
Every trading day back to 2007, we take snapshots of market bid-ask quotes and stock mid-point prices at the same time each day, 14-minutes before the close. Backtesting on closing markets does not have representative quotes as market makers will often widen out as the close approaches.
We create greeks with our intensive smoothed market values process (SMV).
Our backtester works by finding the options closest to the target days to expiration and target delta to trade.
For example, for a SPY Long Call strategy with a specified target of 40 days to expiration and an acceptable range from 30 to 50 days, and a target of .65 delta --acceptable range .55 to .75, the backtest will pick the closest target value for the trade. It will choose the closest DTE of 40 days and .65 delta.
Once an option is found, we use actual bid-ask prices to simulate entry and exit prices and apply the slippage calculations below. To mark our options positions to compute daily returns, we use mid-point prices. The table below shows how we use bid-ask prices to simulate the backtest buys and sells at the mid-point plus or minus slippage at our one-leg default of 75%.
The slippage formula to buy is Bid + (Ask - Bid) * slippage%
The slippage formula to sell is Ask - (Ask - Bid) * slippage%
In the SPY Long Call example above, here are the first two trades starting in 2007.
The simulated first trade was buying the February 16th, 140 strike call with a market bid-ask of $3.60 x $3.80 making the simulated trade price $3.75. If the next day’s bid-ask were $3.90 x $4.00, then the profit would be $0.20, and the daily return calculation would divide that by the stock price at open of the trade, $141.37 or 0.1415%.
The formula for daily return = option profit / opening stock price.
If there are any stock components (Hedging, covered calls, married puts, etc.) we use the formula: (option profit + stock profit) / opening stock price.
Daily returns can be found in the downloads accessible from the backtest report. We use simple arithmetic interest and the daily returns will add up to the monthly returns found in the Backtest Report.
We calculate using geometric returns if you select compound returns in the backtester. We use average arithmetic returns as default, using a constant amount invested per day to calculate a balance. For example, the graph in the backtester uses a constant $100,000.
For example, the January 2007 daily returns add to 0.40% matching the backtest report.
We use arithmetic returns to avoid path dependency and to avoid issues if more than 100% of a strategy returns are lost.
Here are some other noteworthy characteristics of the ORATS Backtester:
- Many pre-canned strategies can be tested with various entry parameters like varying DTE, delta, or stock OTM% for strikes, different other parameters like setting the spread price percent of the strikes' width or setting the price of the option divided by the stock price.
- Exit methods are used like when a delta is reached, profit level hit, or a percent of the max spread profit attained, and the trade is closed.
- We have flexible commission and slippage assumptions that change for the number of legs. For example, a setting of 75% travel to trade the bid-ask spread for a one-leg option translates to 56% for a four-leg spread.
- Earnings entry days and exit days in relation to the announcement dates can be tested.
- Backtests can be combined and reports with financial statics like Sortino, win rates, best month returns generated.
- Optimizations can be run with thousands of backtests automatically run, sorted, and a report generated.
We think our backtester is the best out there. What do you think? Email us at contactus AT orats.com. You can see our features with other backtesters at https://quantpedia.com/links-tools/
Discover your favorite backtests by filtering on several popular performance metrics such as notional return, sharpe ratio, and percent of time in market.
Filter millions of backtests based on different parameters, technical indicators, and exit triggers for all types of options strategies.