반응형

제목: 금융 분야 품질 보증 전문 서비스(QUALITY ASSURANCE EXPERTISE IN THE FINANCIAL DOMAIN)

저자: NathCorp, 미국

문서유형: 업체 브로셔( 18페이지), 2010

 

금융 분야 증권 거래 애플리케이션에서 주고 받는 메시지를 테스팅하는 서비스를 소개한 자료



NathCorp 소개

  • 금융 시스템 품질 보증과 윈도우즈7 64비트 애플리케이션 마이그레이션 및 전개를 전문으로 하는 컨설팅 업체
  • 금융 시스템 품질 보증 서비스에는 주식 거래와 선물/옵션 거래에 사용되는 소프트웨어 테스트, 금융 프로토콜(, FIX) 테스팅, ARCA 2.0, 3.2, OTTO에서 사용되는 이진 프로토콜 테스팅, 클라이언트와 거래소 간의 연결(connections) 테스팅 등이 있다.
  • 윈도우즈 마이그레이션 애플리케이션, 웹 기반 애플리케이션, 리녹스 기반 클라이언트-서버 애플리케이션에 테스팅 서비스 제공


증권 거래 소프트웨어

  • 증권 거래(stock exchanges) 소프트웨어는 증권 브로커와 트레이더가 주식이나 기타 증권을 거래하도록 해 주는 트레이딩기능을 제공. 또한 증권 발행이나 환매, 수입과 배당금 지불 같은 금융 상품과 자본 관련 이벤트들을 지원하는 기능을 제공
  • 증권 거래소에서 거래되는 증권으로 회사발행주식(shares), 단위신탁(unit trusts), 파생상품(derivatives), 집합투자상품(pooled investment products), 채권(bonds) 등이 있다.
  • 증권 거래소와 거래하고자 하는 모든 소프트웨어는 여러 규정을 준수해야 한다. 거래소가 보낸 전자 메세지(Electronic feed)를 정확하게 읽을 수 있어야 하며 엄격한 규정에 따라 응답해야 한다.
  • 거래소와 대화 할 때는 정해진 언어(프로토콜)을 사용해야 한다. 가장 공통적으로 사용되는 프로토콜은 FIX이고, 그 외에도 여러 프로토콜(, ARCA에서 사용되는 이진 프로토콜)이 존재한다.


대부분의 트레이딩은 아래와 같은 일련의 정해진 순서(fixed sequence)에 따라 진행된다.

     트레이더는 라이브로 데이터를 받는 스크린에서 현재 시장 가격과 차익거래 기회(arbitrage opportunities)를 본다.

     트레이더가 클라이언트 애플리케이션을 경유하여 거래를 전송

     클라이언트 애플리케이션이 거래를 처리하는 거래소로 해당 거래를 포워드

 

이런 순서를 거치는 동안 트레이더와 거래소간에 여러 메시지가 교환된다. 기본적인 메시지 타입은 아래와 같다(아래 메시지들은 표준적인 메시지 타입들이며 적용하는 금융 프로토콜에 따라 조금씩 달라진다).

  • 거래소로 보내는 신규 주문 메시지
  • 거래소의 확인(Acknowledgement) 메시지
  • 트레이더의 주문 취소 메시지
  • 거래소로부터의 실행 보고(Execution Report)
    -
    실현 보고(Filled Report): 거래가 실현됨
    -
    부분 실현 보고(Partial Filled Report): 거래의 일부분이 실현
    - 취소 보고(Cancel Report): 요청에 따라 거래가 취소됨
  • 연결이 라이브이고 정상적인지 확인하는 심장 박동(Heartbeat) 메시지
  • 로그인/로그아웃 메시지


금융 프로토콜 FIX

  • FIX(The Financial Information eXchange) 프로토콜은 증권 트랜잭션을 실시간으로 전자적으로 주고 받기 위하여 특별히 개발된 메세징 표준이다.
  • 전세계의 은행, 브로커-딜러, 거래소, 산업 공사 및 협회, 기관 투자자, IT 제공업자의 협업에 의해 개발된 FIX는 대부분의 금융 기관에서 사용되는 주요 프로토콜이다.
  • FIX“=”로 연결된 일련의 숫자들로 정의된다. 이 숫자들은 정해진 일정 순서가 있고 FIXIMATE 매뉴얼에 정의되어 있다.
  • NathCorpFIX 데이터(FIX feed)를 읽고 해석하도록 개발된 여러 도구를 이용해 전문적인 FIX 프로토콜 테스트 서비스를 제공. 아래는 FIX feed의 예를 보여준다.
  • FIX 프로토콜은 BATS, NEXA, DirectEdge, TOS 같은 주요 ECN(Electronic communication network: 증권거래소 외부에서 금융 상품 거래를 할 수 있도록 지원하는 전자 트레이딩 시스템)에서 사용된다.



