한 문장으로 이해하는 암호화폐 시장의 "마켓 메이커"는 어떻게 운영되는가?
원문 출처는 Odaily 별구름 신문 별구름 군의 친구들입니다
이번 핀 주입식 하락에 대해 많은 형들이 바이낸스의 시장 조성자에게 문제가 생겼다고 말하고 있으며, 금에 고정된 $PAXG도 핀 주입을 당했습니다.
왜 많은 소액 투자자들은 자신이 사면 떨어지고, 팔면 오른다고 말할까요?
그렇다면, 시장 조성자는 무엇을 하는 걸까요? 어떻게 작동하나요?
수수료 환급
양방향 주문, 두 거래가 모두 체결된 후 미세한 스프레드 차익으로 적은 이익을 누적하며, 본질적으로 시간과 정보 지연을 이용해 유동성을 포착합니다.
가격 발견, 시장의 효율적인 가격 책정을 도와주고 유동성을 제공합니다.
시장 조작, 시장을 조작하고 소액 투자자에게 유동성을 매도합니다.
"시장 조성자"의 영어 원문은 Market Maker로, 이해하기 쉽게 말하자면: 시장이 없는 곳에서 시장 조성자가 시장을 만들어냅니다.
우선 당신이 프로젝트의 시장 조성자라고 가정해 봅시다. 현재 주문서(order book)가 다음과 같은 형태입니다: 
우리는 몇 가지 가정을 해보겠습니다: 이 시장에는 다른 투자자가 제한 가격 주문을 내지 않고, 당신이 이 시장의 유일한 유동성 제공자라는 것입니다. 즉, 당신이 유일한 시장 조성자입니다; 최소 가격 변동 단위는 0.01입니다; 모든 매수자(taker)는 0.025%의 수수료를 지불해야 하며, 모든 매도자(maker)는 0.01%의 환급을 받습니다.
당신은 시장 조성자 market maker로서, 매도자 쪽에 있습니다. 시장에서 당신과 시가로 거래되는 모든 주문은 당신이 0.01%의 환급을 받을 수 있습니다.
최적 매수 가격과 최적 매도 가격 간의 차이(best bid와 best offer, 약칭 bb/o)를 스프레드라고 하며, 현재 주문서의 스프레드는 0.01입니다.
이제, 시가 매도 주문이 들어오면 당신의 매수 1가 100에 체결됩니다. 이 거래에서 당신은 100을 지불했지만, 상대방은 실제로 100-0.025*100=99.975만 받습니다. 여기서 0.025(100*0.025%)는 수수료이며, 당신은 그 중 0.01%의 환급을 받을 수 있으므로 실제로는 99.99만 지불한 것입니다.
매수 1이 사라졌으므로 주문서의 구조가 바뀌었고, 현재 스프레드는 0.02로 변했습니다. 하지만 시가는 여전히 100입니다, 왜냐하면 이것이 마지막 체결 가격이기 때문입니다:

이 순간 매수 주문이 들어오면 당신의 매도 1가 100.01에 체결됩니다. 이전 주문에서 당신은 99.99의 가격으로 매수했으며, 여기서 100.01의 가격으로 매도하여 0.02의 이익을 얻고, 환급을 더하면 이 매수와 매도의 총 이익은 약 0.03에 이를 수 있습니다.
비록 당신의 매수 1(100)과 매도 1(100.01)의 스프레드가 0.01에 불과하지만, 실제 이익은 0.03에 달합니다!
만약 계속해서 시가 주문이 들어와 당신과 거래된다면, 매번 매매에서 0.03의 이익을 얻을 수 있으며, 이렇게 누적되면 부자가 되는 것은 시간 문제입니다!
하지만 안타깝게도 시장은 당신이 예상한 대로 순조롭게 발전하지 않았습니다. 당신이 99.99의 가격으로 물건을 받자마자 현물 시장의 가격이 즉시 100에서 99.80으로 하락했고, 당신은 즉시 99.99와 99.98의 매수 주문을 철회하여 다른 사람이 차익 거래를 하지 못하도록 했습니다.
현재 가격이 99.80으로 하락했기 때문에 당신의 매도 1가는 여전히 100.01이며, 이 가격은 너무 높아 아무도 이 가격으로 거래하지 않을 것입니다. 물론 당신은 매도 1가를 99.81로 조정할 수도 있지만, 그러면 0.17의 손실이 발생합니다.
잊지 마세요, 당신은 시장에서 유일한 시장 조성자입니다. 당신은 이 우위를 이용해 주문서를 조정하고 손실을 최소화할 수 있습니다!
어떤 가격에 매도 주문을 걸어야 본전 회수할 수 있을지 계산해 보았습니다. 당신은 99.99의 가격으로 물건을 받았으므로, 본전 가격으로 이 주문을 청산하려면 매도 1가는 99.98에 걸어야 합니다(환급을 더하면 실제로는 99.99가 되어 손실 없이 거래됩니다).
그래서 당신은 주문서를 조정하여 매수 1과 매수 2에 각각 99.80과 99.79의 주문을 걸고, 매도 1가에 99.98의 주문을 걸었습니다:

