Learning to Learn Financial Networks for Optimising Momentum Strategies

ArXiv ID: 2308.12212 “View on arXiv”

Authors: Unknown

Abstract

Network momentum provides a novel type of risk premium, which exploits the interconnections among assets in a financial network to predict future returns. However, the current process of constructing financial networks relies heavily on expensive databases and financial expertise, limiting accessibility for small-sized and academic institutions. Furthermore, the traditional approach treats network construction and portfolio optimisation as separate tasks, potentially hindering optimal portfolio performance. To address these challenges, we propose L2GMOM, an end-to-end machine learning framework that simultaneously learns financial networks and optimises trading signals for network momentum strategies. The model of L2GMOM is a neural network with a highly interpretable forward propagation architecture, which is derived from algorithm unrolling. The L2GMOM is flexible and can be trained with diverse loss functions for portfolio performance, e.g. the negative Sharpe ratio. Backtesting on 64 continuous future contracts demonstrates a significant improvement in portfolio profitability and risk control, with a Sharpe ratio of 1.74 across a 20-year period.

Keywords: Network Momentum, Financial Networks, End-to-End Machine Learning, Algorithm Unrolling, Portfolio Optimization

Complexity vs Empirical Score

  • Math Complexity: 8.0/10
  • Empirical Rigor: 7.0/10
  • Quadrant: Holy Grail
  • Why: The paper presents a novel neural network architecture derived from algorithm unrolling, involves complex optimization and graph theory, and shows strong empirical results with a 20-year backtest on 64 futures contracts, achieving a Sharpe ratio of 1.74.
  flowchart TD
    Start["Research Goal:<br>How to improve Network Momentum<br>optimization end-to-end?"] --> Input["Input Data:<br>64 Continuous Future Contracts<br>(20-year Backtest)"]

    Input --> Method["Proposed Method:<br>L2GMOM Framework<br>End-to-End ML (Algorithm Unrolling)"]

    subgraph Process ["Computational Process"]
        direction TB
        Method --> Learn["Simultaneous Learning:<br>Financial Network +<br>Portfolio Signals"]
        Learn --> Loss["Optimization:<br>Loss Function (e.g.,<br>Negative Sharpe Ratio)"]
    end

    Process --> Outcomes["Key Findings & Outcomes:<br>Improved Profitability & Risk Control<br>Sharpe Ratio: 1.74<br>High Interpretability"]