Automated Backtester Research Plan (Part 2)
Posted by Mark on November 22, 2018 at 07:22 | Last modified: November 9, 2018 13:32Last time I discussed backtesting naked puts by opening one trade every day.
A final piece to managing winners is total number of trades. In a serial scenario, total trades would be greater for managing winners than holding to expiration whereas in a daily/overlapping trade scenario, total trades would be equal despite average daily notional risk being less for managing winners. It might make sense to track daily notional risk as a proxy for actual buying power reduction, which would be significantly less in a [portfolio] margin account and perhaps too complex (or not worth the effort) to build into the automated backtester.
The research plan continues with backtesting naked puts in a serial manner by having only one trade open at a time.
For the serial approach, I would like to tabulate several different statistics. These include total number of trades, winning percentage, compound annualized growth rate (CAGR), maximum drawdown, risk-adjusted return (RAR), and profit factor (PF). Equity curves will represent just one potential sequence of trades and some consideration could be given to Monte Carlo simulation. We can plot equity curves for different account allocations such as 10% to 70% of initial account value by increments of 5% or 10% for a $50M account. A 30% allocation (for example) would then be $15M per trade. Trade size should be held constant throughout in order to maintain apples-to-apples comparison of drawdowns throughout the backtesting interval.
The general principle behind filters is to achieve more profit (PnL per trade—sometimes as a result of decreasing drawdown or, in this case, a higher winning percentage) despite fewer trades. My preference is not to see a lumpy equity curve where a vast majority of trades occur on a small percentage of days. This gets away from trading as a business to pay the monthly living expenses. When studying filters, it will therefore be important to look at number of trades and the slope of the equity curves under different filters to determine consistency of profit. RAR and PF will also be useful.
Examples of filters to be tested are numerous. We can look at trades taken at 5-20-day highs (lows) by increments of five. Trades can be taken only when a short-term MA is above (below) a longer-term MA.* Trades can be avoided when the underlying is under the 20-, 50-, or 200-day MA. IV at an X-day high may be a useful inclusion or exclusion filter (always minding sufficient sample size at extreme parameter values). Trade entry can be filtered by IV rank (perhaps 25% or 50% with a period of 30, 180, or 365 days). A volatility stop could be implemented to exit losing trades if IV increases by 30-100% using increments of 10%.
I will continue next time.
>
* Some thought would have to be given to period determination. I do not want to get into an extensive optimization game>
since I’m more a believer in Occam’s Razor (i.e. K.I.S.S.).