이 문서에서는 추가 화폐에 대한 거래 알고리즘의 설계와 구현을 탐구합니다. 특히, 우리는 알고리즘 실행, 시장 거래 알고리즘 및 몇 가지 시장 미시 구조 고려 사항에 초점을 맞추고 있습니다. 우리는 또한 실제 이론의 오차가있는 곳을 연구하고 있습니다. 특히 암호화폐 시장의 특성을 다루는 데 있습니다.
실행 알고리즘의 목표는 포트폴리오 상태를 다른 상태로 변환시키는 것이며, 그렇게 하는 비용을 최소화하는 것입니다. 예를 들어, BTCUSD 노출을 1000으로 높이고 싶다면, 당신은 많은 슬라이드를 초래하는 BitMEX의 거래 통로로 즉시 시장 주문을 급격히 입력하기를 원하지 않을 수 있습니다. 대신, 여러 다른 거래소에서 시장과 제한 주문을 조합하여 천천히 원하는 위치를 얻는 것을 고려할 수 있습니다.
실행 알고리즘은 일반적으로 세 계층으로 구성되어 있습니다: macrotrader, microtrader 및 smart router.
마크로트레이더 계층은 큰 초기 주문이나 파더 오더를 시간이 경과하는 작은 주문으로 분할한다. 이것은 실제로 전체 알고리즘의 이동 부분이다. VWAP, TWAP, POV는 마크로트레이더 알고리즘의 일반적인 간단한 예이다. 일반적으로 복잡한 마크로트레이더 계층을 설계하는 데 사용할 수있는 다양한 시장 영향 모델이 있습니다. 시장 영향 모델의 설계는 시장이 실행에 대한 반응에 초점을 맞추고 있습니다. 시장이 실행 후 원형을 유지합니까? 또는 더 멀리 이동합니까? 또는 어느 정도 돌아갑니다? 가장 혁신적인 시장 영향 모델 중 두 가지가 Almgren-Chriss (1999년, 2000년) 영구적인 시장 영향 모델과 Obizhaeva-Wang (Obizhaeva-Wang) (2013) 임시 시장 영향 모델입니다.
延申閱讀: 알고리즘을 실행한 후 시장 영향력은 쇠퇴하기 시작했습니다https://arxiv.org/pdf/1412.2152.pdf
마이크로 트레이더 계층은 각 하위 주문을 시장 가격 주문 또는 제한 가격 주문으로 실행할 것인지, 만약 제한 가격 주문이라면 어떤 가격을 지정해야 하는지 결정한다. 마이크로 트레이더 설계에 대한 문헌은 거의 없다. 이것은 하위 주문의 크기가 일반적으로 전체 시장의 작은 부분이기 때문에 실행하는 방법이 중요하지 않다. 그러나 디지털 통화 시장은 유동성이 매우 희박하기 때문에 다르며, 실제 일반 크기의 하위 주문에도 점유점은 매우 분명하다. 마이크로 트레이더 디자인은 일반적으로 시간과 깊이, 쿼리 위치 및 시장 미시 구조의 다른 특징에 초점을 맞춘다. 시장 가격 주문 (우리가 지연을 무시하면 제한 가격 주문과 동일) 은 실행을 보장할 수 있으며, 주문은 그러한 보장이 없습니다. 만약 제한을 보장하지 못한다면, 당신은 마이크로 트레이더 설정된 거래 계획에 빠질 수 있습니다.
스마트 라우터 계층은 주문을 다른 거래소에 어떻게 유도할지 결정한다. 예를 들어, 크라켄이 60%의 유동성을 가지고 있고 GDAX (Coinbase ProPrime) 이 특정 가격 수준에서 40%의 유동성을 가지고 있다면, 마이크로 트레이더는 주문을 각각 60%와 40%의 비율로 크라켄과 GDAX에 수입해야 한다.
이제 당신은 시장의 중소 유공자와 거래자가 유동성을 한 거래소에서 다른 거래소로 옮길 것이라고 말할 수 있습니다. 따라서 당신이 크라켄에서 절반의 주문을 실행하고 몇 초 동안 기다린다면 일부 유동성은 아버와 스타트 아버에서 크라켄의 유동성에 추가됩니다. 당신은 비슷한 가격으로 나머지 작업을 수행 할 수 있습니다. 그러나 이 경우에도, 아버는 자신의 이익을 위해 당신에게 추가 비용을 부과하고 자신의 지출 비용을 크라켄의 거래소에 전달합니다. 또한, 일부 시장 참여자는 그들이 원하는 크기를 넘어서 여러 거래소에서 지불하고 손실이 제거되면 크기가 지나치게 적립됩니다.
마지막으로, 자신의 로컬 스마트 라우터를 갖는 것이 좋습니다. 이 로컬 스마트 라우터는 또한 제3자 스마트 라우터 서비스에 대한 지연 장점을 가지고 있습니다. 전자의 경우, 당신은 직접 거래소에 라우팅 할 수 있습니다. 후자의 경우, 당신은 먼저 제3자 라우터 서비스에 메시지를 보내야하고, 그들은 당신의 주문을 거래소에 전송합니다. (또한, 당신은 제3자에게 라우터 비용을 지불해야합니다.) 삼각형의 임의의 두 다리의 합이 세 번째 다리보다 크다.
시장을 만드는 것은 다른 시장 참여자에게 즉각적인 유동성을 제공하고 보상받는 것을 의미합니다. 당신은 긍정적 인 예상 가치에 대 한 재고 위험을 감수합니다. 결국, 시장을 만드는 사람은 두 가지 이유로 보상을 받는다. 첫째, 시장 수용자는 높은 시간 선호도를 가지고 있으며 즉각성을 필요로합니다. 교환으로 유동성을 촉진하는 시장을 만드는 사람은 그들의 낮은 시간 선호도와 인내심을 보상 할 수 있습니다. 둘째, 시장을 만드는 PnL 수익은 왼쪽으로 기울이고 대부분의 거래자는 일반적으로 오른쪽으로 기울어집니다. 즉, 시장을 만드는 것은 도박 시장, 카지노, 보험 회사 및 국가 복권에서 도박 회사와 유사합니다. 그들은 종종 작게 승리하고 종종 크게 잃지 않습니다. 이러한 예상치 못한 수익으로 인해 시장을 만드는 사람은 예상 가치에 대한 보상을 얻을 수 있습니다.
延申閱讀: 편견https://en.wikipedia.org/wiki/Skewness
고위 수준의 관점에서 볼 때, 제한 주문은 다른 시장의 자유 옵션이다. 나머지 시장은 제한 주문의 제한 가격으로 자산을 구매하거나 판매 할 권리가 있지만 의무가 없다. 완전히 알려진 시장에서 아무도 자유 옵션을 판매하지 않습니다. 이는 시장이 전체적으로 완전히 알려진 시장이 아니기 때문에 자유 옵션을 판매하는 것이 결코 의미가 없기 때문입니다. 반면, 시장 정보가 완전히 알려지지 않은 경우, 위험 중립 시장가들은 모든 거래가 소음이기 때문에 이러한 자유 제한 옵션을 매우 작은 가격 차이로 판매 할 준비가되어 있습니다. 분명히, 실제 시장 참여자는 알기와 알 수 없는 수준에 따라 고유한 정보를 가지고있는
시장 거래 알고리즘을 설계할 때 세 가지 관점을 고려할 수 있습니다: 시장 거래자, 시장 참여자 및 다른 시장 거래자.
시장상가들은 자신의 의견을 그들의 재고로 표현한다. 만약 당신이 이미 너무 많은 자산의 위험을 가지고 있다면 당신은 당신의 제안을 낮출 수도 있고, 반대로도 그럴 수도 있다. 당신은 두 가지 다른 이유로 그렇게 한다. 첫째, 기업으로서 당신은 어느 정도의 위험 회피를 가지고 있다.
이 유동 함수의 형태는 여러 가지 구조 (CARA, CRRA, 더 많은 HARA 등) 로 이루어져 있다. 둘째, 시장에서 수동적인 유동성 제공자로서, 당신은 역행 선택의 위험에 직면할 것이다. 적극적인 유동성 수용자는 당신이 가지고 있지 않은 것을 알 수도 있고, 단지 당신보다 더 똑똑할 수도 있다. 이것은 기본적으로 시장에 무료 옵션을 판매하는 문제이다.
또한, 기계적 조작 차원에서도 시장 가격에 따라 주문되는 시장 주문은 시장 가격에 따라 요금하는 방식으로 가격을 낮추고, 가격에 따라 요금을 올리는 시장 주문은 시장 가격에 따라 요금을 내기도 한다. 어떤 거래의 정확한 순간에, 당신은 항상 잘못된 편에 서 있다. 게다가, 시장 상인으로서의 제안은 수동적인 시장 영향력을 발휘한다. 즉, 주문을 미완성된 오더북으로 보내는 행동은 적어도 시장에서 당신을 멀리하게 한다.
시장 수용자의 견해는 주문 흐름에 의해 나타난다. 깊이 함수로서 주문이 도착하는 부피와 무게의 빈도는 몇 가지 중요한 특성을 가져야 한다.
이 함수는 다음과 같습니다.
1) 감소,
2)
3) 깊이가 무한대로 0에 가까워짐에 따라, 어떤 공식들은 이러한 강도 함수가 두 번 연속적으로 미분될 수 있는 것을 필요로 하기 때문에 쉽게 처리될 수 있다. 이것은 세밀한 합리적인 가정이지만 결국에는 필요하지 않다. 또한, 주문책의 꼭대기에서 진흙의 깊이를 계산하는 방법 또는 진흙의 거리를 계산하는 것에 대한 다른 공식들은 있다. 당신은 보통 진흙의 합리적인 중간 가격 진흙이나 각 거래자의 최적의 가격을 사용할 수 있다. 이 두 가지 방법들 사이에 다른 중재가 존재하는데, 우리는 여기서 논의하지 않을 것이다.
이 외에도 불명확한 요소는
또한, 동일한 주문록 모양의 두 가지 사례를 감안할 때, 후자의 주문록의 가장 좋은 제안은 전자의 주문록의 가장 좋은 제안보다 더 낮은 공정한 가격을 나타낼 것이다. 또 다른 문제는 주문록의 역사가 중요하다는 것입니다. 중요한 경우, 우리는 가격 시간 또는 거래량 시간 측면에서 신중하게 관심을 가져야 하는가? 그렇다면 시장 유동성의 특성을 고려하여, 시장 거래자의 가장 좋은 제한 주문은 어디에 배치되어야 합니까? 만약 당신이 주문록의 맨 위에 있는 밀집 깊이라면, 당신의 심층 주문은 풍부할 것이지만, 매번은 거의 없을 것입니다. 만약 당신이 주문록의 맨 아래에 있는 밀집 깊이라면, 당신의 심층 주문은 희박할 것이지만, 매번은 많을 것입니다.
이것은 실제로 단일 전 세계 최대값을 가진
오더 도착 강도와 깊이에 대한 (https://arxiv.org/pdf/1204.0148.pdf)
다른 마켓가들의 견해는 이 주문책에 의해 대표된다. 주문책은 다른 마켓가들의 정보를 드러낸다. 주문책의 꼭대기에 가까운 구매가격이 판매가격보다 더 많다는 것은 다른 마켓가들이 구매하기보다는 판매하기를 더 선호한다는 것을 나타낸다. 이러한 마켓가들은 이미 많은 불균형된 재고가량이 존재할 수도 있고, 또는 그들은 단지 가격이 단기간에 상승하기보다는 하락할 가능성이 더 있다고 생각한다. 어떤 경우든, 마켓가로서 당신은 그림의 주문책의 편차에 따라 제안을 조정할 수 있다.
또한, 시장상가들이 서로 경쟁할 때, 가격 점프가 작다면, 당신은 종종 이러한
이 글은 유니폼을 입고 있습니다.http://parasec.net/transmission/order-book-visualisation/
마지막으로, 장기적으로 지향된 신호는 시장 알고리즘에 포함될 수 있으며, 시장 알고리즘의 목표는 재고를 평평하게 유지하거나 일정하게 유지하는 것이 아니라 장기적인 목표와 그에 따른 오차를 고려하여 현실화하는 것입니다.
속도는 두 가지 주요한 이유로 중요합니다. 첫째, 취소하기 전에 거래 주문서에 있는 주문을 취소할 수 있습니다. 둘째, 거래가 완료되기 전에 주문서에 있는 주문을 취소할 수 있습니다. 다시 말해, 당신은 거래와 취소에 대해 항상 주도권을 갖고 싶어합니다.
일반적으로 원칙적으로 속도에서 가장 많은 이익을 얻는 전략은 논리를 판단하는 가장 간단한 전략이다. 어떤 복잡한 논리도 반드시 돌아가는 시간을 늦추게 된다. 이러한 복잡한 유형의 알고리즘 전략은 거래 세계에서의 F1의 경주이다. 데이터 검증, 보안 검사, 하드웨어 설정, 배열 방식 등은 모두 속도를 위해 박탈될 수 있다. OMS, EMS 및 PMS 프로젝트의 조합 관리 시스템을 건너뛰고, GPU를 계산하는 논리를 같은 위치에 있는 거래소의 이진 API 인터페이스에 직접 연결한다. 빠르고 위험한 게임이다.
또 다른 종류의 속도 민감한 전략은 상대적인 통계적 이득 전략이며, 서버는 실제로 단일 거래소와 함께 사는 것이 아니라 여러 거래소 사이에 위치한다. 그들은 단일 거래소에서 가장 빠른 데이터를 얻을 수는 없지만 다른 모든 전략보다 먼저 가격을 얻고 관련 및 협동 데이터에 대해 행동 할 수 있다.
속도 게임에서는 승자가 먹는다. 가장 간단한 예에서는 승률이 있는 경우, 승률을 먼저 얻을 수 있는 사람이라면 누구나 이익을 얻는다. 두 번째 사람은 빵을 먹으며, 세 번째 사람은 아무것도 얻지 못한다. 이익은
속도 게임은 또한 경쟁이다. 모든 사람들이 광섬유 네트워크에서 마이크로파 또는 레이저 네트워크로 업그레이드되면 모든 사람들이 공평한 경쟁 환경에 돌아갑니다.
대부분의 메이치 오더 엔진은 가격 우선, 그리고 시간 우선을 따릅니다. (비례 매칭은 덜 흔한 대안이지만 우리는 지금 이것을 고려하지 않습니다.) 더 낮은 가격의 제한 주문이 실행되기 전에 더 나은 가격이 실행됩니다. 동일한 가격의 제한 주문에 대해 이전에 전송된 주문은 나중에 전송된 주문보다 먼저 실행됩니다.
바이낸스는 주문을 최대 8자리 소수로 분해한다. 거래 가격이 0.000001인 경우, 0.00000001의 가격은 거래의 1%이다. 거래 가격이 0.0001인 경우, 0.00000001의 가격은 1bps (즉, 점프) 이다. 이것은 큰 차이이다. 전자의 경우 큰 주문을 건너뛰는 데 전체 포인트가 소요되므로 시간 우선 순위가 더 중요하며, 후자의 경우 100배 더 저렴하므로 가격 우선 순위가 더 중요합니다.
즉, 거래 우선 순위를 얻기 위해 전체 금액의 1%를 지불해야 한다면, 상대적으로 더 많은 금액을 지불하면서 상대적으로 적은 수의 거래가 이루어질 가능성을 높이기 때문에 가치가 없을 수도 있고, 대기열이 더 나은 선택일 수도 있지만, 거래 우선 순위를 얻기 위해 1bps만 지불해야 한다면, 그렇게 할 수 있습니다. 왜냐하면 당신은 상대적으로 작은 인치 비용을 줄이고 상대적으로 많은 거래의 확률을 높이기 때문입니다.
이것은 자연히 다음 질문을 불러일으킨다: 당신의 대기열 위치에 대한 가치는 무엇입니까?https://moallemi.com/ciamac/papers/queue-value-2016.pdf)
주문책에 있는 거래의 수를 줄이는 두 가지 방법 밖에 없다. 즉, 자동적으로 취소되거나, 거래가 완료된다. 만약 거래 과정에 의해 감소가 발생한다면, 이 가격 이외의 다른 모든 가격도 거래 과정에 의해 감소한다. 우리는 순서로 분류하여 이러한 거래 기록들을 분류하고, 거래가 완료되거나, 취소된 것으로 각 감소량을 표시할 수 있다.
직관적으로 거래는 양측이 특정 가격에 거래하기로 동의하는 것을 의미하고 취소는 양측이 특정 가격에 더 이상 구매하거나 판매하기를 원하지 않기로 결정한다는 것을 의미합니다. 따라서, 겉으로 볼 때, 우리는 최고의 가격으로 취소하는 것이 시장 가격이 단기간에 하향으로 이동하고 거래 가격이 따라갈 것이라는 매우 강력한 신호라고 말할 수 있습니다.
한편, 주문부에서 가격이 상승하기 시작하면 한 가지 가능성이 있습니다: 남은 제한 주문을 증가시키는 것입니다.
주문책의 증가와 감소는 시장 참여자의 개인 의지를 보여줍니다. 따라서 단기 가격 움직임의 신호를 제공합니다.
현재 대부분의 가격 인덱스는 여러 거래소에서 거래 데이터를 얻고 거래량-중량화 된 평균 가격을 얻기 위해 그것들을 결합합니다. 특히, 트레이드블록 인덱스는 거래소 무게를 증가시키는 처벌 메커니즘을 제공합니다. 거래소 무게는 비활성 및 가격이 너무 멀리 떨어져있는 모든 거래와 밀접한 관련이 있기 때문입니다. 그 외에도 우리가 개선 할 수있는 것은 무엇입니까?
GDAX에서 메이커 수수료는 0 베이스포인트, 타커 수수료는 30 베이스포인트이다. 예를 들어, 거래가 $4000/BTC로 표시되는 경우, 판매자가 판매가 $4000/BTC로, 구매자가 구매가 $4012/BTC로 판매된다. 이 거래의 합리적인 가격은 실제 표시가 아닌 $4006/BTC에 가깝아야 한다. 한편으로, 비트렉스의 25bps 수수료는 동시에 메이커와 타커에 적용되기 때문에 실제 가격은 표시가 된다. 즉, $4000/BTC의 표시가 실제로 구매자가 4010/BTC로 구매하고 판매자가 평균 가격인 $3990/BTC로 판매하는 것이다.
따라서 가격 발견의 관점에서 거래 기록의 가격은 거래소 간의 직접적인 비교가 불가능하며, 가격 지수를 구성한 후 상술한 상황을 고려한 후에 표준화되어야 한다. 물론, 거래량에 따라 발생하는 다른 수수료의 복잡한 요소가 있다. 예를 들어, 일부 거래소가 거래량 크기에 따라 타커와 메이커 수수료를 설정하고 부과하는 것과 같이. 이것은 또한 두 가지 흥미로운 추론을 암시한다.
첫째, 가격 발견은 제한적이며, 어떤 면에서 동시에 거래소 간의 메이커와 테커 수수료에 대한 비대칭성을 강화한다. GDAX의 대부분의 계정이 0/30 베이스 포인트의 메이커와 테커 수수료 차원이며 GDAX가 BTCUSD 주문부서에 일반적으로 1 페니의 차이를 가지고 있다고 가정하면, 제안에 표시되는 각 거래의 가격은 약 1p의 공정한 가치 오차이며, 현장과 거래 당보다 15포인트 높고, 그 사이에 표시되는 가격은 약 1p의 공정한 가격 오차이다. 따라서 평온기 동안의?? 공정한 가격 오차는 두 포인트 사이에 빠르게 변하고, 그 사이의 가격은 추가적으로 세분화되지 않은 것으로 나타난다.
GDAX 주문번호부
둘째, 생산자와 소비자 사이의 세금 관계와 마찬가지로, 제작자와 수령자 사이에 비용 발생률에 있어서 어느 정도의 평등이 존재한다. 만약 당신이 제작자에게 상대적으로 더 많은 비용을 부과한다면, 그들은 주문록을 확장하고 어떤 비용을 수령자에게 전달할 것이다. 만약 당신이 수령자에게 상대적으로 더 많은 비용을 부과한다면, 제작자는 주문록을 좁히고 어떤 비용을 수령자에게 흡수할 것이다.
여기서 극단적인 사례는 당신이 메이커를 너무 좋아해서 주문부서가 점점 차이에서 가격으로 밀려나는 것입니다 (GDAX에서 흔히 볼 수 있는 것처럼) 그리고 주문부서가 더 이상 밀려있지 않게 됩니다. 따라서 추가적인 비용은 이제 수익 손실이 되고 거래소 자체에 귀속됩니다.
이 극단적인 예제를 제외하고는, 어느 쪽에서 수수료가 중요하지 않은지 볼 수 있으며, 타커와 메이커 비용의 합이 중요하다는 것을 알 수 있다. 결국, 라퍼 커브인 세금 정책과 마찬가지로, 거래소는 수수료 정책의 수익 최적화 문제에 직면하게 된다. 우리는 수익 수익과 세금 정책이 동일하다는 것을 볼 수 있다. 거래소가 수수료를 100% 부과하지 않으면 그들은 수익을 얻지 못한다. 거래소가 수수료를 100% 부과하면 거래가 없으며 따라서 그들은 수익을 얻지 못한다. 몇 가지 추가 연구를 통해, 항상 수수료 수준에 있는 교환 수입이 유일한 최대 값의
이름의 정의: 라퍼 커브 (((https://en.wikipedia.org/wiki/Laffer_curve)
미완성
설교아주 훌륭한 기술입니다.