Finance

High Frequency Trading in a Limit Order Book

steloflute 2019. 10. 26. 22:19

출처: http://algomarket.wikidot.com/high-frequency-trading-in-a-limit-order-book

 

High Frequency Trading in a Limit Order Book - algomarket

Click here to edit contents of this page. Click here to toggle editing of individual sections of the page (if possible). Watch headings for an "edit" link when available. Append content without editing the whole page source. Check out how this page has evo

algomarket.wikidot.com

 

소개글

오늘은 market microstructure 이론으로부터 어떻게 trading model을 만들어 내는지 보기 위해
논문 한 편을 소개해 드리겠습니다.

NYU 교수인 MARCO AVELLANEDA 와 Cornell 교수인 SASHA STOIKOV 가 쓴 논문입니다. 아래에 AVELLANEDA 교수 홈페이지에 실린 논문 pdf를 링크 시켰습니다.

High-frequency trading in a limit order book

저번에 소개해드린 Irene Aldridge의 High-frequency trading : a practical guide to algorithmic strategies and trading system 이란 책에 나와서 유명해진(?) 논문입니다.

이 논문에서는 트레이더의 risk preference 계수, 변동성, 현재 포지션, order impact 계수 등을 이용하여 현재의 중간가격으로부터 위 아래로 매수 매도 호가를 어느정도 벌려 놓아야 하는지를 계산하였습니다.

일단 information theory 부분을 사용하지 않았기 때문에 실전 적용 가능성을 떨어지지만 출발점으로써 꽤 좋은 논문이라고 생각됩니다.

논문 전체는 아래에 요약하여 놓았지만 결론만 정리하면 아래와 같은 수식을 이용하여 호가를 계산한다는 겁니다.

(1)

δb=1γlog(1+γk)+12γσ2(Tt)(1q2)

(2)

δa=1γlog(1+γk)+12γσ2(Tt)(1+q2)

여기서 기호는 아래와 같습니다.

  • δb : 매수 호가 스프레드. 현재의 중간 가격과 매수 호가의 차이
  • δa : 매도 호가 스프레드. 매도 호가와 현재의 중간 가격의 차이
  • γ : 트레이더의 risk preference를 나타내는 계수. 0 이면 risk neutral 즉 수익 변동성이 커져도 상관안함. 이 계수가 커질수로 리스크에 민감해짐
  • k : order flow 계수, market buy volume에 대비하여 가격이 어느 정도 움직이는가와 limit order book에서 order flow shape의 형태를 나타내는 계수가 합쳐짐. order flow modeling을 통해 구함
  • σ : 가격 변동성
  • q : 현재 포지션, 한 주(계약)를 들고 있으면 +1, short이면 -1

트레이더의 risk preference 등은 설정에 의한 것이지만 order flow 모델링이 이루어지지 않으면 제대로 된 k 값은 구할 수 없을 것입니다.

이 논문은 information theory를 반영하지 않았기 때문에 그냥 현재의 중간값은 true value로 보고 있습니다.
좀 더 개량한다면 order flow 흐름으로부터 true value의 update값을 구하는 로직도 포함해야겠죠.

지금 이 로직의 성능을 back testing하는 코드를 만들고 있습니다. 완성이 되면 어떤 특성을 가지는지 보여드리도록 하겠습니다.

논문 요약본

Fold

Table of Contents

소개글

논문 요약본

Introduction

The model

The mid-price of the stock

The optimizing agent with finite horizon

The optimizing agent with infinite horizon

Limit orders

The trading intensity

The solution

Optimal bid and ask quotes

Asymptotic expansion in q

Numerical simulations


Introduction

  • limit order book 에서 최적의 매수 매도 호가 제시하는 전략 연구
  • 딜러의 리스크 요인
    • 인벤토리 (포지션) 리스크
    • informed trader로 부터 오는 비대칭 정보 리스크
  • 기초 논문
    • Ho & Stoll (1981) : 독점적 딜러의 호가 전략
    • Ho & Stoll (1980) : 경쟁상태 딜러의 호가 전략
  • 관련 논문
    • Bouchaud et al. 2002
    • Luckock 2003
    • Potters and Bouchaud 2003
    • Smith et al. 2003
    • Maslow and Mills 2001
    • Weber and Rosenow 2005
    • Gabaix et al. 2006
  • 관련논문의 핵심
    • zero-intelligence agent를 도입하여 market dynamics 재현
    • market order의 size distribution
  • 본 논문의 전제
    • 인벤토리 리스크만 다룸.
    • 비 독점 딜러
    • mid price를 true price로 가정
  • 중요한 것은 딜러에게 도달하는 buy and sell order flow의 arrival rate
  • 주요 결과
    • 2 step 방법으로 매수매도호가 계산
      • (1) 현재 포지션을 기반으로 indifference valuation 계산
      • (2) mid-price와 호가 간의 거리를 이용하여 체결 확률 계산
  • 논문 순서
    • section 2
      • mid-price dynamics
      • agent's utility objective
      • arrival rate as a function of the distance from the mid-price
    • section 3
      • optimal quote
      • reservation price of the agent
      • approximate solution
      • simulation

