Mean Absolute Directional Loss as a New Loss Function for Machine Learning Problems in Algorithmic Investment Strategies
ArXiv ID: 2309.10546 “View on arXiv”
Authors: Unknown
Abstract
This paper investigates the issue of an adequate loss function in the optimization of machine learning models used in the forecasting of financial time series for the purpose of algorithmic investment strategies (AIS) construction. We propose the Mean Absolute Directional Loss (MADL) function, solving important problems of classical forecast error functions in extracting information from forecasts to create efficient buy/sell signals in algorithmic investment strategies. Finally, based on the data from two different asset classes (cryptocurrencies: Bitcoin and commodities: Crude Oil), we show that the new loss function enables us to select better hyperparameters for the LSTM model and obtain more efficient investment strategies, with regard to risk-adjusted return metrics on the out-of-sample data.
Keywords: loss function, Mean Absolute Directional Loss (MADL), LSTM, algorithmic investment strategies, time series forecasting, Cryptocurrencies and Commodities
Complexity vs Empirical Score
- Math Complexity: 4.0/10
- Empirical Rigor: 7.0/10
- Quadrant: Street Traders
- Why: The paper presents a novel loss function (MADL) with a defined mathematical formula but lacks deep theoretical derivations or proofs, keeping math complexity moderate. It demonstrates empirical rigor by applying the method to real financial data (Bitcoin and Crude Oil) using walk-forward optimization and evaluating out-of-sample risk-adjusted returns, making it backtest-ready.
flowchart TD
Start(["Research Goal<br/>Develop an effective loss function<br/>for algorithmic investment strategies"]) --> Data["Input Data<br/>BTC & Crude Oil Historical Data"]
Data --> Model["LSTM Model Architecture"]
Model --> Comp["Computational Process<br/>Train with:<br/>1. MAE Loss<br/>2. Proposed MADL Loss"]
Comp --> Select["Hyperparameter Selection<br/>Optimize based on loss function"]
Select --> Strat["Generate Algorithmic Investment Strategy<br/>Trading Signals (Buy/Sell)"]
Strat --> Eval["Out-of-Sample Evaluation<br/>Compare Risk-Adjusted Returns"]
Eval --> Out["Key Findings<br/>MADL enables better hyperparameter selection<br/>and more efficient investment strategies"]