FIX 프로토콜에 적용되는 NathCorp의 테스트 프로세스

  • NathCorp FIX 프로토콜 메시지의 유효성과 정확성(the message validity and accuracy)을 테스트한다.
  • FIX-타입 메시지를 보내는 ECN의 메시지(feeds)를 받는 클라이언트 애플리케이션을 테스트한다.
  • 이 테스트를 정확하게 수행하기 위해 FIX 생성 애플리케이션(FIX–generating application)이 필요. NathCorp는 클라이언트 애플리케이션의 연결이 있을 때 마다 FIX 메시지를 생성해주는 여러 시뮬레이터를 개발
  • 또한 클라이언트 애플리케이션에 연결하여 거래를 보낼 수 있는 트레이더 애플리케이션도 필요(트레이더가 보낸 거래는 클라이언트 애플리케이션이 시뮬레이터로 포워드). 아래 그림은 이러한 프로세스를 나타내고 있다.


  • 위 테스트 프로세스에서 NathCorp은 스크립팅 언어로 개발된 여러 도구를 사용한다(테스트 수행에서 발생한 파일들의 프로세싱을 돕는 도구)
  • NathCorp은 거래를 IQ 프로토콜로 생성하는 트레이더 애플리케이션도 개발(IQ는 거래 메시지 전송에 사용되는 또 다른 잘 알려진 프로토콜임)
  • 클라이언트 애플리케이션은 IQ 메시지들을 읽고 FIX로 변환한 후 트레이드에 포함된 정보에 따라 적절한 ECN 시뮬레이터로 전송한다.
  • 시뮬레이터는 FIX 파일들을 읽고 조건에 따라 실행한다. 시뮬레이터의 기본 입력/출력 메시지는 아래와 같다.


  • 시뮬레이터의 메시지들은 생성된 후 로그에 저장되고, NathCorpPerl 도구는 이 메시지들을 입력으로 읽어 들여 FIX 메시지가 유효한지 아니지, FIX 메시지가 적절한 트레이드 정보를 포함하고 있는지 아닌지를 판단한 테스트 결과를 출력해낸다. 이 출력물의 예는 아래와 같다(Perl 파일은 하나의 메시지를 각각의 필드로 분해하여 QA 팀이 전체 테스트 프로세스가 제대로 진행되었는지를 쉽게 확인할 수 있게 해준다).


이진 프로토콜(Binary Protocols) - ARCA, ARCA DIRECT

  • FIX는 이진 프로토콜이 아니지만 NathCorpARCA 또는 ARCA DIRECT에서 사용되는 타입인 이진 프로토콜도 다룬다.
  • 이진 프콜토콜은 비이진 프로토콜(non-binary protocols)에 비해 빠른 전송과 낮은 에러률의 장점을 가진다.
  • NathCorp의 이진 프로토콜 테스트 방법은 FIX 테스트 방법과 유사. 차이점은 이진 트레이딩 메시지(binary feeds)ASCII 메시지(ASCII feeds)로 전환하여 애플리케이션을 테스팅 하는데 있다.
  • NathCorp은 클라이언트 애플리케이션에서 ASCII로 전환되는 binary feeds를 생성하는 시뮬레이터 개발
  • Perl 도구를 적용하여 전환된 ASCII feeds를 읽고 해석한다. ASCII로 전환된 feed의 예가 아래와 같다.


NathCorp은 아래와 같은 이진 ECN에 테스트 서비스를 제공 한다.

  • ARCA Direct: NYSE Arca Equities & Options ExchangeNYSE AMEX Options Exchange의 주식/옵션 주문을 받는데 사용되는 메시지 기반 인터페이스
  • OUCH: 트레이딩을 위해 Nasdaq에서 사용되는 프로토콜
  • OTTO(OUCH to Trade Terminal): OUCH와 유사한 프로토콜
  • RASH(Routing and Special Handling): NASDAQ 고객이 옵션 시장에서 비즈니스를 할 수 있도록 허용하는 디지털 커뮤니케이션 프로토콜


반응형

+ Recent posts