NEAT Algorithm-based Stock Trading Strategy with Multiple Technical Indicators Resonance
ArXiv ID: 2501.14736 “View on arXiv”
Authors: Unknown
Abstract
In this study, we applied the NEAT (NeuroEvolution of Augmenting Topologies) algorithm to stock trading using multiple technical indicators. Our approach focused on maximizing earning, avoiding risk, and outperforming the Buy & Hold strategy. We used progressive training data and a multi-objective fitness function to guide the evolution of the population towards these objectives. The results of our study showed that the NEAT model achieved similar returns to the Buy & Hold strategy, but with lower risk exposure and greater stability. We also identified some challenges in the training process, including the presence of a large number of unused nodes and connections in the model architecture. In future work, it may be worthwhile to explore ways to improve the NEAT algorithm and apply it to shorter interval data in order to assess the potential impact on performance.
Keywords: NeuroEvolution of Augmenting Topologies (NEAT), Technical Indicators, Multi-Objective Optimization, Stock Trading, Risk Management, Equities
Complexity vs Empirical Score
- Math Complexity: 6.0/10
- Empirical Rigor: 7.5/10
- Quadrant: Street Traders
- Why: The paper presents concrete empirical implementation details including dataset size, specific libraries, and a fitness function, resulting in high empirical rigor, while the mathematical complexity is moderate due to the use of standard technical indicator formulas rather than advanced derivations.
flowchart TD
A["Research Goal: Apply NEAT Algorithm to Stock Trading for Max Earnings & Min Risk"] --> B["Methodology: Multi-Objective Fitness Function & Progressive Training Data"]
B --> C["Data: Technical Indicators as Inputs & Equity Price History"]
C --> D["Computational Process: NEAT Evolution of Population"]
D --> E["Outcome: Model Trained & Tested vs. Buy & Hold Strategy"]
E --> F["Key Findings: Comparable Returns, Lower Risk, Greater Stability"]
F --> G["Challenge: High Sparsity (Unused Nodes/Connections)"]
G --> H["Future Work: Apply to Shorter Interval Data & Optimize NEAT"]