Backtest Performance Report

MODEL VERSION 1 WITHOUT TRANSACTION COSTS


  • Past performance is for illustration only and does not predict future results.
  • Although extensive efforts have been made to faithfully simulate real-world trading conditions and ensuring all stages of this system only use "point in time" available historical data, it's important to recognize that a backtest primarily offers a retrospective and approximate perspective of actual trading results.
  • The backtest doesn't factor in transaction costs or the market impact of orders (slippage).
    • The average and median trade returns exceed 0.5% across model versions, making the 0.03% transaction costs per order immaterial to system performance.
    • The system trades highly liquid equities listed on the ASX stock exchange during the market closing auction to minimize market impact at typical order sizes.
    • Starting from model version 4, optimization aims to minimize market impact and reduce the likelihood of orders affecting the closing auction.
  • The model uses market prices as of 4pm to guide trading decisions for the final closing auction price at 4:10pm.
    • The backtests utilize official closing prices available at 4:10pm, which is unrealistic and likely the main contributor to the performance gap observed between the backtests and actual trading outcomes so far.
    • Model version 4 introduced a simple real-time execution engine during the closing auction to narrow this disparity.
    • Model version 5 implemented a faster and more advanced execution engine that mitigates the performance gap by up to 90% during the closing auction in simulations.
  • Model versions 1 to 3 traded 10 equally-weighted positions, whereas versions 4 onwards manage 20 to 60 positions with stricter allocation limits. Individual limits are also dynamically adjusted based on volatility and turnover.
  • These results are not compounded, which enhances comparability but also underestimates drawdowns.
  • The available capacity to operate this system is constrained by the point at which trading's market impact surpasses anticipated profits. While there is sufficient capacity for a small private fund trading on the ASX, scaling beyond this point will require system adaptation to additional markets.

Version 1
Utilized a hybrid multi-factor model along with a basic ML-based predictive model and ML-based portfolio selection. Launched on 26/5/2021.
Version 2

Focused on streamlining data processes, enhancing system reliability, and improving transparency. Launched on 10/2/2022.

Note: Version 1 & 2 experienced significant losses in unfavorable market conditions prior to the improved modeling and risk management implemented in version 3 onwards. While not representative of the running system's performance, they are included for transparency.

Version 3
Introduced a highly optimized predictive ML-based model. Launched on 22/06/2022.
Version 4
All positions and position sizing now handled by a portfolio optimiser along with numerous risk management and optimization features. Launched on 8/12/2022.
Version 5
Integrated lessons learned from live operations, enhancing robustness, order execution, and incorporating numerous minor optimizations. Launched on 17/7/2023.
Version 5.1
Order execution enhancements at market closing auction and optimised intraday exit conditions to better match deployed capital. Launched on 18/9/2023.
2023-08-20T19:06:15.194622 image/svg+xml Matplotlib v3.7.1, https://matplotlib.org/

2023-08-20T19:06:15.545489 image/svg+xml Matplotlib v3.7.1, https://matplotlib.org/

2023-08-20T19:06:15.928931 image/svg+xml Matplotlib v3.7.1, https://matplotlib.org/

2023-08-20T19:06:16.381248 image/svg+xml Matplotlib v3.7.1, https://matplotlib.org/

2023-08-20T19:06:17.122025 image/svg+xml Matplotlib v3.7.1, https://matplotlib.org/

2023-08-20T19:06:17.382033 image/svg+xml Matplotlib v3.7.1, https://matplotlib.org/

2023-08-20T19:06:18.010874 image/svg+xml Matplotlib v3.7.1, https://matplotlib.org/

2023-08-20T19:06:18.435641 image/svg+xml Matplotlib v3.7.1, https://matplotlib.org/

2023-08-20T19:06:18.829256 image/svg+xml Matplotlib v3.7.1, https://matplotlib.org/

2023-08-20T19:06:32.069616 image/svg+xml Matplotlib v3.7.1, https://matplotlib.org/

2023-08-20T19:06:32.785510 image/svg+xml Matplotlib v3.7.1, https://matplotlib.org/

2023-08-20T19:06:33.037839 image/svg+xml Matplotlib v3.7.1, https://matplotlib.org/

2023-08-20T19:06:33.628883 image/svg+xml Matplotlib v3.7.1, https://matplotlib.org/

