Arrowhead와 증권산업 구조조정

1.
동경증권거래소의 Arrowhead때문에 중소형 증권사가 퇴출되었다” 한국경제신문이 뽑은 기사 제목입니다.

‘개인 단타투자자의 무덤!”도쿄증권거래소(TSE)는 외국인의 배만 불려주려는 건가?’

일본 도쿄증권거래소 홈페이지 게시판은 8일 이 같은 개인 투자자들의 아우성으로 가득했다. 투자자뿐 아니라 중소형 증권사들의 퇴출 바람이 불고 있다. 작년 말 일본증권업협회 등록 회원사가 2006년 이후 처음으로 300개 밑으로 줄었고 올 들어서도 5개사가 더 문을 닫았다. 사태의 원인은 ‘애로헤드(Arrowhead)’ 탓이었다. 애로헤드는 작년 1월4일 가동을 시작한 도쿄거래소의 초고속 거래시스템이다.10년 만에 거래시스템을 전면 교체한 도쿄거래소의 애로헤드는 일본 증시에 초단타매매(HFT · high frequency trading)의 바람을 몰고 왔다. 외국계 증권사들의 “일본 증시 매매체결 시스템이 너무 느리다”는 비판을 수용해 주식매매 처리속도를 종전 2~3초에서 0.002~0.008초로 최대 600배 단축한 것이다.

초단타매매가 전체 거래량의 70% 이상인 미국에서 다이렉트에지(Direct Edge),배츠(BATS) 등 전용시스템을 들여왔다. 이를 이용한 초단타매매는 일본 내 온라인 주식 거래량의 30%를 차지한다.

먼저 된서리를 맞은 것은 개인 단타매매자들이었다. 개별 종목의 주가 움직임에 따라 샀다 팔았다를 반복해 왔지만 동일한 매매를 1초에 수백번씩 수행하는 초단타매매를 따라갈 수 없기 때문.김순구 히마와리증권 과장은 “단타거래를 하던 전업 투자자들이 주식거래를 그만두면서 거래량도 덩달아 줄고 있다”고 설명했다.

개인투자자 감소는 업계의 구조조정으로 이어졌다. 니혼게이자이신문에 따르면 중소형 증권사 다이세이증권이 설립 8년 만인 올 1월 영업을 중단했고,마루쿠니증권도 이달 문을 닫았다. 작년 4월에는 온라인 증권사 모넥스와 오릭스가 합병했고,업계 2위 미즈호증권도 미즈호인베스터즈증권과 통합을 논의 중이다.
초고속 매매 후폭풍…중소 증권사 잇단 퇴출중에서

사실일까요? 먼저 ArrowHead가 어떻게 구조를 가졌는지 알아보도록 하겠습니다.그동안 몇 번 Arrowhead를 소개하였지만 일본ITPro에서 최신 자료를 정리한 내용을 소개하도록 하겠습니다. 먼저 주식 매매체결시스템인 ArrowHead의 큰그림(Big Picture)입니다.

위의 그림은 Arrowhead의 데이타흐름흐름이다. 업무 관점에서 볼 경우, 주문처리과 약정계 처리으로 되어 있습니다. 주문계 처리는 주문을 받고 내용을 확인한 후 매매체결서버에 보내고 결과를 알리기까지의 과정입니다. 흔히 TSE가 밀리초를 지원한다는 말은 주문처리를 지칭합니다. 주문접수후 매도 주문과 매수 주문을 매칭시스템에 등록하고 그 결과를 통지하는 작업을 하는데 이를 약정계 처리라고 합니다.

시스템 구성은 “참가자 GW 서버” “주문 관리 서버” “트레이딩 서버”등으로 구성되면 모두 후지쯔의 IA 서버 “PRIMEQUEST”이고 OS는 Linux입니다.

그럼 Arrowhead가 Low Latency를 제공하는 시스템인 이유를 크게 다섯가지로 나누어 살펴보겠습니다. 아래 그림에서 번호로 표시된 부분입니다.

