Introduction to TCA

해외의 알고 트레이딩 시장에 대한 여러가지 뉴스가 알려지기 시작하면서 TCA (Transaction Cost Analysis) 에 대한 관심도 높아지고 있는 것 같습니다. 최근 국민연금의 브로커 선정 문제와 관련하여 Transaction Cost Analysis 이슈를 제가한 분도 계십니다. 증권사에서도 해외 클라이언트를 위한 알고 시스템 도입시 반드시 검토해야할 부분이기도 합니다. 개인적으로 우리나에서도 혹시(?) 알고 시장이 열리게 되면 가장 우선적으로 성장할 분야라고 생각하고 있습니다.

이를 대비하기 위해 TCA 에 대해 지금까지 조사한 내용의 일부를 정리하였습니다. 우선 본 글에서 개괄적인 내용을 설명한 후, 추후 세부적인 내용들에 대한 글을 추가하도록 하겠습니다.


참고문헌

본 글에서는 다음의 문헌들을 주로 참고하였습니다.


Transaction Cost

TCA는 주식을 거래하면서 발생하는 비용에 대한 분석입니다. 거래 비용이라고 하면 보통 브로커에게 지불하는 brokerage fee와 주식 매도시 내는 거래세를 생각합니다. 개인들이 소규모로 주식을 매매할 경우에는 여기에 대한 고려만 해도 문제가 없습니다. 그러나 대규모의 주식 매매나 대규모 포트폴리오 implementation & rebalancing 시에는 이 외에도 여러가지 비용으로 고려할 사항들이 발생합니다.

이러한 비용들은 크게 Explicit CostImplicit Cost로 나뉘고 Explicit Cost도 Direct Explicit Cost, Indirect Explicit Cost로 나눌 수 있습니다. 보통 각 카테고리별로 고려되는 비용 사항들을 다음 표에 나타난 것과 같습니다.

Explicit Transaction Cost 매매 전략 및 시장과 직접적인 관련이 없는 비용
Direct Explicit Transaction Cost 매매전 계산 가능한 비용
Brokerage Commission 브로커 중개 수수료
Market Fees 거래소 비용
Clearing & Settlement Cost 청산비용
Custodian Charge 수탁업무비용
Tax / Stamp Duties 세금
Indirect Explicit Transaction Cost 매매과정의 업무 실패로 발생할 수 있는 비용
Operation Risk Cost operation 실패 비용
Counterparty Risk Cost default 시의 비용
Implicit Transaction Cost 매매 전략 및 시장과 직접적인 관련을 가지는 비용
Bid-Ask Spread 매수 매도 호가 차이
Market Impact liquidity 부족 및 information leakage로 인한 시장 충격
Opportunity Cost 매매 타이밍 손실 등

Explicit Cost는 보통 우리가 거래 비용이라고 생각하는 부분입니다.

  • Brokerage Commission
    • 브로커에게 내는 비용입니다. 우리나라에서는 보통 거래금액에 비례하는 basis point fee를 냅니다만 북미에서는 기본적으로 거래 주식수 혹은 거래 횟수에 대해 비용을 지불합니다. 잘 생각해 보면 업무적이나 IT적인 비용의 측면에서 거래 횟수에 대한 비용을 내는 것이 사실 가장 합리적입니다. 물론 브로커에 따라 다양한 commission package가 존재합니다.
  • Market Fees
    • 우리나라에서는 브로커 비용에 거래소 회원비가 포합됩니다만 복수의 거래소를 가지고 있는 외국에서는 브로커 비용과 별도록 거래소 사용료를 지불해야 합니다. 물론 거래소 라이센스를 거래할 수 있는 민간 거래소의 경우 라이센스가 있으면 라이센스 레벨에 따라 거래소 비용은 달라집니다.
  • Clearing & Settlement Cost
    • 거래소가 clearing의 역할을 동시에 수행하는 것이 보통이지만 clearing에 대해서 외부 기관을 이용하는 경우도 있습니다. 국내에서는 예탁결제원이 Settlement 기능을 수행합니다. 일본에서는 작년 7월부터 일본증권청산기구(JSCC)에서 PTS 매매의 청산을 맡고 있습니다.
  • Custodian Charge
    • 각종 수탁업무에 대한 비용
  • Tax
    • 세금

