리소스 로딩... 로딩...

타이곤은 알고리즘 거래를 공개합니다: FMZ 퀀트 플랫폼 시장 제작자 전략

저자:FMZ~리디아, 창작: 2023-01-29 11:41:22, 업데이트: 2023-09-18 20:29:38

img

디지털 통화 알고리즘 거래 가이드

img

이 기사에서는 캐나다 통화에서 거래 알고리즘의 설계 및 구현을 논의할 것입니다. 특히 실행 알고리즘, 시장 제작 알고리즘 및 여러 시장 미세 구조 고려 사항에 초점을 맞추고 있습니다. 또한 특히 암호화폐 시장의 특성을 다루는 데 있어서 이론에서 실제의 편차를 연구했습니다.

실행 알고리즘

실행 알고리즘의 목표는 포트폴리오 상태를 다른 상태로 변환하는 동시에 비용을 최소화하는 것입니다. 예를 들어, BTCUSD 노출율을 1000으로 증가시키고 싶다면, 많은 수의 슬라이딩 포인트를 초래하는 즉시 BitMEX 거래 채널에 시장 주문을 입력하고 싶지 않을 수 있습니다. 반대로, 여러 다른 거래소의 시장 및 제한 주문 조합을 통해 천천히 원하는 위치를 얻는 것을 고려할 수 있습니다.

실행 알고리즘은 보통 3개의 계층이 있습니다. 마이크로 트레이더, 마이크로 트레이더, 스마트 라우터.

매크로 트레이더 계층은 큰 초기 주문 또는 부모 주문을 시간이 걸리는 더 작은 주문으로 나눈다. 실제로는 전체 알고리즘의 스케줄링 부분이다. VWAP, TWAP 및 POV는 일반적이고 간단한 매크로 트레이더 알고리즘의 예이다. 일반적으로 복잡한 매크로 트레이더 계층을 설계하는 데 사용할 수있는 많은 다른 시장 영향 모델이 있습니다. 시장 영향 모델의 설계는 실행에 대한 시장의 반응에 초점을 맞추고 있습니다. 시장은 실행 후 변하지 않을까요? 아니면 더 나아가나요? 아니면 어느 정도 돌아올까요? 가장 획기적인 시장 영향 모델은 Almgren-Chriss (1999, 2000) 영구 시장 영향 모델과 Obizhu-Wang (2013) 일시 시장 영향 모델입니다. 이를 기반으로 실제로 시장은 영구적인 영향을 미치지 않으므로 Obizhaeva-Wangeva는 더 현실적으로 보입니다.

img

확장 된 읽기: 알고리즘 거래의 구현 후 시장 영향력은 쇠퇴하기 시작합니다.https://arxiv.org/pdf/1412.2152.pdf.

마이크로 트레이더 계층은 각 서브 오더를 시장 주문 또는 제한 주문으로 실행할 것인지, 그리고 제한 주문이라면 어떤 가격을 지정해야 하는지 결정합니다. 서브 오더의 크기가 일반적으로 전체 시장의 작은 부분이기 때문에 미크로 트레이더 설계에 대한 문헌은 거의 없습니다. 따라서 그것을 구현하는 방법은 중요하지 않습니다. 그러나 디지털 통화 시장은 유동성이 매우 작기 때문에 다르며, 실제 일반 크기의 서브 오더에 대해서도 미끄러짐 지점은 매우 분명합니다. 마이크로 트레이더의 디자인은 일반적으로 시간과 깊이, 큐 위치 및 시장 미크로 구조의 다른 특성에 초점을 맞추고 있습니다. 시장 주문 (지연을 무시하면 제한 주문과 동일) 이 실행 될 수 있지만 제한 주문은 그러한 보장이 없습니다. 실행을 보장 할 수 없다면 매크로 트레이더가 설정 한 거래 계획에서 뒤떨어질 수 있습니다.

스마트 라우터 계층은 다른 거래소에 주문을 어떻게 지시할지 결정합니다. 예를 들어, 크라켄이 60% 유동성을 가지고 있고 GDAX (Coinbase ProPrime) 이 특정 가격 수준에서 40% 유동성을 가지고 있다면 마이크로 트레이더는 각각 60% 및 40%로 크라켄과 GDAX 거래소에 주문을 수입해야합니다.

