Post

(인프라 1) HTS/MTS로 하는 전산 매매의 과정 자세히 살펴보기

HTS/MTS로 주식을 매매할 때 시세 수신부터 주문 체결까지 어떤 일이 일어나는지 네트워크 흐름을 따라가며 살펴봅니다. FEP, BEP, 시세서버, 주문서버, 원장의 역할과 증권사 매매 시스템 전반의 구조를 설명합니다.

(인프라 1) HTS/MTS로 하는 전산 매매의 과정 자세히 살펴보기

이 글은 매매 시스템 - 인프라 시리즈의 첫 번째 글입니다.

다음 글: FEP와 BEP - 메인프레임 시대에서 온 용어

HTS/MTS로 매매를 할 때 무슨 일이 일어나는지 한번 살펴보죠.

화면을 열면 소위 말하는 호가창이 보입니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
┌─────────────────────────────────────────┐
│           xxxxxxx Electronics           │
│              81,500 (+2.3%)             │
├─────────────────────────────────────────┤
│    Sell Volume    │ Price  │ Buy Volume │
├───────────────────┼────────┼────────────┤
│            1,234  │ 81,800 │            │
│            2,567  │ 81,700 │            │
│            3,891  │ 81,600 │            │
│            5,432  │ 81,500 │            │  <-- Current
│            1,876  │ 81,400 │            │
├───────────────────┼────────┼────────────┤
│                   │ 81,300 │ 2,345      │
│                   │ 81,200 │ 4,567      │
│                   │ 81,100 │ 3,210      │
│                   │ 81,000 │ 6,789      │
│                   │ 80,900 │ 1,543      │
├─────────────────────────────────────────┤
│ Open: 80,200  High: 81,800  Low: 80,100 │
│ Volume: 1,234,567                       │
└─────────────────────────────────────────┘

이런 화면에서 숫자가 바뀌고 오르락내리락 합니다. 옆에는 등락률, 시가, 고가 등 여러 가지 숫자가 보이고요. 이렇게 시각화된 모든 것들은 네트워크를 통해 전송되는 문자열들을 분해하고 해석하고 조합해서 눈에 보기 좋게 보여준 결과입니다.

이번 글에서는 시세를 받고, 시세를 보고 주문을 냈을 때 그것이 다시 우리에게 시세로 보이는 과정까지의 흐름을 설명하려고 합니다. 그 과정을 이해하면

  • 뺄 수 있는 부분은 빼서 빠르게 만들고
  • 비효율적인 부분은 개선하고
  • 우리도 똑같이 만들어야 하는 부분은 구현하고 (예: 호가창, 오더북)
  • 시스템 자체에는 안 보이지만 꼭 필요한 EDA, 백테스트

전반적인 과정을 저는 매매 시스템 설계라고 정의하고 있습니다.

현재 HTS/MTS의 동작 흐름

자, 일단 우리가 직접 설계하지 않았을 때 어떤 일이 일어나는지 살펴볼까요? 용어 설명은 밑에서 하겠습니다.

시세 수신

flowchart TB
    subgraph BUSAN [부산]
        ME_D[<b>KRX 파생</b><br>EXTURE+]
    end
    subgraph YEOUIDO [여의도]
        ME_S[<b>KRX 현물</b><br>EXTURE+]
        KOS[<b>코스콤</b><br>시세 분배<br>KT IDC]
    end
    subgraph SECURITIES [증권사]
        QFEP[<b>시세 FEP</b>]
        QS[<b>시세서버</b>]
        BEP1[<b>BEP</b>]
    end
    ME_D --> KOS
    ME_S --> KOS
    KOS --> |STOCK-NET| QFEP
    QFEP --> QS
    QS --> BEP1
    BEP1 --> |인터넷| HTS[<b>HTS/MTS</b>]
    style BUSAN fill:#ffd700,color:#000,stroke:#333
    style YEOUIDO fill:#ffd700,color:#000,stroke:#333
    style SECURITIES fill:#e0e0e0,color:#000,stroke:#333
    linkStyle default stroke:#000

주문 송신

flowchart TB
    subgraph SECURITIES [증권사]
        BEP2[<b>BEP</b>]
        OS[<b>주문서버</b>]
        LED[<b>원장</b>]
        OFEP[<b>주문 FEP</b>]
    end
    subgraph YEOUIDO [여의도]
        ME_S2[<b>KRX 현물</b><br>EXTURE+]
    end
    subgraph BUSAN [부산]
        ME_D2[<b>KRX 파생</b><br>EXTURE+]
    end
    HTS2[<b>HTS/MTS</b>] --> |인터넷| BEP2
    BEP2 --> OS
    OS --> LED
    LED --> OFEP
    OFEP --> |STOCK-NET| ME_S2
    OFEP --> |STOCK-NET| ME_D2
    style BUSAN fill:#ffd700,color:#000,stroke:#333
    style YEOUIDO fill:#ffd700,color:#000,stroke:#333
    style SECURITIES fill:#e0e0e0,color:#000,stroke:#333
    linkStyle default stroke:#000

위는 시세가 우리에게 오는 흐름, 아래는 주문이 거래소로 가는 흐름입니다.

참고: KRX 현물(주식, 채권) 매칭엔진은 여의도, 파생(선물, 옵션) 매칭엔진은 부산에 있습니다. 그러나 시세 분배는 여의도 코스콤 (여의도 KT IDC)을 거쳐 증권사로 전달됩니다. 부산 코로케이션 고객은 부산에서 직접 시세를 받아 더 빠른 레이턴시를 확보할 수 있습니다.


용어 설명

  1. FEP/BEP: 다음 글에서 설명합니다. 메인프레임 시대 이야기를 좀 해야 합니다.
  2. STOCK-NET: 1991년 10월 가동된 금융투자업계 공동 전용 통신망. 코스콤이 운영하며 한국거래소, 금융투자협회, 증권/선물사, 기관투자가 등을 연결합니다. 인터넷이 아닌 전용망이라 보안과 속도 면에서 유리합니다.
  3. 시세서버: 코스콤/시세FEP로부터 받은 시세 데이터를 편집/가공하는 서버. 호가 정렬 등을 수행하고 BEP를 통해 HTS/MTS에 전달합니다.
  4. 주문서버: 고객 주문이 거래소로 나가기 전에 원장을 조회하여 본인확인, 계좌유효성, 증거금 등을 확인하는 서버. OMS 설계에서 자세히 다룹니다.
  5. 원장: 고객 계좌의 원본 데이터를 보관하는 시스템. 잔고, 예수금, 증거금, 보유 종목 수량 등 실제 데이터가 여기 있습니다. 계정계의 핵심입니다.
  6. 코스콤 IDC: 코스콤이 운영하는 데이터센터. 여의도 메인센터(현물, 시세 분배)와 부산 Proximity DC(파생, 저지연 코로케이션)가 있습니다. 부산 IDC는 KRX 파생 매칭엔진에서 100m 이내에 위치해 저지연 환경을 제공합니다.

정리

HTS/MTS로 매매할 때 일어나는 일을 정리하면:

  1. 시세 수신: KRX → 코스콤 → 시세FEP → 시세서버 → BEP → HTS/MTS
  2. 주문 송신: HTS/MTS → BEP → 주문서버 → 원장 → 주문FEP → KRX

이 흐름에서 빼거나 단축할 수 있는 구간을 찾으면 속도가 빨라집니다.


다음 글에서는

다음 글에서는 FEP/BEP라는 용어가 어디서 왔는지, 왜 아직도 쓰는지 알아보겠습니다.

This post is licensed under CC BY 4.0 by the author.