Indirect Explicit Transaction Cost는 문헌에 따라 Transaction Cost에 포함하기도 하고 포함하지 않기도 합니다. FRM 공부를 하셨던 분이면 Operation Risk 비용에 대해 잘 아실 것 같습니다.

Implicit Transaction Cost가 바로 TCA에서 주로 다루는 내용이 되겠습니다. 이는 시장에서 매매과정중에 발생하는, 미리 계산하기 힘든 비용으로 눈에 잘 보이지 않거나 지금까지 정량적으로 고려되지 않던 비용입니다.

  • Bid-Ask Spread
    • 매수 매도 호가 차이입니다. 최우선 매수 매도 물량보다 작은 량을 거래할 경우에는 최우선 매수 매도 호가가 주로 문제가 됩니다만 그렇다고 최우선 매수 매도 호가가 그대로 bid-ask spread cost라고 할 수 있는 것은 아닙니다. limit order가 같이 사용하는 전략에서는 order flow rate과 최우선 매수 매도 호가가 같이 영향을 미칩니다.
  • Market Impact
    • 거래하고자 하는 총 물량이 평균적인 최우선 매수 매도 물량보다 커지면 Market Impact 문제가 발생합니다.
    • Market Impact에는 매매 시점에 order book에 걸려있는 잔량에 의한 temporary impact와 대규모 거래로 인한 information leakage 때문에 발생하는 permanent impact로 나눌 수 있습니다.
  • Opportunity Cost
    • 대규모 펀드의 투자집행 과정은 내/외부적으로 많은 프로세스를 거쳐 집행되게 됩니다. 이 과정에서 매매 시점이 늦어지면서 초기 의사결정시에 가능했던 투자 수익이 감소되는 경우가 발생할 수 있습니다. TCA에서는 이를 Opportunity Cost라고 합니다. (우리가 경제학에서 말하는 Opportunity Cost와는 다릅니다.)

Transaction Cost Analysis 의 필요성

그러면 이러한 TCA를 수행하게된 이유는 무엇일까요?

앞서 국민연금 브로커 이야기가 있었지만 일단 buy-side에서는 주문을 집행하는 브로커를 평가할 객관적이고도 정확한 기준에 대한 필요성이 발생합니다. 또한 정량적으로 포트폴리오를 구축하거나 재구성할 때에도 각 시장 및 주식에 따른 집행비용을 고려하여 최적 포트폴리오를 구성하려면 여기에 대한 정보가 필요합니다. (Optimal Portfolio Management with Transaction Costs). 그리고 transaction cost를 감소하는 것 자체가 펀드의 수익을 증가시키는 큰 요인의 하나입니다. 우리나라와 같이 펀드의 변동성이 크고 비용부문에 대한 관심이 적은 경우에는 buy side에서 여기에 대해 큰 신경을 쓰는 것 같이 않습니다만 같은 카테고리의 펀드가 엄청난 경쟁을 하고 있는 선진시장의 경우 transaction cost는 카테고리내 펀드 순위를 결정짓는 큰 요인입니다.

증권사와 같은 sell-side에서는 이와 달리 가장 큰 이유가 규제적인 필요성입니다. 일반적으로 브로커는 최선의 집행의무(Obligation of Best Execution)를 집니다. 사실 best execution 이란 개념은 굉장히 모호합니다. 또한 단일 거래소를 가진 우리나라에서는 좀 동떨어진 이야기이지만 거래소가 많아지게 되면 Best Execution에 대한 구체적인 기준이 달라지게 됩니다. 따라서 미국과 유럽에서는 각각 Regulation NMS, MiFID 와 같은 규정에 있는 Best execution 개념에 대해 유동성을 포함한 best execution 가이드라인을 제시하였습니다. 유럽 Mifid를 예로 들자면 retail investor와 professional investor에 대해 기준이 다른데 retail investor는 가격만을 기준으로 삼기때문에 multiple trading venue에 대한 고려만 하면 되지만 professional investor의 경우, 다음과 같이 유동성을 포함한 모든 과정을 기준으로 삼고 이에 대해 systemic process & document 를 갖출것을 요구합니다.