이제 당신은 시장의 중재자와 시장 제작자가 한 거래소에서 다른 거래소로 유동성을 전송한다고 말할 수 있습니다. 따라서 크라켄에서 주문의 절반을 실행하고 몇 초 동안 기다린다면, GDAX의 유동성에서 크라켄에서 아버와 통계 아버에서 유동성이 추가 될 것이며, 나머지 작업을 비슷한 가격으로 완료 할 수 있습니다. 그러나, 이 경우에도 아버는 자신의 이익에 대한 추가 수수료를 부과하고 헤지 비용을 크라켄의 시장 제작 수수료로 전송합니다. 또한, 일부 시장 참여자가 발행한 주문의 수는 여러 거래소에서 수행하려는 규모를 초과하며 손실이 중단되면 과도한 규모는 취소됩니다.

마지막으로, 자신의 로컬 스마트 라우터를 갖는 것이 좋습니다. 이 로컬 스마트 라우터는 또한 제3자 스마트 라우터 서비스에 대한 지연 장점을 가지고 있습니다. 전자의 경우, 당신은 직접 교환으로 라우팅 할 수 있습니다. 후자의 경우, 당신은 먼저 제3자 라우터 서비스에 메시지를 보내야하고, 그들은 교환으로 주문을 보내야합니다. (또한, 당신은 제3자에게 라우터 수수료를 지불해야합니다). 삼각형의 두 다리의 합은 세 번째 다리보다 크다.

시장 제작 알고리즘

시장 제작은 다른 시장 참여자에게 즉각적인 유동성 및 보상을 제공하는 것을 의미합니다. 당신은 긍정적 인 예상 가치에 대가로 재고 위험을 감수합니다. 결국 시장 제작자가 보상을 받는 이유는 두 가지 이유가 있습니다. 첫째, 시장 수신자가 시간 선호도를 가지고 있으며 즉각성이 필요합니다. 그 대가로 유동성을 촉진하는 시장 제작자는 낮은 시간 선호도와 인내심을 보상 할 수 있습니다. 둘째, 시장 제작자의 PnL 이익은 왼쪽으로 기울이고 대부분의 상인들은 일반적으로 오른쪽으로 기울는 선호도를 가지고 있습니다. 다른 말로, 시장 제작자는 도박 시장, 카지노, 보험 회사 및 국가 복권에서 도박 회사와 유사합니다. 그들은 종종 작은 부분을 이긴다, 그러나 일반적으로 큰 부분을 잃지 않습니다. 예상치 못한 수익에 대한 보상으로 시장 제작자는 예상 가치에 대해 보상됩니다.

img

확장된 판독:https://en.wikipedia.org/wiki/Skewness.

높은 수준의 관점에서, 제한 주문은 다른 시장에서 자유 옵션입니다. 나머지 시장은 제한 주문의 제한 가격에 자산을 구매하거나 판매 할 권리가 있지만 의무가 없습니다. 정보가 완전히 알려진 시장에서 아무도 무료 옵션을 판매하지 않을 것입니다. 이는 시장 전체가 완전히 알려진 정보를 가진 시장이 아니기 때문에 무료 옵션을 판매하는 것이 결코 의미가 없기 때문입니다. 반면에 시장 정보가 완전히 알려지지 않으면 위험 중립 시장 제작자는 모든 거래가 소음이기 때문에 이러한 무료 제한 주문 옵션을 작은 가격 차이로 판매 할 준비가되어 있습니다. 분명히 실제 시장 참여자는 혼합되어 있으며 각 참여자는 알려진 정보와 알려지지 않은 정보를 고유 한 수준으로 가지고 있습니다.

마켓 메이커 알고리즘을 설계할 때 세 가지 관점을 고려해야 합니다. 마켓 메이커, 시장 참여자 및 다른 마켓 메이커.

시장 메이커의 자신의 견해는 그들의 재고에 의해 대표됩니다. 이미 너무 많은 자산 위험이있는 경우 코팅을 줄일 수 있으며, 그 반대의 경우도 있습니다. 두 가지 다른 이유로 그렇게합니다. 첫째로, 회사로서, 당신은 특정 수준의 위험 거부감을 가지고 있습니다.

