Automated FX Trading System Using ARL
Introduction
Summary of previous work: Add link to Dempster - 2004 - Adaptative Systems For Foreing Exchange Trading [Quantitative Finance 4]
Find definition of the Sharpe Ratio ?
Previous work: Tarding system based on 2 superimposed AI algorithms: Add link to Dempster - 2002 - Intraday FX Trading: and evolutionary reinforcement learning approach
Machine Learning Algorithm
Basic initial model: Add link to Moody & Saffell - 1999 - Minimizing downside risk via schochastic dynamic programming
Mathematical model and estimation procedure: add link to Moody & Saffell - 2001 - Learning to trade via direct reinforcement
\(F_t \in \{-1, 1\}\) is the position to take at time t.
\(w_t\) is the weight vector at time t.
\(\nu_t\) is the threshold at time t.
\(r_t = p_t - p_{t-1}\) are the raw return values at time t.
See all previous Dempster refs [1-5] for continuous time situation
\[\begin{align}P_T & = \sum\limits_{t=0}^T R_t \\ R_t & = F_{t-1} \cdot r_t - \delta |F_t - F_{t-1}|\end{align}\]
\[\begin{align}\hat{S}(t) & = \frac{A_t}{B_t} \\ A_t & = A_{t-1} + \eta(R_t - A_{t-1}) \\ B_t & = B_{t-1} + \eta (R_t^2 - B_{t-1})\end{align}\]
\[D_t = {\frac{d\hat{S}(t)}{d\eta}}_{|\eta=0} = \frac{B_{t-1}\Delta A_t - \frac 12 A_{t-1} \Delta B_t}{(B_{t-1} - A_{t-1}^2)^{\frac 32}}\]
We then use a simple gradient descent method to update the weights: \(w_{i,t} = w_{i,t-1} + \rho \Delta w_{i,t}\)
\[\Delta w_{i,t} = \frac{dD_t}{dw_i} \approx \frac{dD_t}{dR_t} \left( \frac{dR_t}{dF_t} \cdot \frac{dF_t}{dw_{i,t}} + \frac{dR_t}{dF_{t-1}} \cdot \frac{dF_{t-1}}{dw_{i,t-1}}\right)\]
\[\frac{dF_t}{dw_{i,t}} \approx \frac{\partial F_t}{\partial w_{i,t}} + \frac{\partial F_t}{\partial F_{t-1}} \cdot \frac{dF_{t-1}}{dw_{i,t}}\]
RRL are very interesing for rolling window usage: add link to [Gold - 2003 - FX trading via recurrent reinforcement learning] and [Dempster - 2001 - Realtime adaptative trading system using genetic programming]
The Trading System
Extensions to Machine Learning layer
See [Dempster - 2001 - Computational learning techniques for intraday FX trading using popular technical indicators
Dynamic optimization of utility layer
\[\Sigma = \frac{\sum_{i=0}^N (R_i)^2 I\{R_i \lt 0\}}{\sum_{i=0}^N (R_i)^2 I\{R_i \gt 0\}}\]
Here \(R_i\) is the raw return at time i: \(R_i = W_i - W_{i-1}\), with \(W_i\) the cumulative profit at time i.
Then we define the utility function: \(U(\bar{R},\Sigma,\nu) = a \cdot (1 - \nu) \bar{R} - \nu \cdot \Sigma\), with:
Standard theoritical work on risk measure (Not applicable above): [Ruszczynski - 2002 - Dual Stochastic dominance and related mean-risk models] and [Ruszczynski - 2003 - Frontiers of stochastically non-dominated portfolios]
\[\max_{\delta, \eta, \rho, x, y} U(\bar{R},\Sigma : \delta, \eta, \rho, x, y)\]
⇒ Implemented as a one-at-a-time random search optimization (using 15 random evaluation around current value for each parameter).
Provide typical range of the parameters here.
The Trading System
Tested with the EURUSD pair:
Trading between 9 am and 5 pm (london time)
Interdealer platform: EBS / Reuters3000
Used risk aversion value \(\nu = 0.5\)
⇒ Earned 5104 pips over 2 years
Conclusion
Future work:
In [2,7] it has demonstrated that order book or order flow information could enhance the perfs.
Risk management layer could control multiple trading systems for different currencies.