그래프 이론으로 외환시장에서 수익 내기?

해커 뉴스[1]에서 흥미로운 글[2]을 봤는데, 분량은 꽤 길지만 대단히 재미있으니 일독을 권한다. 이 블로거 뭐하는 사람인지 궁금하네. ㅋㅋ

원래 글[2]은 그래프 이론을 응용하여 문제를 해결하는 세 가지 이야기를 하고 있는데, 첫 번째 이야기가 외환시장에서 아비트리지 수익을 내는 법이고, 두 번째 이야기가 강화 학습에 관한 내용이고, 마지막이 컴퓨터 그래픽스에서 path tracingray tracing을 구현하는 법이다. 근데, 관련 지식이 없어서 첫 번째 이야기만 빼고 무슨 말인지 잘 모르겠음-_-

여하간 첫 번째 이야기 만으로도 충분히 재미있으니 볼만하다. ㅎㅎㅎ

전산 수학의 중요한 부분 중 하나인 그래프 이론은 개론 정도만 배운 적이 있는데, 어렸을 때, ramsey problem에서 R(4, 6)의 값을 구해보려고 나름 용을 쓰던게 생각나는 구만 ㅋㅋㅋㅋ 일전에 R(5, 5) 이야기[3]를 한 적이 있다.

weighted graph에서 최단거리를 찾는 방법 중에 Bellman–Ford algorithm이 있는 모양인데, 이 알고리즘은 Dijkstra’s algorithm보다 속도는 좀 느리지만, edge weight가 음수인 경우도 처리할 수 있는 장점이 있다. Dijkstra 꺼는 음수가 처리 안되는 듯 하다. 사실 pseudo-code를 봐도 Bellman–Ford 알고리즘이 잘 이해가 안 되던데-_- 어느 친절한 블로거의 설명[4]을 보니 이해가 된다. 이 자리를 빌어 감사함. ㅎㅎ

외환시장은 세계에서 가장 큰 시장이라고 하는데, 블로그의 글[2]에 따르면 일일 거래금액이 5 trillion USD나 된다고 한다. 거래 규모가 방대하므로 미미한 비율의 수익률도 매우 큰 돈이 될 수 있다.

각 통화 (USD, JPY, BTC 등등)을 그래프의 노드라고 보았을 때, 각 통화의 교환비율(즉 환율)의 로그값을 weight로 갖는 그래프를 생각해볼 수 있다. 즉, 두 통화 A, B에 대해 log B/A를 directed weight로 갖는다. 이 경우 그래프를 순환하여 weight의 합이 0이 넘거나 모자라는 path를 찾는 경우가 바로 arbitrage trade의 기회가 될 수 있는 것이다. 왜냐하면 weight의 합산은

\displaystyle \log \frac{B}{A} + \log \frac{C}{B} + \cdots + \log \frac{A}{Z} = \log \frac{A}{A}

이 되고, 이 값이 0이 되어야 완전히 효율적인 시장이 된다. 이 값이 0이 아니라면 그 경로를 따라 외환을 환전하면 (음수면 역방향) 최총적으로 본래의 통화로 돌아왔을 때, 돈이 벌리는 것이다. ㅋㅋㅋ 원래 알고리즘이 합산을 하는 거라 로그를 썼지만, 실제로 구현할 때는 그냥 곱셈으로 1과 비교하는 게 편리할 듯 하다.

근데 모든 노드에 대해 거의 실시간으로 Bellman–Ford algorithm으로 계산하여 루트를 찾아야 하는데, 얼마나 효과적일지는 모르겠다. 뭐, 매우 미미한 비율이라도 시장이 원체 크고 환전 이후에는 제자리로 돌아오기 때문에, 짧은 기간동안 레버리지를 크게 하면 버는 돈이 상당히 될 듯 하기도 하다. LTCM의 초창기 높은 수익도 미미한 아비트리지 수익률을 큰 레버리지로 올렸기 때문에 가능했으니. ㅋ

아니면 거래 속도를 더 중시한다면 외환시장대신 cryptocurrency 사이의 교환비율에 Bellman–Ford algorithm을 적용해도 가능할 듯 하다. 다양한 종류의 cryptocurrency를 취급하는 거래소 내에서 충분히 연산속도가 빠른 머신을 이용하면 아비트리지 수익이 나올 듯 하다. 다만 거래수수료가 문제일 듯. 이쪽은 한국인들이 워낙 호구[5]라서 시장이 불균형일 때가 더 많으니, 적용이 더 수월할 듯 하다. ㅎㅎ

.


[1] Dijkstra’s in Disguise (hacker news)
[2] Dijkstra’s in Disguise (blog.evjang.com)
[3] 내 백과사전 R(5,5)의 upper bound가 하나 줄어들다 2017년 3월 30일
[4] 벨만-포드 알고리즘 (ratsgo.github.io)
[5] 내 백과사전 비트코인 국내가격과 국제가격의 엄청난 차이 2017년 5월 27일

3 thoughts on “그래프 이론으로 외환시장에서 수익 내기?

  1. 어차피 달러나 비트코인이 거래의 축이 돼서 돌아가는 시장이라면 실용성은 그다지 없을 것 같습니다. 혹시 큰손들의 시장에선 중간에 달러를 (혹은 유로나 엔) 거치지 않고 위안화랑 파운드화 맞바꿀 수 있는 걸까요?

댓글이 닫혀있습니다.