2023-08-20T19:06:34.062242 image/svg+xml Matplotlib v3.7.1, https://matplotlib.org/
Key Performance Metrics
Metric Benchmark Strategy
Risk-Free Rate 0.0% 0.0%
Time in Market 97.0% 88.0%

Total Return 61.9% 722.43%
CAGR﹪ 2.09% 9.48%

Sharpe 0.21 2.34
Prob. Sharpe Ratio 80.82% 100.0%
Smart Sharpe 0.19 2.05
Sortino 0.29 3.73
Smart Sortino 0.26 3.27
Sortino/√2 0.21 2.64
Smart Sortino/√2 0.18 2.31
Omega 1.7 1.7

Max Drawdown -53.94% -39.27%
Longest DD Days 4288 455
Volatility (ann.) 17.35% 18.6%
R^2 0.05 0.05
Information Ratio 0.11 0.11
Calmar 0.03 0.88
Skew -0.54 2.83
Kurtosis 7.24 88.29

Expected Daily 0.01% 0.17%
Expected Monthly 0.24% 3.55%
Expected Yearly 1.98% 39.14%
Kelly Criterion -6.8% 27.13%
Risk of Ruin 0.0% 0.0%
Daily Value-at-Risk -1.78% -1.75%
Expected Shortfall (cVaR) -1.78% -1.75%

Max Consecutive Wins 10 11
Max Consecutive Losses 12 11
Gain/Pain Ratio 0.04 0.7
Gain/Pain (1M) 0.23 3.9

Payoff Ratio 0.79 1.0
Profit Factor 1.04 1.7
Common Sense Ratio 0.97 2.15
CPC Index 0.43 1.08
Tail Ratio 0.93 1.26
Outlier Win Ratio 4.25 4.85
Outlier Loss Ratio 3.95 4.1

MTD -6.56% -9.87%
3M -6.08% -11.79%
6M -5.63% -10.09%
YTD -6.56% -9.87%
1Y 3.09% 15.15%
3Y (ann.) 3.97% 17.97%
5Y (ann.) 3.32% 12.05%
10Y (ann.) 3.36% 11.04%
All-time (ann.) 2.09% 9.48%

Best Day 7.0% 28.04%
Worst Day -9.7% -9.28%
Best Month 9.59% 26.72%
Worst Month -21.18% -27.67%
Best Year 29.13% 105.91%
Worst Year -47.37% -9.87%

Avg. Drawdown -3.0% -1.92%
Avg. Drawdown Days 90 12
Recovery Factor 1.15 18.39
Ulcer Index 0.24 0.07
Serenity Index 0.07 8.71

Avg. Up Month 2.88% 6.56%
Avg. Down Month -5.17% -5.73%
Win Days 52.93% 63.62%
Win Month 59.59% 79.27%
Win Quarter 64.62% 84.62%
Win Year 64.71% 94.12%

Beta - 0.23
Alpha - 0.43
Correlation - 21.76%
Treynor Ratio - 440719.01%

EOY Returns vs Benchmark
Year Benchmark Strategy Multiplier Won
2006 17.12 87.31 5.10 +
2007 12.63 60.88 4.82 +
2008 -47.37 11.92 -0.25 +
2009 29.13 105.91 3.64 +
2010 -1.37 69.55 -50.76 +
2011 -13.78 26.54 -1.93 +
2012 14.34 64.51 4.50 +
2013 14.86 65.83 4.43 +
2014 1.71 3.09 1.80 +
2015 -0.71 54.73 -77.63 +
2016 7.80 38.70 4.96 +
2017 7.24 12.39 1.71 +
2018 -6.52 9.77 -1.50 +
2019 17.48 42.17 2.41 +
2020 3.00 51.84 17.26 +
2021 12.89 27.16 2.11 +
2022 -6.56 -9.87 1.50 -

Worst 10 Drawdowns
Started Recovered Drawdown Days
2008-10-06 2009-06-02 -39.27 240
2020-02-24 2020-05-25 -36.87 92
2014-09-09 2015-02-17 -22.65 162
2016-10-05 2018-01-02 -20.50 455
2008-01-04 2008-03-28 -16.18 85
2021-09-22 2022-01-25 -16.09 126
2018-09-05 2019-04-03 -15.04 211
2007-07-26 2007-08-31 -13.77 37
2011-04-28 2011-07-25 -13.20 89
2007-02-27 2007-05-02 -13.16 65