FIX(10)
-
FIX 세션 메시지 - 로그인
FIX가 세션 정보를 바탕으로 구성을 완료했으면, 실제 메시지가 어떻게 흘러가는지 확인해 보자. 1. 재전송(Recovery)이 없는 경우 로그인 클라이언트 (예: ACOMPID) 서버 (예: BCOMPID) 로그인 요청(35=A) 로그인 응답(35=A) Heartbeat 전송(35=0) Heartbeat 응답(35=0) 시퀀스(Sequence)가 초기화 된 이후의 최초 로그인은 양쪽에서 MsgSeqNum(Tag.34)이 1번부터 시작하므로 재전송이 발생하지 않는다. 초기화 시점이 서로 틀린 경우에는 재전송이 발생할 수 있겠지만, 정상적인 상황을 가정하고 로그인 절차를 살펴보면 다음과 같다. Case #1 8=FIX.4.2^A9=70^A35=A^A49=ACOMPID^A56=BCOMPID^A128=ABC^..
2019.12.10 -
FIX 글로벌 네트웍 구성
해외 브로커 또는 거래소와 FIX 세션을 연결하기 위해서는 먼저 물리적 회선을 구성해야 한다. 글로벌 회선사업자로는 BT Radianz와 TNS가 있고, Fix Hub 사업자는 블룸버그 및 톰슨오텍스 등이 있다. 글로벌 사업자까지의 연결은 SKT, LGU+, KT 등 로컬 회선사업자를 통해 연결한다. 특별히 주문이 않은 경우를 제외하고는 보통 주문회선 용량은 1M 또는 그 이하로 많이 사용한다. 1. 회선사업자 이용 - BT Radianz, TNS 등 물리적 회선이 구성되어 있으면 해당 회선사업자에게 출발지와 목적지 아이피를 보내서 회선사업자 회선 연결을 요청한다. 회선사업자는 각 IP는 자체 라우팅 경로에 등록하고, 각 IP들을 NAT IP로 변경한다. 회선사업자에 의해 제공된 NAT IP를 바탕으로 ..
2019.12.09 -
FIX 세션 구성을 위한 협의 및 세션 메시지
대외기관과의 FIX 세션을 구성하기 위해서는 사전에 협의해야 할 사항이 몇가지 있다. 다음과 같이 세션을 위한 기본 정보확인이 되었으면, FIX 세션을 구성할 수 있다. 1. Client/Server 역할 정의 주문을 받는 경우에는 Sell Side라고 부르고, 보통 Inbound 주문으로 Server 형태로 구성이 된다. 주문들 발주하는 곳은 Buy Side라고 부르며, 보통 Outbound 주문으로 Client 형태로 FIX가 구성이 된다. 2. Heartbeat 주기 보통 30초로 하고, Client에서 로그인시에 설정된 값으로 주기가 결정된다. 3. SenderCompID/TargetCompID Sell side 즉 서버를 담당하는 곳에서 보통 정의를 하는 경우가 많으나, 합의하에 정의할 수 있다..
2019.12.09 -
FIX 프로토콜이란 무엇을까
FIX(Financial Information eXchange) 프로토콜은 트레이딩 관련 메시지의 전자 통신을 위해 정의한 일련의 메시지 스펙(Specification)으로 국제표준이다. 세계 각국의 은행, 브로커, 거래소, 산업시설/협회, 기관 투자자 및 IT업체의 협력을 통해 개발되었다. FIX가 표준 프로토콜로써 사용된 데에는 다양한 이유가 있을 것이다. 구조체 스타일의 정형화된 데이터 보다 유연성이 생겼다. 유연성을 위해서 태그/값(Tag/Value)와 같은 메시지 데이터를 사용한다. JSON 처럼 태그 이름 지정에 완전한 자유도를 부여하는 대신 숫자로 한정되고, 기 정의된 태그들도 다수 존재한다. 물론 사용자 정의 태그영역도 있다. 태그의 추가로 인해 데이터내에서는 부가정보가 들어간다고 볼 수 ..
2019.12.09