현재 스프레드가 매우 크지만, 당신은 시장에서 유일한 시장 조성자이므로 매도 주문 가격을 낮추지 않기로 결정할 수 있습니다. 누군가 99.98의 매도 1가로 거래하고 싶다면 모두가 기쁘겠지만, 그렇지 않더라도 괜찮습니다. 왜냐하면 당신의 매수 주문 가격이 이미 99.80으로 하락했기 때문에 시가 주문이 들어와 당신과 거래될 것입니다.
이때, 시가 매수 주문이 들어와 당신의 매수 1가와 체결됩니다. 이제 당신은 2개의 계약을 보유하고 있으며, 보유 비용은 다음과 같이 나뉩니다: (99.79+99.99)/2=99.89. (이전 거래에서 우리는 99.99의 가격으로 체결되었고, 이번 거래는 99.79의 가격으로 체결되었습니다. 매수 가격보다 더 낮은 가격으로 체결된 이유는 우리가 0.01%의 수수료 환급을 받기 때문입니다.)
좋습니다, 이제 평균 보유 비용이 99.89로 낮아졌습니다. 당신은 매도 1가를 99.98에서 99.89로 낮추었습니다. 갑자기 큰 가격 차이가 반으로 줄어들었습니다. 이제 당신은 이렇게 계속해서 작업을 통해 비용을 줄이고 스프레드를 축소할 수 있습니다.
위의 예에서 가격은 0.2%만 변동했지만, 만약 가격이 갑자기 5%, 10% 또는 그 이상 변동한다면? 위의 방법을 사용하더라도 손실이 발생할 수 있습니다. 왜냐하면 스프레드가 너무 크기 때문입니다!
따라서 시장 조성자는 두 가지 문제를 연구해야 합니다:
다양한 시간 창에서 가격의 변동성이 얼마나 큰가?
시장의 거래량은 얼마나 되는가?
변동성은 간단히 말해 가격이 평균에서 얼마나 벗어나는지를 나타내며, 다양한 시간 창에서 가격의 변동성은 다릅니다. 어떤 자산은 1분 단위의 K선 차트에서 요동칠 수 있지만, 일일 차트에서는 안정적인 흐름을 보일 수 있습니다. 거래량은 유동성을 나타내며, 유동성은 주문의 스프레드와 거래 빈도에 영향을 미칩니다.