The model

The mid-price of the stock

(3)

dS=σdW

The optimizing agent with finite horizon

  • agent's object:
    • maximize the expected exponential utility of P&L profile at a terminal time T
  • convex risk measure
    • can define reservation (or indifference) prices which are independent of the agent's wealth
  • inactive trader
    • no limit orders in the market
    • inventory of q stocks until the terminal time T (frozen inventory)
    • value function

(4)

v(x,s,q,t)=Et[exp(γ(x+qST))]

* from the mid-price dynamics

(5)

v(x,s,q,t)=exp(γx)exp(γqs)exp(12γ2σ2q2(Tt))

wheres=St

  • reservation bid (ask) price : rb (ra)
    • the price that would make the agent indifferent between his current portfolio and his current portfolio plus (minus) one stock.
    • agent's subjective valuation
  • reservation : r
    • average of reservation ask price and reservation bid price

(6)

v(xrb(s,q,t),s,q+1,t)=v(x,s,q,t)

(7)

v(x+ra(s,q,t),s,q1,t)=v(x,s,q,t)

위 수식을 조합하면

(8)

ra(s,q,t)=s+(12q)γ2σ2(Tt)2

(9)

rb(s,q,t)=s(1+2q)γ2σ2(Tt)2

(10)

r(s,q,t)=sqγ2σ2(Tt)

The optimizing agent with infinite horizon

  • (omitted)

Limit orders

  • agent's quote: pb and pa
    • distance : δb=spb and δa=pas
  • market buy order of size Q :
    • pQ: the price of the highest limit order executed in this trade. Δp=pQs
    • if δa<Δp , ask order will be executed
    • sell rate λa(δa): decreasing function of δa
    • buy rate λb(δb): decreasing function of δb
    • accumulated sell quantity Nat : Poisson process dependent on λa(δa)
    • accumulated buy quantity Nbt : Poisson process dependent on λb(δb)
  • objective

(11)

maxδa,δbEt[exp(γ(XT+qTST))]

where

  • inventory process

(12)

qt=NbtNat

  • cash wealth process

(13)

Xt=padNatpbdNbt

The trading intensity

  • Limit order flow modeling factors
    • the overall frequency of market orders
    • the distribution of their size
    • the temporary impact of a large market order
  • Proposition 1 (arrival rate)
    • constant arrival rate Λ = total trading volume divided by the average size of market orders
  • Proposition 2 (order size)
    • order size distribution : power law
    • US stocks : α=1.53
    • NASDAQ stocks : α=1.4
    • Paris Bourse : α=1.5

(14)

fQ(x)x1α

  • Proposition 3 (market impact)
    • disagreement over how to define it and how to measure it
    • power proportional (Gabaix et al. 2006 or Weber and Rosenow 2005) or log proportional (Potters and Bouchaud 2003)

(15)

ΔpQβ

or

(16)

Δp=KlogQ

  • log intensity
    • log proportional case

(17)

λ(δ)=Aexp(kδ)

where A=Λ/α, k=αK
* power proportional case

(18)

ΔplogQ

The solution

Optimal bid and ask quotes

  • dynamic programming using HJB (Hamilton-Jacobi-Bellman)

(19)

0=ut+12σ2uss+maxδbλb(δb)[u(s,xs+δb,q+1,t)u(s,x,q,t)]+maxδaλa(δa)[u(s,x+s+δa,q1,t)u(s,x,q,t)]

(20)

u(s,x,q,t)]=exp(γ(x+qs))

using

(21)

u(x,s,q,t)=exp(γx)exp(γqθ(s,q,t))

we can get

(22)

0=θt+12σ2θss12σ2γθ2s+maxδb[λb(δb)γ(1exp(γ(sδbrb)))]+maxδa[λa(δa)γ(1exp(γ(s+δara)))]

(23)

θ2(s,T)=0

(24)

rb(s,q,t)=θ(s,q+1,t)θ(s,q,t)

(25)

ra(s,q,t)=θ(s,q,t)θ(s,q1,t)

finally,

(26)

δb=srb(s,q,t)1γ(1γλb(δb)λb/δ)δb)

(27)

δa=ra(s,q,t)s+1γ(1γλa(δa)λa/δ)δa)

  • Two step method
    1. solve θ and rb, ra
    2. solve δb, δa

Asymptotic expansion in q

  • linear approximation of θ
  • (omitted)
  • Result

(28)

δb=1γlog(1+γk)+12γσ2(Tt)(1q2)

(29)

δa=1γlog(1+γk)+12γσ2(Tt)(1+q2)

Numerical simulations

  • selection of time step
    • must be small enough so that the probability of multiple orders reaching our agent is small
    • must be larger than the typical tick time, otherwise cannot get any orders
  • simulation setting
    • T = 1
    • sigma = 2
    • dt = 0.005
    • q = 0
    • gamma = 0.1
    • k = 1.5
    • A = 140
  • Inventory model is better than the symmetric model
  • if γ0 (risk neutral), two models are identical