Mifid Level 1, article 21
Obligation to execute orders on terms most favourable to the client Member States shall require that investment firms take all reasonable steps to obtain, when executing orders, the best possible result for their clients taking into account price, costs, speed, likelihood of execution and settlement, size, nature or any other consideration relevant to the execution of the order. Nevertheless, whenever there is a specific instruction from the client the investment firm shall execute the order following the specific instruction.

따라서 TCA는 필수적 요소가 됩니다. 당장 trading venue를 고려한 size allocation시에 거래소 마다 현재의 호가도 다르지만 소화할 수 있는 유동성 등도 다르기 때문에 이러한 유동성 등을 모두 고려하여 best execution을 하려면 TCA가 필요하기 때문입니다.


Transaction Cost Analysis 의 종류

그러면 실제로 TCA는 어떻게 하는 것인가를 보면 크게 다음과 같은 해석을 수행합니다. (모든 TCA가 이 네가지를 모두 한다는 이야기는 아닙니다.)

  • Post-Trade Analysis
    • Transaction Performance Assessment
    • Transaction Cost Component Measurement
  • Pre-Trade Analysis
  • Real-Time Cost Monitoring and Algorithm Switching

이 순서는 TCA의 역사적인 발전순에 따른 것입니다. 과거에는 TCA라고 하면 브로커리지 트레이딩에서 거래단가 계산이 사실 전부였습니다. 문헌들에 따르면 미국에서도 1980년대까지 이러한 수준이었다고 합니다.

Post-Trade Analysis

Transaction Cost 를 줄이기 위한 첫번째 노력은 performance assessment 입니다. 수많이 이루어지는 거래집행에 대해 각각의 비용치 비교입니다. 이를 위해 benchmark comparison methodology 가 만들어 졌습니다. 시장 상황등을 일부 고려한 특정한 기준가격과 실제 거래단가를 비교하여 normalizing을 하려는 목적을 가지고 있습니다. benchmark으로 많이 쓰이는 것들은 다음과 같습니다.

  • Simple benchmarks
    • T-1 Close
    • T Open
    • T Close
    • Ask/Bid/Last/Mid
  • Simple intraday benchmarks
    • Open/Close/High/Low
    • Midpoint HL
  • Average-type intraday benchmarks
    • VWAP (Volume Weighted Average Price)
    • Available VWAP
    • interval VWAP
  • Implement Shortfall
  • RPM (Relative Performance Measure)

가장 많이 쓰이는 benchmark 중의 하나는 VWAP입니다. VWAP은 비교적 robust하고 실제 매매에서 이를 beating하기가 비교적(?) 쉽지만 performance 측정의 측면에서 mis-lead할 우려가 있습니다.
Implement Shortfall은 이와 달리 투자 집행 과정에서 발생하는 paper 포트폴리오와 실제 포트폴리오 수익의 차이를 비용으로 인식하는 것입니다. RPM은 Kisssell 이 제안한 것으로 실제로 트레이더가 집행한 매매가 시장의 전체 매매중에서 어느정도 잘한 것인가를 상대적으로 나타내는 지표입니다. 자세한 수식은 추후 위키에 올릴 예정입니다.

Pre-Trade Analysis

Pre-Trade Analysis는 매매 집행 이전에 어느 정도의 비용이 나올 것인가를 예측하는 작업입니다. 당연히 가장 어려우며 많은 데이타와 모델이 필요한 TCA의 핵심부라고 할 수 있습니다.
Pre-Trade Analysis에는 두 가지 접근 방식이 있습니다.

  • Purely Empirical Approach
  • Analytic Model Approach

