Exploring the viability of neural networks for algorithmic trading
The foreign exchange (FX) market is an exciting domain for applying data science and machine learning. Over $6 trillion in currencies are traded around the world every single day. The dynamics that drive exchange rates are complex, but I wanted to see if deep learning could identify patterns amidst the chaos.
In this project, I developed a recurrent neural network model that analyzes news headlines and past price history to forecast future FX movements. The key questions I explored:
Can a deep learning model make reasonably accurate short-term FX predictions?
More importantly, can those predictions drive profitable algorithmic trading strategies?
Approach
I modeled the USD/EUR currency pair using over 3 years of 1-minute spot rates. I also collected ~1 million tweets over that period from finance handles and econ influencer accounts to incorporate related news and commentary.
The model uses natural language processing to extract useful signals from text data. Those semantic features get concatenated with quantitative price indicators to form input vectors.
The neural network architecture has dense layers to extract hierarchical relationships. Dropout regularization reduces overfitting. It's ultimately trained to minimize absolute error on 45-minute price change predictions.
I evaluated performance by running backtesting simulations. Buy and sell trades are triggered when substantial price swings are anticipated. I incorporated transaction costs and risk metrics to keep things realistic.
Results
The model predicts short-term price changes surprisingly well - within a few basis points. More importantly, trading based on those forecasts generates significant excess returns over a passive investment approach:
- +33% annualized returns
- Peak drawdown under 1%
Looks like deep learning can uncover profitable signals amidst all the FX noise! Interpretability analysis also revealed sensible model attribution aligning with major economic news events.
Next Steps
This is just an initial proof-of-concept. Next I plan to:
- Expand to additional currency pairs
- Incorporate longer-term price data
- Add alternative data sources - earnings calls, bond rates, etc
- Build out an automated pipeline for production trading
I'm excited about the potential for machine learning in finance. This project confirms that data-driven algorithms can thrive, even in noisy domains like foreign exchange markets.
Top comments (0)