위의 그래프는 4가지 가격 변동을 보여줍니다. 다양한 변동 상황에 따라 시장 조성자는 다른 대응 방식을 선택해야 합니다:
만약 시장 전체의 변동성이 낮고, 일일 변동성과 일내 변동성이 모두 낮다면, 거래량을 극대화하기 위해 더 작은 가격 차이를 선택해야 합니다.
만약 일일 변동성은 낮지만 일내 변동성이 높다면(즉, 가격이 크게 변동하지만 실질적인 변화는 없다면), 가격 차이(spread)를 확대하고 더 큰 주문량을 사용할 수 있습니다. 가격이 불리한 방향으로 움직일 경우, 위에서 언급한 평균 비용을 낮추는 방법을 사용하여 손실을 줄일 수 있습니다.
만약 일일 변동성이 높지만 일내 변동성이 낮다면(즉, 가격이 안정적인 속도로 추세를 형성하고 있다면), 이때는 더 작고 긴밀한 가격 차이(spread)를 사용해야 합니다.
만약 일일 변동성과 일내 변동성이 모두 높다면, 가격 차이를 확대하고 더 작은 주문량을 사용해야 합니다. 이는 가장 위험한 시장 상황으로, 종종 다른 시장 조성자들을 겁주고, 물론 위기와 기회가 공존합니다. 대부분의 시간 동안 시장 조성자는 안정적인 수익을 얻지만, 시장의 기분이 이상할 때는 주문서의 한쪽을 뚫고 손실을 강요받을 수 있습니다.
시장 거래에는 두 가지 핵심 단계가 있습니다: 공정 가격(fair price) 결정과 가격 차이(spread) 결정.
첫 번째 단계는 공정 가격(fair price)을 결정하는 것입니다. 즉, 어느 가격에 주문을 걸지를 정하는 것입니다. 가격 결정은 첫 번째 단계이자 매우 중요한 단계입니다. 만약 당신이 공정 가격에 대한 이해가 너무 다르다면, 당신의 "재고"는 팔리지 않을 가능성이 높고, 결국 손실을 감수하고 포지션을 청산해야 할 것입니다.
가격 결정을 위한 첫 번째 방법은 해당 자산이 다른 시장에서의 가격을 참조하는 것입니다. 예를 들어, 당신이 런던 시장에서 달러/엔을 거래하고 있다면, 뉴욕 시장의 가격을 참조할 수 있습니다. 그러나 다른 시장에서 가격이 비정상적으로 변동하면, 이러한 가격 결정 방법은 매우 신뢰할 수 없게 됩니다.
두 번째 가격 결정 방법은 중간 가격을 사용하는 것입니다. 중간 가격(mid price) = (매수 1가 + 매도 1가) / 2. 중간 가격으로 가격을 결정하는 것은 간단해 보이지만 매우 효과적인 방법입니다. 왜냐하면 중간 가격은 시장의 경쟁 결과이기 때문입니다. 중간 가격을 기준으로 하면, 시장은 대체로 맞습니다.
위에서 언급한 두 가지 가격 결정 방법 외에도 알고리즘 모델이나 시장 깊이를 기반으로 한 다양한 가격 결정 방법이 있습니다. 여기서는 자세히 설명하지 않겠습니다.
시장 조성자가 고려해야 할 두 번째 문제는 가격 차이(spread)입니다. 적절한 가격 차이를 결정하기 위해서는 일련의 질문을 고려해야 합니다: 시장의 평균 거래량은 얼마인가? 이 거래량의 변화(분산)는 얼마나 큰가? 매수(주문)의 평균 크기와 변화(분산)는? 공정 가격 근처의 주문량 상황은? 등등. 이 외에도 매우 짧은 시간 창에서 가격의 변동과 분산, 시장 조성자가 지불/받아야 할 수수료, 인터페이스 속도, 주문 및 철회의 속도 등과 같은 기타 부수적인 요소도 고려해야 합니다.
매우 짧은 시간 동안 시장 조성자의 수익 기대치는 실제로는 부정적입니다. 왜냐하면 모든 매수자(taker order)는 자신의 가격이 유리한 상황에서 당신과 거래하고 싶어 하기 때문입니다. 강제로 손실을 감수해야 하는 주문을 제외하고는 말이죠. 시장의 다른 참여자들은 모두 당신의 손에서 이익을 얻고 싶어 합니다.
상상해 보세요, 당신이 시장 조성자라면, 주문을 어떤 위치에 걸어야 할까요?
주문이 체결될 수 있는 전제 하에 최대한의 가격 차이를 얻으려면, 주문서를 가장 앞에 걸어야 합니다. 즉, 매수 1가/매도 1가의 가격에 걸어야 합니다. 가격이 변동하기만 하면, 당신의 매수 주문은 빠르게 체결될 것입니다. 하지만 빈번한 가격 변동은 나쁜 일입니다. 예를 들어, 당신이 물건을 받자마자 가격이 변동하면, 원래의 매도 주문은 더 이상 주문 가격으로 체결될 수 없습니다.
유동성이 충분하지 않고 가격 변동이 적은 시장에서는 매수 1가/매도 1가에 주문을 걸면 더 안전하지만, 이는 또 다른 문제를 야기합니다. 다른 시장 조성자들이 당신을 발견하고 더 작은 가격 차이로 당신보다 먼저 주문을 걸게 됩니다(tighten the spread). 모두가 가격 차이를 계속 줄이기 위해 경쟁하게 되고, 결국 이익이 사라질 때까지 계속됩니다.
이제 수학적 관점에서 가격 차이를 결정하는 방법을 탐구해 보겠습니다. 먼저 변동성부터 시작하겠습니다. 우리는 매우 짧은 시간 주기에서 이 자산의 가격/거래량이 평균 근처에서 얼마나 변동하는지를 알아야 합니다. 다음 수학적 계산은 가격 활동이 정규 분포를 따른다고 가정할 것이며, 물론 이는 실제 상황과 다를 수 있습니다.
가정해 보겠습니다. 1초를 샘플링 주기로 하고, 지난 60초를 샘플로 사용하며, 현재 중간 가격의 평균이 60초 전의 평균과 같다고 가정합니다(여기서 평균은 변하지 않음을 기억하세요). 이 평균과 현재 가격 간의 표준 편차는 0.04입니다. 우리가 앞서 가격 운동이 정규 분포를 따른다고 가정했으므로, 우리는 68%의 시간 동안 가격이 평균에서 1개의 표준 편차($-0.04-+$0.04) 내에서 변동할 것이라는 것을 알 수 있습니다. 99.7%의 시간 동안 가격은 평균에서 3개의 표준 편차($-0.12-$+0.12) 내에서 변동할 것입니다.
좋습니다, 우리는 중간 가격 양쪽에 0.04의 가격 차이로 가격을 제시합니다. 즉, 가격 차이(spread)는 0.08이며, 68%의 시간 동안 가격이 평균에서 1개의 표준 편차($-0.04-+$0.04) 내에서 변동할 것이므로, 이때 양쪽의 주문이 체결되기 위해서는 가격 변동이 양쪽 가격을 뚫어야 합니다. 즉, 1개의 표준 편차를 초과해야 하며, 32%의 시간(1-68%=32%) 동안 가격 변동이 이 범위를 초과할 것입니다. 따라서 우리는 단위 시간의 이익을 대략적으로 추정할 수 있습니다: 32% * $0.04 = $0.0128.
우리는 계속해서 추론할 수 있습니다: 만약 0.06의 가격 차이로 주문을 걸면(각각 중간 가격에서 0.03의 위치에), 이는 0.75개의 표준 편차에 해당합니다(0.03/0.04=0.75). 가격 변동이 0.75개의 표준 편차를 초과할 확률은 45%이며, 예상 단위 시간 이익은 45% * 0.03 = $0.0135입니다. 만약 0.04의 가격 차이로 주문을 걸면(각각 중간 가격에서 0.02의 위치에), 이는 0.5개의 표준 편차에 해당합니다(0.02/0.04=0.5). 가격 변동이 0.5개의 표준 편차를 초과할 확률은 61%이며, 예상 단위 시간 이익은 61% * 0.02 = $0.0122입니다.
우리는 0.06의 가격 차이로 주문을 걸면, 즉 0.75개의 표준 편차 위치에 주문을 걸면 최대 이익을 얻을 수 있다는 것을 발견했습니다. 즉, $0.0135입니다! 이 예에서는 각각 1/0.75/0.5개의 표준 편차 상황을 제시했으며, 비교해보니 0.75개의 표준 편차가 최대 이익을 얻을 수 있었습니다. 직관을 더욱 증명하기 위해, 저는 Excel을 사용하여 다양한 표준 편차에서 예상 수익을 도출해 보았고, 예상 수익이 볼록 함수임을 발견했습니다. 이 볼록 함수는 정확히 0.75개의 표준 편차 근처에서 최대값을 가집니다~!
위의 가정은 가격 변동이 평균이 0인 정규 분포를 따른다고 가정한 것입니다. 즉, 시장의 평균 수익률은 0이며, 실제 상황에서는 가격의 평균이 변동합니다. 평균의 편차는 한쪽 주문이 체결되기 더 어렵게 만들며, 우리가 재고를 보유할 때는 손실을 입을 뿐만 아니라 예상 수익률도 감소합니다.
결론적으로, 시장 조성자의 기대는 두 부분으로 구성됩니다. 첫째, 주문이 체결될 확률입니다. 예를 들어, 1개의 표준 편차로 주문을 걸면 32%의 시간 동안 체결될 것입니다. 둘째, 주문이 체결되지 않을 확률입니다. 예를 들어, 1개의 표준 편차로 주문을 걸면 68%의 시간 동안 가격이 스프레드 중간에서 움직여 주문이 체결되지 않을 것입니다.
주문이 체결되지 않는 경우, 가격의 평균이 변경될 가능성이 높습니다. 따라서 시장 조성자는 "재고 비용"을 관리해야 합니다. 이 "재고 비용"은 이자를 지불해야 하는 대출로 볼 수 있으며, 시간의 경과에 따라 변동성이 증가하고 대출 이자도 상승합니다. 시장 조성자는 각 주기의 평균 변동성을 통해 회귀 전략을 수립하고 보유 비용을 제한할 수 있습니다.
마지막으로 형들, 왜 많은 소액 투자자들은 자신이 사면 떨어지고, 팔면 오른다고 말할까요? 이는 근거 없는 것이 아닙니다. 이 글이 그 답을 제시합니다!




