
MADL / GMADL loss란 무엇인가: 금융 시계열 예측에서 '매매에 사용할 수 있는 손실 함수'를 생각하다
요약
금융 시계열 예측에서 MSE, MAE와 같은 전통적인 손실 함수의 한계를 지적하며, 매매 방향성을 중시하는 MADL 및 GMADL 손실 함수를 소개합니다. 수치적 근접성보다 실제 수익 창출을 위한 부호(Sign) 일치 여부에 초점을 맞춘 새로운 접근법을 다룹니다.
핵심 포인트
- 전통적 손실 함수는 예측값과 실제값의 수치적 차이에만 집중함
- 금융 매매에서는 수치적 오차보다 매수/매도 방향(Sign) 일치가 더 중요함
- MADL은 실제 수익률과 예측 수익률의 방향 일치 여부를 손실에 반영함
- GMADL은 MADL을 일반화하여 금융 시계열 예측에 최적화함
「금융 시계열 예측에서는 일단 MSE나 MAE를 작게 만들면 되는 것 아닌가?」
처음에는 저도 그렇게 생각했습니다.
머신러닝 (Machine Learning)으로 회귀 문제를 해결한다면, 예측값과 실제 값의 차이를 작게 만드는 것이 자연스럽습니다. 따라서 주가나 수익률(Return)을 예측할 때도 MSE, MAE, RMSE와 같은 손실 함수 (Loss Function)를 사용하는 것이 일반적으로 보입니다.
하지만 금융 매매 전략으로서 생각하면 이야기가 조금 달라집니다.
예를 들어, 내일의 수익률이 실제로는 플러스였다고 가정해 봅시다. 이때 예측값이 실제 수익률에서 다소 벗어나 있더라도, 「플러스」라고 예측할 수 있다면 롱 (Long) 포지션을 취해 이익을 얻을 가능성이 있습니다.
반대로, 수치상으로는 상당히 근접한 예측이라도 부호(Sign)를 틀려버리면 매매 방향으로는 틀린 것이 됩니다.
즉 금융에서는 단순히 「예측값이 얼마나 가까운가」뿐만 아니라, 「그 예측을 사용하여 매매했을 때 이익으로 이어지는가」가 상당히 중요해집니다.
이러한 문제 의식에서 나온 것이 바로 MADL (Mean Absolute Directional Loss) 라는 손실 함수입니다.
MADL은 금융 시계열 예측을 알고리즘 투자 전략에 사용할 때, 고전적인 예측 오차 함수로는 매수/매도 신호 (Buy/Sell Signal)에 필요한 정보를 제대로 추출할 수 없다는 문제를 의식하여 제안되었습니다.
이 기사에서는 MADL과 그 일반화 버전인 GMADL (Generalized Mean Absolute Directional Loss) 에 대해 저의 이해를 정리해 나가겠습니다.
1. 일반적인 손실 함수는 「예측값의 근접성」을 보고 있다
먼저 MSE나 MAE가 무엇을 보고 있는지 확인하겠습니다.
MSE는 예를 들어 다음과 같이 예측 오차의 제곱을 작게 만들려는 손실 함수입니다.
MAE는 예측 오차의 절대값을 작게 만들려고 합니다.
둘 다 기본적으로는 「예측값
이는 일반적인 예측 문제에서는 매우 자연스럽습니다. 기온을 예측한다면 실제 기온에 가까운 편이 좋습니다. 수요 예측에서도 실제 수요에 가까운 편이 좋습니다.
하지만 금융에서 수익률을 예측하는 경우는 조금 다릅니다.
예를 들어 다음과 같은 케이스를 생각해 봅시다.
실제 수익률: +0.5%
예측 수익률: +0.1%
이 경우 수치상으로는 차이가 있습니다. 하지만 매매 관점에서는 「플러스」라고 예측하고 있으므로, 롱을 취하면 방향은 맞습니다.
반면, 다음과 같은 케이스도 있습니다.
실제 수익률: +0.5%
예측 수익률: -0.1%
이 경우 수치의 차이만 보면 그리 크지 않을지도 모릅니다. 하지만 매매 방향으로는 완전히 반대입니다.
여기서 「금융 예측에서는 정말로 MSE를 작게 만들면 되는가?」라는 의문이 생깁니다.
2. MADL은 「방향이 맞는가」를 본다
MADL은 대략적으로 말하면, 실제 수익률과 예측 수익률의 방향이 일치하는가를 보는 손실 함수입니다.
대표적으로는 다음과 같은 형태로 쓰입니다.
여기서,
는 실제 수익률 $R_i$ -
는 예측 수익률 $\hat{R}_i$
입니다.
이 식을 처음 보면 조금 무섭게 느껴질 수 있지만, 사고방식은 매우 단순합니다.
만약
가 됩니다.
즉, 실제 수익률이 플러스이고 예측도 플러스, 혹은 실제 수익률이 마이너스이고 예측도 마이너스인 경우입니다. 이 경우에는 방향이 맞습니다.
반대로 부호가 다르면,
가 됩니다.
이는 실제로는 올랐는데 내린다고 예측했거나, 실제로는 내렸는데 오른다고 예측했다는 뜻입니다.
MADL은 이 부호의 일치·불일치를 손실에 포함합니다.
3. MADL의 직관
MADL의 직관은 상당히 금융적입니다.
일반적인 손실 함수는
예측값이 실제 값에 가까울수록 좋다
고 생각합니다.
반면 MADL은
매매 방향이 맞고, 게다가 크게 움직인 날을 맞출수록 좋다
고 생각합니다.
예를 들어 실제 수익률이 작은 날이라면 방향을 맞춰도 그리 큰 이익이 되지 않습니다.
하지만 실제 수익률이 큰 날에 방향을 맞추면 매매 전략으로서 상당히 가치가 있습니다.
MADL에서는
이 부분이 흥미로운 지점입니다.
단순히 「오를지 내릴지」를 맞추는 것뿐만 아니라, 크게 움직이는 날에 방향을 맞추는 것을 손실 함수 안에 포함하고 있는 것입니다.
따라서 MADL은 일반적인 예측 정확도라기보다는, 상당히 「트레이딩에 사용할 수 있는 예측」에 치우친 손실 함수라고 이해할 수 있습니다.
4. 다만 MADL에는 약점도 있다
MADL은 사고방식 측면에서 매우 자연스럽습니다.
하지만 심층 학습 (Deep Learning)에서 사용하는 손실 함수 (Loss Function)로서 보면 문제점도 있습니다.
그것은 바로 부호 함수 (sign function) 입니다.
[IMG:1]
이는 방향을 확인하는 데는 편리하지만, 매끄러운 함수가 아닙니다.
심층 학습에서는 기본적으로 경사 (Gradient)를 사용하여 파라미터를 업데이트합니다. 따라서 손실 함수가 매끄럽고 미분하기 쉬운 편이 다루기 좋습니다.
하지만 MADL은 sign 함수를 포함하기 때문에, 경사 기반 최적화 (Gradient-based optimization)에서는 다루기 어려운 부분이 있습니다.
이 문제를 개선하기 위해 등장한 것이 GMADL (Generalized Mean Absolute Directional Loss) 입니다.
5. GMADL은 MADL을 매끄럽게 만든 것
GMADL은 간단히 말하면, MADL의 방향을 보는 사고방식을 유지하면서, 심층 학습에서 다루기 쉽도록 매끄럽게 만든 손실 함수입니다.
대표적으로는 다음과 같은 형태로 쓰입니다.
[IMG:2]
처음 보면 상당히 복잡해 보입니다.
하지만 하고 있는 일은 MADL과 비슷합니다.
포인트는 sign 함수 대신 sigmoid와 같은 매끄러운 함수를 사용한다는 점입니다.
시그모이드 (Sigmoid) 함수는 다음과 같은 형태를 하고 있습니다.
[IMG:3]
시그모이드 함수는 입력이 큰 양수라면
[IMG:4]
따라서,
[IMG:5]
MADL에서는 sign 함수로 인해 급격하게 변화하지만,
GMADL에서는 그 부분을 매끄럽게 처리합니다.
그렇기 때문에 심층 학습 모델의 학습에 사용하기 쉬워집니다.
6. GMADL의 파라미터
GMADL에는 파라미터가 있습니다.
[IMG:6]
이 부분도 처음에는 조금 이해하기 어려웠습니다.
먼저 $\alpha$는
[IMG:7]
직관적으로는 방향이 맞는지 틀린지를 얼마나 엄격하게 볼 것인가를 조정하는 파라미터입니다.
한편 $\beta$는
[IMG:8]
다음으로 $\gamma$는
[IMG:9]
GMADL에서는 $\gamma$가 변동 폭에 영향을 줍니다.
[IMG:10]
따라서,
[IMG:11]
이는 금융 측면에서 상당히 자연스럽습니다.
변동 폭이 작았던 날에 방향을 맞춘다 해도 이익은 그리 크지 않습니다. 반면, 변동 폭이 컸던 날에 방향을 맞추는 것은 전략의 수익성에 상당히 큰 영향을 미칩니다.
그런 의미에서 $\gamma$는 변동성 (Volatility)을 반영하는 파라미터라고 할 수 있습니다.
7. MADL / GMADL을 통해 얻을 수 있는 것
여기까지 읽으면,
"그럼 실제로 MADL / GMADL이 효과가 있을까?"
라는 점이 궁금해집니다.
현재까지 알려진 내용을 아주 대략적으로 정리하면 다음과 같습니다.
먼저, MADL의 원 논문에서는 Bitcoin과 Crude Oil을 대상으로 LSTM을 이용한 금융 시계열 예측을 수행했습니다. 거기서 MADL은 기존의 손실 함수보다 투자 전략으로서 더 좋은 결과를 내는 하이퍼파라미터 (Hyperparameter)를 선택하기 쉽다는 방향으로 평가되었습니다.
다음으로, GMADL은 MADL의 비매끄러움을 개선하여 MSE 계열의 손실 함수나 MADL보다 최적화 특성 및 위험 가중 수익률 (Risk-weighted return) 측면에서 더 좋은 결과를 얻을 수 있다고 알려져 있습니다. 특히 고빈도 데이터 (High-frequency data)에서는 거래 비용 (Transaction cost)이 문제가 되기 때문에 GMADL의 파라미터화가 중요하다고 여겨집니다.
또한, Informer라는 Transformer 계열의 시계열 모델을 사용한 Bitcoin 고빈도 데이터 연구에서도 RMSE, GMADL, Quantile loss를 비교하였으며, GMADL을 사용한 모델이 고빈도 Bitcoin 데이터의 자동 매매 전략에서 좋은 결과를 냈다고 보고되었습니다.
즉, MADL / GMADL은 예측 오차를 줄이는 것이라기보다, 예측을 매매 신호 (Trading signal)로 바꾸었을 때 강해지도록 학습하기 위한 손실 함수로서 제안 및 검증되고 있다고 보는 것이 적절합니다.
8. 개인적으로 흥미롭다고 생각한 점
개인적으로 흥미로웠던 점은 MADL / GMADL이 "금융에서는 손실 함수 자체를 바꾸는 것이 좋지 않을까?"라는 발상에 기반하고 있다는 점입니다.
금융 머신러닝 (Financial Machine Learning)에서는 모델에 관한 이야기가 많아지기 쉽습니다.
예를 들어,
- LSTM을 사용한다
- Transformer를 사용한다
- Informer를 사용한다
- 특징량 (Feature)을 늘린다
- Walk-forward 방식으로 검증한다
와 같은 이야기들입니다.
물론 모델도 중요합니다.
하지만 아무리 모델을 바꿔도 학습에서 최소화하고 있는 손실 함수가 MSE라면, 모델은 "매매로 돈을 버는 예측"이 아니라 "수치 오차가 작은 예측"을 목표로 하게 됩니다.
여기에 괴리가 있습니다.
MADL / GMADL은 이 괴리를 손실 함수 측면에서 수정하려고 시도하는 것으로 보입니다.
이 점이 상당히 흥미로운 연구 주제라고 생각했습니다.
9. 아직 알 수 없는 것 · 연구 여지
한편으로 MADL / GMADL은 아직 완성된 표준 기법이라기보다 발전 중인 테마라고 생각합니다.
예를 들어, 아직 모르는 점은 많습니다.
- GMADL의 $a, b$를 어떻게 선택하는 것이 좋은가 - 종목이나 시장에 따라 최적의 값이 달라지는가
- 거래 비용 (Transaction cost)을 어디까지 손실 함수에 포함해야 하는가
- 샤프 지수 (Sharpe ratio)나 최대 낙폭 (Drawdown) 계열의 지표와는 어떤 관계가 있는가
- 정말로 표본 외 (Out-of-sample) 데이터에서도 안정적으로 효과가 있는가
- 암호 자산 이외의 주식, 외환, 선물에서도 동일하게 효과가 있는가
특히 궁금한 점은 GMADL의 파라미터 선택입니다.
또한, 금융에서는 거래 비용 (Transaction cost)이나 슬리피지 (Slippage)가 상당히 중요합니다.
고빈도 데이터 (High-frequency data)에서 여러 번 매매를 하는 경우, 예측 방향이 다소 맞더라도 거래 비용 때문에 이익이 사라져 버릴 수 있습니다.
GMADL은 이 문제를 의식하고 있는 손실 함수이지만, 실제로 어디까지 강건 (Robust)한지는 더 세밀하게 검증할 필요가 있어 보입니다.
10. 요약
처음에는 금융 시계열 예측에서도 MSE (Mean Squared Error)나 MAE (Mean Absolute Error)를 작게 만들면 된다고 생각했습니다.
하지만 MADL / GMADL을 조사하면서, 금융에서는 단순히 예측값을 가깝게 만드는 것만으로는 불충분하다는 것을 알게 되었습니다.
금융에서 중요한 것은, 그 예측이 매매에 사용할 수 있는가입니다.
MADL은 예측 수익률과 실현 수익률의 방향이 일치하는지를 중시하는 손실 함수입니다.
GMADL은 그 사고방식을 매끄럽게(Smooth) 만들어, 딥러닝 (Deep learning)이나 고빈도 데이터에서도 다루기 쉽게 만든 것입니다.
아직 표준적인 손실 함수로서 널리 정착되었다고는 말할 수 없지만, 금융 머신러닝 (Financial Machine Learning)에 있어서 모델을 바꾸는 것뿐만 아니라, 손실 함수를 매매 목적에 맞추는 것이라는 발상은 상당히 중요하다고 생각합니다.
앞으로는 GMADL의 파라미터 선택, 거래 비용을 포함한 검증, 샤프 지수 (Sharpe ratio)나 최대 낙폭 (Drawdown)과의 관계, 부트스트랩 (Bootstrap)을 통한 신뢰 구간 등을 살펴보면 더욱 흥미로운 테마가 될 것 같습니다.
참고 문헌 · 읽은 것
- Jakub Michańków, Paweł Sakowski, Robert Ślepaczuk, "Mean Absolute Directional Loss as a New Loss Function for Machine Learning Problems in Algorithmic Investment Strategies."
- Jakub Michańków, Paweł Sakowski, Robert Ślepaczuk, "Generalized Mean Absolute Directional Loss as a Solution to Overfitting and High Transaction Costs in Machine Learning Models Used in High-Frequency Algorithmic Investment Strategies."
- Filip Stefaniuk, Robert Ślepaczuk, "Informer in Algorithmic Investment Strategies on High Frequency Bitcoin Data."
Discussion

AI 자동 생성 콘텐츠
본 콘텐츠는 Zenn ML의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기