Adaptive ARM(3) SP500 Trading System
Introduction
This article features an adaptive autoregressive momentum ‘trading system’ similar to the Adaptive Autoregressive Trading System presented in the prior article. The system trades the very short-term daily trends of the SP 500 stock market index. The three terms (weights) of the model are modified walking-forward bar by bar by the swarm adaptation engine and they each range from -0.333 to +0.333. Thus, the system is highly dependent on the swarm adaptation engine.
The model is very basic. The predicted change in price (PD) is calculated as follows:
PD = Term1 * (Price(t) – Price(t-1)) + Term2 * (Price(t) – Price(t-2)) / 1.4142 + Term3 * (Price(t) – Price(t-3)) / 1.7321
If PD is positive then the system goes long and vice versa. The simplicity of the model and the uniform ranges across the terms leaves little opportunity for curve fitting prior to the system being run. The performance lookback was set to 1,000 trading days. This model calculates all price deltas by subtracting prior closing values from the last closing value.
System Settings
The trading system simulation was run using SP 500 stock index data from 1980 to present. This period featured a number of very different market regimes. The screen images that follow describe the Dakota system settings.
The Price-ARM03 ScriptBot has been in the ATS ScriptBot Library for BioComp Dakota for some time. Default ScriptBot parameter settings were used to build the system featured in this article.
The Dakota Equity Management settings are identical to those described in the prior article. No slippage or commission was applied.
Trading Simulation Results
The screen images that follow show the results of running the trading simulation.
Overall, the equity curve produced by the ARM(3) model is more consistent then that produced by the AR(3) model in the prior article.
The hypothetical performance statistics for the ARM(3) model are slightly better than those produced by the AR(3) model.
Regards,
James













