Dynamic Portfolio Rebalancing: A Hybrid new Model Using GNNs and Pathfinding for Cost Efficiency

ArXiv ID: 2410.01864 “View on arXiv”

Authors: Unknown

Abstract

This paper introduces a novel approach to optimizing portfolio rebalancing by integrating Graph Neural Networks (GNNs) for predicting transaction costs and Dijkstra’s algorithm for identifying cost-efficient rebalancing paths. Using historical stock data from prominent technology firms, the GNN is trained to forecast future transaction costs, which are then applied as edge weights in a financial asset graph. Dijkstra’s algorithm is used to find the least costly path for reallocating capital between assets. Empirical results show that this hybrid approach significantly reduces transaction costs, offering a powerful tool for portfolio managers, especially in high-frequency trading environments. This methodology demonstrates the potential of combining advanced machine learning techniques with classical optimization algorithms to improve financial decision-making processes. Future research will explore expanding the asset universe and incorporating reinforcement learning for continuous portfolio optimization.

Keywords: Graph Neural Networks, portfolio rebalancing, transaction costs, Dijkstra’s algorithm, Equities

Complexity vs Empirical Score

  • Math Complexity: 8.5/10
  • Empirical Rigor: 6.0/10
  • Quadrant: Holy Grail
  • Why: The paper employs advanced mathematics including Graph Neural Networks (GNNs) with iterative message-passing equations and Dijkstra’s algorithm for pathfinding, indicating high complexity. It also provides empirical results using historical data from tech stocks and discusses implementation in high-frequency trading contexts, demonstrating solid empirical rigor.
  flowchart TD
    A["Research Goal:<br>Optimize portfolio rebalancing<br>to minimize transaction costs"] --> B["Data Input:<br>Historical stock data<br>(Tech firms)"]

    B --> C["Methodology:<br>Train GNN model to predict<br>future transaction costs"]
    C --> D["Graph Construction:<br>Create financial asset graph<br>Edge weights = Predicted costs"]
    
    D --> E["Computational Process:<br>Apply Dijkstra's algorithm<br>to find least costly path"]

    E --> F["Key Findings:<br>Significant reduction in<br>transaction costs achieved<br>Effective for high-frequency trading"]
    
    F --> G["Future Work:<br>Expand asset universe<br>Integrate Reinforcement Learning"]