(1)모든 데이타를 Main Memory에서 처리 혹은 관리.
주문을 접수한 후 약정 결과를 통지하기 전까지는 디스크 I/O가 전혀 발생하지 않습니다. 디스크기록은 로그를 남기기 위해 약정 처리한 후 실시하고 있습니다. Arrowhead는 여러 응용 프로그램 프로세스로 구성되어 있으며, 프로세스간에 데이터를 전달할 때는 “Queue”를, 데이터를 저장할 때는 “테이블(Table)”을 사용하고 있습니다. 테이블은 관계형 DBMS는 아니지만, 데이터베이스기능을 제공하고 인덱스에 의한 고속 엑세스(Access)가 가능하다. Arrrowhead의 특징은 큐나 테이블이 메모리에 존재한다는 점입니다. Primesoft Server의 핵심기능입니다.위의 그림에서 Primesoft Server란 Arrowhead의 Framework라고 이해할 수 있습니다.

큐나 테이블에 이루어지는 작업은 트랜잭션으로 구현되어 있지만, 커밋해서 디스크에 기록하고, 노드간에 메모리 동기화(Primesoft Server의 기능 기능으로 데이터를 보호합니다.

(2) 비동기적인 Queue.
큐(Queue)는 비동기 데이터 통신을 하기 때문에 데이타처리를 위해 대기를 하지 않습니다. 동기화란 수신쪽 프로세스가 끝날 때까지 기다려야 다음 작업을 진행할 수 있습니다. 또한 데이타가 큐에 대기하고 있는지, 아닌지는 수신쪽 프로세스가 정기적이으로 폴링(Polling)으로 확인합니다. 이 때문에 지연의 원인이 되니다.

Arrowhead의 경우 큐에 데이타를 넣으면 데이터를 수신하는 쪽에 알려줍니다.(Primesoft Server의 기능으로 제공). 따라서 폴링이 불필요하고, 데이터 전달 지연이 발생하지 않아 후속 처리 신속하게 실행할 수 있습니다.

(3)UDP 기반의 고속 통신
노드 (서버) 간의 통신은 TCP가 아닌 간단한 프로토콜인 UDP를 기반으로 한 통신 방식을 사용하여 고속 통신을 실시할 수 있습니다. UDP는 TCP에 비해 신뢰성이 부족한 면이 있지만, Primesoft Server가 독자 기술로 보완하고 있습니다. 아마도 Reliable UDP를 채택한 듯 합니다.(* 개인의견)

(4)증권회사마다, 종목마다 병렬 처리
주문을 대량으로 빠르게 처리하기 위해 작업을 병렬화하여 프로세스간의 충돌이 발생하지 않도록 하는 것이 포인트입니다. 주문은 증권회사에서 보내 오므로 주문계 처리는 증권사단위로 병렬처리하는 것이 효율적입니다.

약정계 처리 매칭은 종목에 따라 독립적으로 수행할 수 있으므로 종목별로 병렬처리하는 것이 효율적이며, 주문 데이터를 종목별로 나눌 수 있으면 여러 작업을 병렬 실행할 수있습니다. 이런 노력의 결과가 “증권 회사별 주문큐”와 “종목별 주문큐”입니다.

증권 회사에서 들어오는 주문은 먼저 증권 회사별로 주문큐에 대기합니다. arrowhead는 큐에서 주문 데이터를 받아 종목별 큐로 보냅니다.(이것을 “처리축의 변환”이라고 부릅니다). 그러면 참가자 GW 서버, 주문 관리서버는 증권사마다, 거래서버=매칭서버는 종목별로 병렬 처리를 수행하여 대량 주문을 신속하게 처리할 수 있도록 하고 있습니다.

(5) 성능을 위한 품질관리정책
응용 프로그램 부분에도 관심을 두어 성능을 보장하기 위해 설계 가이드라인 및 코딩 규약 (아래 참조)를 작성했으며, 업무 로직의 재검토를 거듭하여 불필요한 논리를 배제했습니다.

3.
Low Latency와 관련된 부분을 알아보았습니다. 다음은 고가용성=HA(High Availibility)부분입니다. Arrowhead의 가용성은 99.999 %를 확보하고 있습니다. 기본적인 생각은 “매우 신뢰할 수 있는 기기로 시스템을 구축하는” 대신 “오류의 영향을 국소화된 시스템 전체 신뢰성을 담보하는 시스템”입니다.

증권 회사에서 주문을 보내는 데이터는 이중화한 네트워크를 통하여 Load Balancer에 도착합니다. Load Balancer는 참가자 GW 서버로 중계한다. 참가자 GW 서버, 주문 관리 서버,트레이딩 서버는 모두 중복 구성을 취하고 있습니다. 운영시스템을 이중화하였을 뿐 아니라 동일한 작업을 수행할 수 있는 대기시스템도 병행 운영합니다. 만약 운영시스템에 장애가 발생하면 대기 계가 임무를 수행 방식입니다. 따라서 arrowhead 는 3 노드 (서버) 구성을 취하고 있으며, 동시에 2 노드가 고장나도 계속할 수 있습니다.

이 때 포인트는 주문 관리 서버와 트레이딩 서버에 구축되어있는 데이타(큐 및 테이블)입니다. 앞에서 설명한 바와 같이, arrowhead은 기본적으로 모든 데이터를 메모리에 저장하여 처리합니다. 노드 장애 가정하면, 운영 프로세스가 액세스하고 대기열이나 테이블의 데이터는 사라져 버립니다. 즉, 대기시스템의 프로세스가 작업을 계속하려면 운영시스템 큐나 테이블에있는 데이터를 대기시스템이 복제하는 구조가 필요합니다. arrowhead에 데이터를 잃는 것은 치명적인 문제이므로, 확실한 데이터 동기화가 요구되었다.

데이터 동기화는 Primesoft Server를 이용하여 아래 그림과 같이하고있다. 운영 시스템의 큐이나 테이블에 기록이 커밋되면 (1), 대기 시스템에 로그를 보내고(2). 대기시스템의 Primesoft Server는 로그를 받고 다시 응답결과를 넘기고(3). 그런 다음받은 로그를 반영하여 로그 정보를 사용하여 큐 및 테이블 업데이트 (4). 운영 시스템 프로세스는 (4)의 처리를 기다리지 않아 고속성을 해치지 않도록 되어 있습니다.

4.
아래는 흔히들 놓치는 부분입니다. 프로젝트때 품질관리를 어떻게 하느냐에 따라 성능이 많이 좌우됩니다. 이와 관련하여 동경거래소는 아래와 같은 방식으로 품질관리를 하여 목표를 달성하였습니다.

빠른 속도 및 가용성에 대해서는 기술적인 연구 외에, 관리 프로세스를 실시했습니다. 이것은 도쿄 증권 거래소가 정한 요건 정의를 입력하고, 외부 설계 및 상세 설계, 제조 등 각 공정의 검토 평가 방법을 정하여 그 이행과 의견을 통해 PDCA 사이클을 도는 관리 과정입니다.

성능에 대한 관리 프로세스는 성능 요구 사항을 바탕으로 “성과 평가 모델”을 정하고, 프로젝트의 전 과정에 걸쳐 성능 치를 책상과 실측에서 확인. 목표치 간의 차이를 관리하고 설계에 대한 피드백을 수행하여 성능 요구 사항을 컨트롤했습니다.

첫째로 “성능관리 계획”을 결정했습니다 ( 아래그림 ). 그것은 성능 확보를위한 활동의 프로세스와 역할 분담을 정리하고있으며 관리 프로세스의 바이블이 됩니다.


성능을 점검하고 평가하는 데 사용하는 주요 문서는 “성능 평가 설계서”입니다. 여기에는 성능 평가 모델의 평가에 필요한 성능 기초 값이나 업무량 등의 조건, 설계상으로 추정 성능 값, 실체 결과값 등을 설명하고, 공정의 진행에 따라 개정을 거듭했습니다. 응용 프로그램, 미들웨어, 통신의 각각에서 처리 내역을 작성하였고 이것이 업무 로직의 재검토에 의한 애플 리케이션 속도 향상에 도움이 되었습니다.

그 외에도 “성능 구현 정책”으로 성능을 확보하기 위해 지켜야 할 규칙과 고려 사항을 정리했습니다. 그것을 바탕으로 체크리스트 등을 작성하고 응용 프로그램의 설계 구현 팀에 전달하여 성능을 저해하는 개발이 있지 않은지 확인를 하였습니다.

설계 과정에서는 이러한 결과를 각 설계서에 피드백하면서 설계를 진행하였고 테스트 공정에 들어가면 디자인 성능에 도달하고 있는지 여부를 실기를 이용해 측정했습니다. 개별 성과 시스템 테스트의 다중 성과, 증권 거래소 시점에 의한 성능 시험, 증권 회사가 참여한 성능 시험 등을 수행, 성능 검사 및 평가를 거듭했습니다. 주문, 약정에 포함된 프로세스는 하드웨어와 미들웨어의 성능은 전임 성과 팀이 항상 점검하는 체제를 만들었습니다.
2010 년 1 월 인하 조치 이후 주문 접수 응답 실적 값은 2ms를 나타내고 빠른 속도에 대해서는 당초 목표를 달성할 수있습니다. 시스템 다운도 일어나지 않았습니다. 이것은 목표의 실현을위한 관리 계획을 수립하고 활동을 실시한 결과이다라고 생각합니다.

이상의 기사는 NTTデータの平田氏와 東京証券取引所の田倉氏가 공동으로 작성하였습니다.출처는 아래입니다.

高速応答を支えるデータ同期、可用性は3重化で保証する

그동안 Arrowhead를 소개하는 글을 많이 썼습니다. 위의 프로젝트수행과 관련한 내용은 아래를 참고하세요.

TSE 프로젝트의 성공요인 – 발주기업의 자세

5.
이제 처음에 이야기했던 주제로 돌아가도록 하죠. 한국경제신문은 Arrowhead의 성능으로 외국계 HFT가 득세하여 개인투자자들이 몰락하였고 이들 투자자를 주 고객으로 하는 중소증권사가 몰락하였다고 기사를 쓰고 있습니다.

먼저 일본자본시장 일반을 다룬 금융연구원 보고서입니다.

보고서는? HFT트레이더의 확대, 대체거래소인 Chix-Japan의 확대를 강조합니다.이로 인하여 기관투자가의 영향력이 늘었다고 합니다.

다음은 기사를 작성한 기자가 참고했을 보고서를 하나 소개합니다. 자본시장연구원이 발표한 ‘일본 증권회사 수 감소와 대형화 추세’입니다.

TSE는 ?ArrowHead를 개통하면서 HFT고객을 유치하기 위한 노력을 하였습니다. Flex Full서비스라는 이름으로 전 호가서비스를 제공하고 있습니다. TSE는 코로케이션서비스를 대대적으로 제공하기 시작하였습니다. Flex Full를 처리하려면 중소증권사가 IT투자를 대폭 늘려야 합니다. 또한 코로케이션서비스를 제공받으려면 비용이 발생합니다.

TSE, Co-Location Service를 위한 새로운 요금정책

이런 사실을 놓고 보고서를 다시 보면 다음과 같은 문장이 눈에 들어옵니다.

“특히 시장의 변화를 따라가지 못하는 중소형 증권회사의경우 영업을 중단하거나 합병됨에 따라 일본증권산업은 대형화,전문화의 추세가 이어지고 있음”

결국 시장의 변화는 IT에 대한 대대적인 투자와 경쟁력을 필요로 합니다. 투자를 못하고 경쟁력을 확보하지 못한 증권사는 시장에서 퇴출되였습니다.

6.
기사의 제목이 옳든 그르든 별로 중요하지 않습니다. Arrowhead를 중심으로 한 자본시장의 구조변화는 증권사의 개편으로 이어졌다는 사실입니다. 방향은 대형화와 전문화입니다. 시장의 논리로 구조조정이 일어나고 있습니다.

한국은 지금 자본시장법을 개정하려고 합니다. 인위적으로 구조조정을 하려고 합니다. 목표는 대형IB입니다. 물론 자본시장법이 만들어질 때부터 증권사간의 M&A를 바란다는 이야기를 하였습니다. 그렇지만 소득이 없자 정책적 수단을 동원하는 듯 합니다.? 시장의 경쟁을 강화하는 방향이 아닌 시장개입이 긍정적인 역할을 할 지 의문입니다. 개인적으로? 자본시장을 개편하려면 거래소부터 시작하여 대대적인 IT경쟁이 가능한 환경을 만들라고 주문하고 싶습니다.

당장 KRX가 전 호가를 서비스하고 대역폭도 대폭 늘리면? 중소형증권사는 투자와 경쟁력에 대한 압박을 받습니다.기술적인 환경의 변화를 주면 증권사마다 주문서비스의 질이 달라집니다. 브로커부문에서 생존이 가능한 환경이 생존이 불가능한 환경으로 변화합니다. (^^)

단, 코로케이션서비스는 신중하여야 합니다. 외국계를 위한 DMA나 코로케이션서비스는? 증권사에게 증권사라이센스를 빌려주는 것이상도 이하도 아닙니다. Sponsored access를 위해 필요한 것은 회원사 자격일 뿐입니다.? 파급력이 별로 없는 비즈니스입니다.

Leave a Comment

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.