Predicting Foreign Exchange EUR/USD direction using machine learning
ArXiv ID: 2409.04471 “View on arXiv”
Authors: Unknown
Abstract
The Foreign Exchange market is a significant market for speculators, characterized by substantial transaction volumes and high volatility. Accurately predicting the directional movement of currency pairs is essential for formulating a sound financial investment strategy. This paper conducts a comparative analysis of various machine learning models for predicting the daily directional movement of the EUR/USD currency pair in the Foreign Exchange market. The analysis includes both decorrelated and non-decorrelated feature sets using Principal Component Analysis. Additionally, this study explores meta-estimators, which involve stacking multiple estimators as input for another estimator, aiming to achieve improved predictive performance. Ultimately, our approach yielded a prediction accuracy of 58.52% for one-day ahead forecasts, coupled with an annual return of 32.48% for the year 2022.
Keywords: Forex Prediction, Machine Learning, Principal Component Analysis, Meta-estimators, Time Series Forecasting
Complexity vs Empirical Score
- Math Complexity: 4.0/10
- Empirical Rigor: 8.0/10
- Quadrant: Street Traders
- Why: The paper uses standard machine learning algorithms and PCA with minimal advanced mathematical derivations, but includes comprehensive backtesting over nearly a decade with specific metrics like accuracy and annual returns, plus detailed data preparation steps.
flowchart TD
Start["<b>Research Goal</b><br>Predict EUR/USD Daily Direction"]
Data["<b>Data Inputs</b><br>EUR/USD Historical Data"]
Feat["<b>Feature Engineering</b><br>Decorrelated vs Non-decorrelated<br>using Principal Component Analysis"]
Models["<b>ML Models</b><br>Individual Estimators +<br>Stacked Meta-Estimators"]
Eval["<b>Evaluation</b><br>Directional Accuracy &<br>Backtested Returns"]
Result["<b>Key Outcomes</b><br>Accuracy: 58.52%<br>Annual Return: 32.48% (2022)"]
Start --> Data
Data --> Feat
Feat --> Models
Models --> Eval
Eval --> Result