이 유틸리티 함수의 형태는 많은 구조 (CARA, CRRA, HARA 등) 를 가지고 있습니다. 둘째, 시장에서 수동 유동성 공급자로서, 당신은 부정적인 선택 위험에 직면할 것입니다. 긍정적 유동성 수혜자는 당신이 가지고 있지 않은 것을 알 수 있습니다. 또는 단지 당신보다 똑똑할 수 있습니다. 이것은 기본적으로 시장에 무료 옵션을 판매하는 문제입니다.

또한, 기계적 동작 수준에서도 시장 가격 주문을 가진 시장 주문은 시장 가격에 가격을 책정하는 방식으로 가격을 줄일 것이고, 높은 코팅을 가진 시장 주문은 시장 가격에 가격을 책정할 것이다. 어떤 거래의 정확한 순간에, 당신은 항상 잘못된 편에 있다. 또한, 시장 메이커의 코팅은 수동적인 시장 영향을 미칠 것이다. 즉, 채우지 않은 오더북에 오더를 보내는 행위는 적어도 시장에서 당신을 멀리하게 할 것이다.

img

확장된 판독: 위험 회피 함수:https://en.wikipedia.org/wiki/Risk_aversion.

시장 수신자의 견해는 주문 흐름에 의해 표현됩니다. 깊이에 따라 주문의 입출량 가중화 빈도는 몇 가지 주요 속성을 가지고 있어야합니다.

기능은 다음과 같습니다.

    1. 감소하고 있습니다.
    1. 은 모양 (감각으로 설명하기 어렵지만 경험에서 분명합니다),
    1. 깊이가 무한해지고 비대칭적으로 0이 되면서, 어떤 공식들은 이 강도 함수가 두 번 연속으로 미분화될 필요가 있다. 이것은 훌륭하고 합리적인 가정이지만, 결국에는 필요하지 않다. 또한, 주문책의 꼭대기에서 깊이 또는 거리를 계산하는 방법에 대한 다른 공식들이 있다. 일반적으로 어떤 "합리적 중간 가격" 또는 각 대응 거래 당사자의 최고의 코트를 사용할 수 있다. 두 방법 사이에 다른 타협이 있으며, 우리는 여기에 논의하지 않을 것이다.

또한, 또 다른 알려지지 않은 요소는 "공정한 중간 가격"이 얼마나 될 수 있는지입니다. 심층 주문을 보내거나 취소할 때, 최고의 구매 가격과 최고의 판매 가격 사이의 중간 가격은 소음 가격에 취약합니다.

또한, 같은 주문록 모양의 두 경우를 고려할 때, 후자의 주문록의 가장 좋은 입찰은 공정 가격이 이전 주문록의 가장 좋은 입찰보다 낮다는 것을 나타냅니다. 또 다른 질문은 주문록의 역사가 중요합니다. 그렇다면, 우리는 가격 시간이나 거래량 시간에 주의를 기울여야합니까? 따라서 시장 흐름의 특성을 고려하여 시장 메이커의 가장 좋은 가격 제한 주문을 어디에 배치해야합니까? 주문록의 맨 위에 깊이를 강화하면 깊이 주문이 많지만 매번 매우 적습니다. 주문록의 맨 아래에 깊이를 강화하면 깊은 주문이 적지만 매번 많이 있습니다.

이것은 실제로 독특한 글로벌 최대값을 가진 마주나고 있는 최적화 문제입니다. 고려해야 할 또 다른 요소는 순서 흐름이 시간에 따라 도착한다는 것입니다. 이것은 포이슨 과정처럼 보입니다.https://zh.wikipedia.org/wiki/泊松过程어떤 사람들은 이것이 호크스 과정에 가깝다고 생각합니다.http://jheusser.github.io/2013/09/08/hawkes.html또한, 시장 제작자가 포착하려고하는 구매 및 판매 리바운드는 평균 회귀의 가장 짧은 버전입니다. 이 초단기 평균 회귀가 지역 변동에 의해 확장되기 때문에 시장 제작자가 가격이 높을 때 코팅을 확장하고 거래량이 낮을 때 코팅을 강화하는 것이 의미가 있습니다.

img

