News & Events
딥러닝 모델에 거시경제이론을 접목한 연구
Financial ML를 시작할 때, 쉽게 이용할 수 있는 Keras RNN이나 CNN에 많은 기술적 지표를 삽입하는 것은 매우 유혹적이다. 말할 필요도 없이, 이러한 프로젝트의 대부분은 완전히 다른 적용 분야를 위해 개발되었으며, 이는 재무 데이터의 근본적인 경제성을 반영하지 않는다는 단순한 이유로 인해 실패하곤 한다.
오늘은 본 논문에서 개발된 Multi-Graph Tensor Network 모델을 살펴보고, 보다 나은 알고리즘 트레이딩을 위해 경제 이론을 어떻게 통합할 수 있는지 알아볼 것이다. 구체적으로 알고리즘 트레이딩을 위한 딥 강화 학습 에이전트 아키텍처에 외환(FX) 캐리 팩터(FX 수익률의 가장 중요한 요소)를 통합하는 방법에 대해 논의할 것이다.
(전체 코드 및 자세한 내용은 여기에서 확인할 수 있다.)
1. 기술 배경
딥러닝 모델에 경제 원리를 접목하려면 GNN, 텐서 네트워크, 강화 학습 분야에서 개발된 툴에 호소해야 한다. 여기서는 이러한 주제에 대해 매우 개념적으로 논의할 예정이므로 자세한 내용은 해당 문서를 참고하자. 또한 이러한 주제에 대해 이미 잘 알고 있다면 이 섹션을 건너뛰어도 좋다.
1.1. GNN
GNN(Graph Neural Networks)은 그래프로 설명되는 불규칙적인 도메인에 정의된 데이터를 처리하기 위해 개발된 딥러닝 모델이다. CNN(Convolution Neural Networks)과 달리, 기본적인 데이터 기하학에 대한 가정을 하지 않으며 어떤 데이터 영역에도 변환 개념을 일반화시킬 수 있다.
아래 이미지는 일반 그리드(오른쪽)의 상호 연결된 픽셀 그래프에서 이미지(왼쪽)에 대한 고전적인 2D 변환을 특수한 Convolution 인스턴스로 생각할 수 있는 방법에 대한 직관을 제공한다.
1.2. 텐서 분해
텐서는 벡터 및 행렬을 다차원 배열로 일반화한다. 예를 들어 행렬은 순서-2 텐서, 벡터는 순서-1 텐서, 스칼라는 순서-0 텐서이다. 이미지(x축, y축, RGB 색상의 3가지 모달리티를 가진 순서-3 텐서)와 같은 다양한 데이터 유형뿐만 아니라 재무 데이터도 자연스럽게 설명한다.
행렬과 마찬가지로 텐서 분해(TD)를 통해 낮은 등급의 형태로 텐서를 분해할 수 있으며, TD는 대용량의 데이터를 로그로 대폭 압축할 수 있어 차원의 저주를 효과적으로 우회할 수 있다.
1.3. Deep-Q 강화학습
DQN은 누적 보상을 극대화하기 위해 주어진 환경과 상호 작용하도록 신경망 에이전트를 훈련시킨다. 이 학습 프레임워크는 보상이 에이전트의 매수-매도 조치에서 창출된 이익으로 직접 전환되기 때문에 특히 알고리즘 거래에 적합하다.
2.금융 딥러닝이 자주 실패하는 이유
재무 데이터는 종종 딥 러닝 모델의 가정을 위반한다.
우리만의 금융 딥러닝 모델을 개발하기 전에, 우리는 왜 전통적인 CNN과 RNN이 종종 재정 데이터에 맞지 않는지를 이해할 필요가 있다. 이유는 간단하다. 딥러닝은 이 분야에서 개발되지 않았기 때문이다.
각 딥러닝 모델은 이 포스팅에서 논의한 대로 고유한 특성으로 특징지어지기 때문에 금융 시장에 적용되지 않을 수 있는 기초 데이터에 대한 자체적인 가정 세트를 가지고 있다.
예를 들어, CNN은 컴퓨터 비전 작업을 위해 개발되었다. CNN은 기본 데이터가 변환 불변이라고 가정하며, 이는 이미지의 경우 부합하지만 재무 데이터의 경우 그렇지 않다. 반면에, RNN은 시퀀스 모델링을 위해 개발되었다. RNN은 과거 주가 예측 가능한 트렌드와 계절성을 통해 미래에 영향을 미칠 수 있다고 가정하는데, 이는 부분적으로 재무 데이터를 보유하고 있지만 충분한 요인은 아니다.
그렇기는 하지만, 매우 신중한 문제 공식화와 데이터 전처리로, 우리는 이러한 많은 문제들을 피할 수 있고, CNN과 RNN을 재무 목적으로 사용할 수 있다. 따라서, 우리 모델의 기본적인 가정들을 주의 깊게 검토하고 그것들이 재무 데이터의 기본적인 경제성을 반영하는지 확인하는 것이 필요하다.
3.FX 재무 배경
캐리 팩터는 FX 수익률의 주요 동인이며 금리와 관련이 있다.
이제 FX 데이터의 특성과 동인을 분석하여 기본적인 경제 원칙을 반영하도록 모델을 설계해보자.
3.1. FX 데이터의 특성
FX 시장은 참가자들이 주어진 현물 금리로 통화 쌍을 교환할 수 있게 하는데, 이것은 주어진 순간에 다른 통화에 대한 통화의 가치를 측정한다.
FX 데이터는 본질적으로 다중 모드(다차원)인데, 그 이유는 시간이 지남에 따라 그리고 여러 관련 자산에 걸쳐 색인화된 다중 가격 정보를 포함하고 있기 때문이다. 따라서 계산은 차원의 저주로 인해 어려움을 겪는다. 이는 특히 딥러닝 방법에서 문제가 되는 과적합 측면에서 심각한 영향을 미친다.
또한, FX 데이터는 시장의 재정 거래 힘으로 인해 신호 대 잡음 비율이 낮은 것으로 알려져 있으며, 이로 인해 모델 교육이 특히 딥러닝 모델에 과적합되기 쉽다.
마지막으로, 다양한 시장 요인(예: 캐리 팩터, 가치 팩터, 모멘텀 팩터 등)은 시간에 따라 다른 각도로 가격에 영향을 미칠 수 있다. 이는 많은 머신 러닝 알고리즘이 처리할 수 없는 다중 해상도 문제를 구성한다.
3.2. FX 데이터 드라이버 – FX 캐리
통화 쌍의 현물 환율에 영향을 미칠 수 있는 많은 요인들이 있지만, 가장 중요한 동인은 캐리 팩터이다.
간단히 말해서, FX 캐리는 해당 국가 간의 금리 차이에 따라 통화 쌍이 가치가 절상/절하되는 경향을 말한다.
예를 들어, EURUSD는 현물 금리 1(예: 1유로를 1달러에 교환할 수 있음)로 거래하지만, 금리는 미국 2%와 EU 3%이다. USD를 2%(단기)로 빌린 후 유로(장기)로 환산한 후 3%로 대출하는 방법이 있다. 현물금리가 연말까지 일정하게 유지된다면 유로화를 USD로 환산할 수 있으며, 금리차이로 인해 1%의 위험 부담은 거의 없다.
그러나 실제로는 현물 비율이 완전히 일정하게 유지되기를 기대하는 것은 순진한 일일 것이다. 사실, 우리는 EURUSD 현물 금리가 금리 차이를 상쇄하는 방향으로 바뀔 것으로 예상한다. 비록 지나치게 단순화되었지만, 이것은 금리 평등의 기본 개념이다.
FX 데이터의 특성으로 인해 각 통화 쌍에 대한 캐리 값을 정의할 수 있다. 이를 통해 아래 이미지와 같이 캐리 그래프를 정의할 수 있으며, 이는 서로 다른 통화 간의 쌍방향 관계를 경제적으로 의미 있는 방식으로 인코딩한다.
4. FX 거래를 위한 다중 그래프 텐서 네트워크
이 논문에서 개발된 다중 그래프 텐서 네트워크(MGTN) 모델은 수학적 세부 사항으로 너무 많이 들어가지 않고 다차원 데이터를 모델링하는 텐서 분해의 힘과 불규칙 도메인에서 데이터를 모델링하는 그래프의 능력을 모두 활용한다. 이를 통해 MGTN은 다음과 같은 FX 데이터의 몇 가지 과제를 해결할 수 있다.
- FX 데이터의 다중 모드 특성은 자연스럽게 텐서 표현으로 이어지며, 이는 MGTN의 텐서 구조에 의해 쉽게 처리될 수 있다.
- 이 모델은 본질적으로 차원성의 저주에 영향을 받지 않는 텐서 분해의 강력한 하위 압축 특성을 활용할 수 있으며 FX 데이터의 낮은 신호 대 잡음 특성을 다루기 위한 정규화 프레임워크를 제공할 수 있다.
- 캐리와 같은 장기 시장 요인은 자연스럽게 FX 데이터의 쌍별 공식에 호소하는 그래프 필터에 압축할 수 있으며, 이를 통해 경제적으로 의미 있는 저빈도 가격 데이터 그래프 토폴로지를 통해 고빈도 가격 데이터를 처리할 수 있다.
MGTN을 deep Q 강화 학습 에이전트의 기반으로 사용하여 FX 알고리즘 거래 작업을 위해 이를 교육하고 다른 딥러닝 에이전트와 비교할 수 있다. 아래 이미지는 MGTN 모델이 다른 딥러닝 에이전트를 크게 능가하는 해당 샘플 외 거래 결과를 보여준다.
위의 시뮬레이션은 많은 가정(예: 지연 시간, 거래 비용, 시장 영향 등)을 수행하므로 그 결과를 곧이곧대로 받아들이지 않는 것이 중요하다. 이 시뮬레이션의 요점은 딥러닝 모델에 경제 원리를 통합하는 것이 어떻게 더 강력한 거래 알고리즘을 만들 수 있는지를 보여주는 것이다.
전체 코드와 추가 리소스에 대해 더 알고 싶으면 필자의 웹 사이트를 확인해보자.
번역 – 핀인사이트 인턴연구원 강지윤(shety0427@gmail.com)
원문 보러가기>
https://towardsdatascience.com/algorithmic-trading-with-economics-driven-deep-learning-50c219ee9334