Purely Empirical Approach는 과거의 집행 기록으로부터 통계적으로 미래의 비용을 유추하는 방식입니다. 자료의 양과 질이 충분하다면 정확도 면에서는 좋은 방법이라고 볼 수 있습니다. 그러나 TCA를 위해 축적한 자료가 부족한 경우에는 사용이 불가능합니다. Analytic Model Approach는 structural model을 사용하는 방식입니다. 가장 쉽게 구할 수 있는 모델은 Kissell의 책에 있는 것입니다. 이 책은 사실 전체가 Pre-Trade Analysis를 위해 씌여졌다고도 볼 수 있습니다.

Kissell의 방법론에 따르면 전체 코스트 계산을 위한 가격 모델을 다음과 같이 가정합니다.

(1)
\begin{equation} P_t = P_{t-1} + U_t + K_t + E_t \end{equation}
  • $P_{t-1}$ 과거 가격
  • $P_t$ time t의 가격
  • $U_t$ price_appreciation
  • $K_t$ market impact
  • $E_t$ opportunity cost

여기에서 market impact cost 는 거래가 매수인가 매도인가에 따라 단일한 방향을 가지는 값으로 계산되고 price volatility (opportunity cost) 는 리스크에 따른 변동폭(standard deviation)으로 계산됩니다.
market impact cost 에 대해서는 여러가지 structure의 시장에 대해 다양한 empirical model 이 있으므로 대상이 되는 시장에 대한 모델을 구하거나 원하는 모델이 없는 경우, 다른 시장의 방법론을 이용하여 스스로 맞는 모델을 구하고 calibration을 해야 합니다. Kissell의 경우 시간 간격에 대한 volume unbalance를 입력변수로 하는 간단한 형태의 empirical 모델을 사용하고 있습니다. 제가 현재 하고 있는 작업 중의 하나가 한국 선물/주식 시장에 대해 실용적으로 사용가능한 market impact 모델을 구하는 것입니다. 물론 이러한 모델을 실제로 사용하기 위해서는 장기간의 자료를 축적하고 이를 calibration하는 과정이 선행되어야 합니다.

opportunity cost는 가격 변동성과 stochastic order flow로 인한 liquidity 변동성을 고려한 코스트 변동성입니다. 여기까지 모델이 구현되었다면 다음은 scheduling 입니다. scheduling은 실제로 구간 별로 얼마 만큼의 수량을 거래할 것있가에 대한 계획으로 scheduling이 있어야 실제 transaction cost의 예상치와 변동치가 나오게 됩니다.

scheduling 에 대해서도 optimal control theory를 이용한 많은 연구가 제시되고 있지만 보통 TCA 엔진들은 대표적 scheduling 모델을 가지고 사용자가 집행 우선도에 따라 선택하도록 합니다. 예를 들어 ITG ACE (Agency Cost Estimator)의 경우 다음과 같은 scheduling 모델을 가진다고 합니다.

  • The instance strategy
  • The uniform strategy
  • The VWAP strategy
  • The VWAP strategy by participation rate
  • The optimal strategy

optimal strategy는 주어진 목표에 따른 최적의 schedule을 스스로 계산하는 것을 말합니다. 최적화 기준은 여러가지가 있을 수 있습니다만 주로 지정된 opportunity cost 한도 혹은 weight에서 market impact가 가장 작아지는 최적화를 합니다. 최적화 과정을 거치면 최종적으로는 Efficient Trading Frontier 커브를 계산할 수 있습니다.

Real-Time Cost Monitoring and Algorithm Switching

intraday seesion 중에 post-trade analysis를 계속 update하는 것은 TCA에서 빠질 수 없는 부분입니다. 그런데 최근의 TCA 시스템들은 intraday seesion 중에도 post-trade analysis update뿐이 아니라 남은 세션에 대해 parameter calibration 및 pre-trade analysis를 실시간으로 수행하면서 algorithm switching을 하는 시스템도 있습니다. 차세대 TCA이라고 볼 수 있을 것 같습니다. 궁금하신 분들은

http://www.pipelinetrading.com/

의 white paper 들을 참조하시면 되겠습니다.