확장된 판독: 깊이에 대한 순서 도착 강도 (https://arxiv.org/pdf/1204.0148.pdf).

img

확장된 읽기: 호크스 프로세스 (http://jheusser.github.io/2013/09/08/hawkes.html)

다른 시장 메이커의 견해는 다른 시장 메이커의 일부 정보를 드러내는 주문 서적에 의해 대표됩니다. 주문 서적의 상단에 가까운 구매 가격은 판매 가격보다 더 높으며, 다른 시장 메이커가 구매하기보다 판매에 더 기꺼이 있음을 나타냅니다. 이러한 시장 메이커는 이미 많은 불균형 재고 백업을 보유하고 있거나 또는 단기간에 가격이 상승하기보다는 떨어질 가능성이 높다고 생각합니다. 두 경우 모두 시장 메이커로서 차트 주문 서적의 오차에 따라 코팅을 조정할 수 있습니다.

또한, 가격 점프가 작을 경우 시장 메이커가 서로 경쟁할 때 종종 이 페니 가격 점프 행동을 볼 수 있습니다. 시장 메이커는 항복 지점이 도달 할 때까지 가격에 대해 서로 경쟁하고 오직 한 명의 승자가 우선 순위를 얻습니다. 승자를 결정 한 후, 준우승자는 일반적으로 다음 최고의 입찰 또는 입찰 전에 이전 가격 점프로 되돌아갑니다. 코팅 우선 순위를 잃으면 두 번째 코팅 우선 순위를 얻을 수 있습니다. 이것은 반환 현상으로 이어집니다. 즉, 승자는 이제 가격 조정으로 돌아와 준우승자 앞에 같은 사다리, 두 등산자의 게임이 다시 시작됩니다.

img

확장된 읽기:http://parasec.net/transmission/order-book-visualisation/

마지막으로, 장기적 지향 신호는 시장 제작 알고리즘을 포함할 수 있습니다. 시장 제작 알고리즘의 목표는 더 이상 재고 수준을 유지하거나 변경되지 않는 것이 아니라 장기적인 목표와 그에 따른 오차를 고려하여 현실화시키는 것입니다.

속도

속도는 두 가지 주요 이유로 중요합니다. 첫째, 취소하기 전에 주문서에서 주문을 닫을 수 있습니다. 둘째, 주문서에서 주문을 채우기 전에 취소 할 수 있습니다. 다른 말로, 당신은 항상 주문 채우기 및 취소에 대한 주도권을 취하고 싶습니다. 중재 알고리즘 (활동적) 과 실행 알고리즘 (활동적) 은 전자에 대해 더 신경을 쓰고, 시장 제작 알고리즘 (비동적) 은 후자에 대해 더 신경을 쓰고 있습니다.

일반적으로, 원칙적으로, 속도에서 가장 많은 이익을 얻는 전략은 가장 간단한 판단 논리를 가진 전략이다. 복잡한 논리라면 어쩔 수 없이 왕복 시간을 늦추게 될 것이다. 이러한 복잡한 유형의 알고리즘 전략은 거래 세계에서 포뮬러 1 레이싱 자동차이다. 데이터 검증, 보안 검사, 하드웨어 설정 및 레이아웃 방법이 모두 속도를 위해 박탈 될 수 있다. OMS, EMS 및 PMS (포트폴리오 관리 시스템) 을 건너뛰고 GPU의 계산 논리를 동일한 거래소의 바이너리 API 인터페이스에 직접 연결한다. 빠르고 위험한 게임.

또 다른 유형의 속도 민감한 전략은 통계적 중재 전략에 비해 서버가 단일 거래소와 공존하기보다는 실제로 여러 거래소에 위치하고 있습니다. 단일 거래소에서 가장 빠른 데이터가 아니지만 가격을 얻을 수 있으며 다른 전략보다 관련 데이터와 연결 데이터를 처리 할 수 있습니다.

img

확장된 읽기: 세계 최대의 증권 거래소의 최고의 중간 거래 노드 위치 (https://www.alexwg.org/publications/PhysRevE_82-056104.pdf)

스피드 게임에서는 승자가 모든 것을 가져간다. 가장 간단한 예에서, 중재 기회가 있다면, 중재 기회를 먼저 얻을 수 있는 사람은 이익을 얻을 것이다. 두 번째 장소는 조각을 얻고, 세 번째 장소는 아무것도 얻지 못한다. 수입은 전력 법칙에 따라 분배될 가능성이 있다. (전력 법칙에 대해:https://zh.wikipedia.org/wiki/冪定律)

속도 경기는 경쟁이기도 합니다. 모든 사람들이 광섬유 네트워크에서 마이크로파 또는 레이저 네트워크로 업그레이드되면 모든 사람들이 공정한 경쟁 환경으로 돌아갈 것이고, 모든 초기 이점은 상업화 될 것입니다.

가격 점프 크기, 선제 구매 우선 순위 및 대기 순위 위치

주문을 일치시키는 대부분의 엔진은 먼저 가격, 그리고 그 다음 시간을 먼저 원칙을 따르고 (비례 일치는 덜 일반적인 대안이지만, 우리는 지금 이것을 고려하지 않을 것입니다). 더 나쁜 가격 제한 명령이 실행되기 전에 더 나은 가격이 실행됩니다. 동일한 가격의 제한 가격 주문의 경우, 이전에 전송된 주문은 나중에 전송된 주문보다 먼저 실행됩니다.

바이낸스는 주문을 최대 8개의 소수점으로 분할합니다. 거래 가격이 0.000001인 경우, 0.00000001의 가격은 거래의 1%입니다. 거래 가격이 0.0001인 경우, 0.00000001의 가격은 1bps (즉, 한 점프) 입니다. 이것은 큰 차이입니다. 전자의 경우, 큰 주문을 건너뛰는 것은 완전한 포인트를 필요로하므로 시간 우선 순위가 더 중요합니다. 후자의 경우, 그것은 100배 더 저렴하므로 가격 우선 순위가 더 중요합니다.

즉, 트랜잭션 우선 순위를 얻기 위해 전체 금액의 1%를 지불해야 할 경우 상대적으로 큰 금액을 지불하고 상대적으로 작은 금액으로 폐쇄 될 가능성을 증가시키기 때문에 가치가 없을 수 있으며 줄을 서서 기다리는 것이 더 좋을 수 있지만, 트랜잭션 우선 순위를 얻기 위해 1 bps만 지불해야 할 경우 그렇게 할 수 있습니다. 상대적으로 작은 한계 비용을 줄이기 때문에 동시에 상대적으로 많은 수의 트랜잭션의 확률이 증가합니다. 더 작은 가격 점프가 가격 우선 순위를 유도하는 반면 더 큰 가격 점프가 시간 우선 순위를 유도합니다.

이것은 자연스럽게 다음 질문으로 이어집니다: 당신의 대기열 위치의 값은 무엇입니까? (연장 읽기:https://moallemi.com/ciamac/papers/queue-value-2016.pdf)

img

주문번호부 델타스

오더북에 있는 오더 트랜잭션의 수를 줄이는 방법에는 두 가지 밖에 없습니다: 자발적으로 취소하거나 닫습니다. 거래 과정에 의해 감소가 발생하면 다른 모든 가격도 거래 과정으로 인해 감소합니다. 우리는 그들을 정렬하여 이러한 거래 기록을 정렬하여 각 감소가 거래 또는 취소로 인한 것인지 표시 할 수 있습니다.

직관적으로, 거래는 두 당사자가 특정 가격에 거래하기로 동의하는 것을 의미하지만 취소하는 것은 한 당사자가 특정 가격에 구매하거나 판매하지 않기로 결정한다는 것을 의미합니다. 따라서 표면적으로 우리는 최고의 제안을 가진 취소가 시장 가격이 단기간에 하락할 것이라는 매우 강력한 신호이며, 그 뒤에 바로 거래 가격이 따를 것이라고 말할 수 있습니다.

반면, 주문책의 가격은 상승하기 시작합니다. 한 가지 가능성이 있습니다. 남은 제한 주문의 수를 증가시키는 것입니다.

주문 포크의 증가와 감소는 시장 참여자의 개인 의지를 보여줍니다. 따라서 단기 가격 움직임의 신호를 제공합니다.

더 나은 가격 지표와 최적의 거래 비용

현재 대부분의 가격 인덱스는 여러 거래소에서 거래 데이터를 얻고 볼륨 가중 된 평균 가격을 얻기 위해 집계합니다. 특히 트레이드블록 인덱스는 거래소 가중의 처벌 메커니즘을 증가시킬 것입니다. 이는 비활성성과 가격에서 너무 멀리 벗어나는 거래소와 밀접하게 연관되어 있습니다. 그 외에도 우리가 개선 할 수있는 것이 무엇입니까?

GDAX에서 메이커 수수료는 0 베이스 포인트이고, 타커 수수료는 30 베이스 포인트이다. 예를 들어, 거래 가격은 $4000/BTC로 표시되며, 실제로는 판매자의 판매 가격은 $4000/BTC이고, 구매자의 구매 가격은 $4012/BTC이다. 이 거래의 합리적인 가격은 실제 표시된 가격보다는 $4006/BTC에 가깝아야 한다. 반면, Bittrex의 25bps 수수료는 메이커와 타커 모두에게 적용되기 때문에 실제 가격은 표시된 가격이다. 다시 말해, $4000/BTC의 표시 가격은 실제로 구매자가 $4010/BTC로 구매하고, 판매자가 $3990/BTC로 판매하는 것이다. 평균 가격은 디스플레이 가격 자체이다.

따라서 가격 발견의 관점에서 거래 기록의 가격은 거래소 사이에서 직접적으로 비교될 수 없으며, 가격 지수의 구성이 위의 조건을 고려한 후에 표준화되어야 한다. 물론 거래량에 따라 다른 수수료를 초래하는 복잡한 요소가 있다. 예를 들어, 일부 거래소는 거래량에 따라 메이커와 메이커 수수료를 설정하고 청구한다. 이것은 또한 두 가지 흥미로운 추론을 의미한다.

우선, 가격 발견은 제한적입니다. 어떤 면에서, 그것은 또한 메이커와 메이커 비용에 대한 거래소 사이의 비대칭성을 강화합니다. GDAX의 대부분의 계정이 메이커 및 테이커 수수료의 0/30 기본 포인트 수준이며 GDAX가 일반적으로 BTCUSD 주문 책에 페니 차이를 가지고 있다고 가정하면, 각 거래에 대한 입찰에서 표시되는 가격은 약 공정 가치입니다. 이는 스팟과 각 거래보다 15 포인트 이상 높으며, 그 사이의 표시 된 가격은 약 공정 가치입니다. 따라서 평온 기간의 공정 가격은이 두 지점 사이에서 빠르게 변동하며, 그 사이의 가격 발견은 더 이상 정밀화되지 않았습니다.

img

GDAX 주문책

둘째, 생산자와 소비자 사이의 세금 관계와 마찬가지로, 제조자와 수령자 사이에는 비용 발생의 측면에서 어느 정도 동등성이 있습니다. 제조자에게 상대적으로 더 많은 비용을 부과하면, 그들은 주문서를 확장하고 수령자에게 일부 수수료를 전달합니다. 수령자에게 상대적으로 더 많은 수수료를 부과하면, 제조자는 주문서를 강화하고 제조자의 수수료의 일부를 흡수합니다.

여기서 극단적인 경우, 당신은 너무 많은 메이커를 좋아하기 때문에 주문 서구가 가격 점프로 압축됩니다 (우리는 종종 GDAX에서 볼 수 있듯이) 그리고 주문 서구가 더 이상 강화 될 수 없습니다. 이를 기반으로 추가 비용은 이제 수입 손실로 거래소 자체에 떨어집니다.

극단적인 예제 외에도, 어떤 당사자가 수수료를 징수하는 것이 중요한 것이 아니라 메이커와 메이커의 수수료의 합이 중요하다는 것을 알 수 있습니다. 마지막으로, 라퍼 커브라인 세금 정책과 마찬가지로 거래소는 요금 정책에서 수익 최적화 문제를 직면합니다. 수익 수입이 세금 정책과 동일하다는 것을 알 수 있습니다. 거래소가 수수료를 부과하지 않으면 소득을 얻지 못할 것입니다. 거래소가 수수료의 100%를 부과하면 거래가 없습니다. 따라서 소득이 없습니다. 추가 연구를 통해 전체 비용 수준에서 교환 수입이 고유 한 최대 함수와 웅덩이 함수라는 것이 분명합니다.

img

용어의 설명: 라퍼 곡선 (https://en.wikipedia.org/wiki/Laffer_curve)

계속해...


관련

더 많은