Thursday 1 March 2018

고주파 거래 시스템 아키텍처


고주파 거래 시스템 설계 및 프로세스 관리. 고주파 거래 시스템 설계 및 프로세스 관리. 로이 E Welsch. Department 시스템 설계 및 관리 프로그램. 매사추세츠 공과 대학 발행자. 2009 년 발행. 요즘 회사는 데이터 마이닝, 컴퓨터 모델링 및 소프트웨어 개발 재무 분석가는 소프트웨어 및 제조 업계의 많은 유사한 작업을 수행합니다. 그러나 금융 업계는 소프트웨어 및 제조 업계에서 성공적으로 수행 된 높은 수준의 시스템 엔지니어링 프레임 워크 및 프로세스 관리 방식을 아직 완전히 채택하지 않았습니다. 엔지니어링 분야에서 발견되는 제품 설계, 품질 관리, 체계적인 혁신 및 지속적인 개선을위한 전통적인 방법론을 재무 분야에 적용 할 수 있습니다. 이 논문은 엔지니어링 분야에서 습득 한 지식이 어떻게 고주파 거래의 설계 및 프로세스 관리를 향상시킬 수 있는지 보여줍니다 ystems 고주파 거래 시스템은 계산 기반입니다. 이 시스템은 본질적으로 복잡하고 고도의 설계 정확도가 요구되는 자동 또는 반자동 소프트웨어 시스템입니다. 고주파수 거래 시스템의 설계는 정량 금융, 시스템 설계 및 소프트웨어 공학 수학 이론과 거래 모델이 비교적 잘 연구되어있는 금융 산업에서 실제 거래 관행에서 이러한 설계를 구현하는 능력은 투자 회사의 경쟁력 요소 중 하나입니다. 투자 아이디어를 고성능 거래로 전환 할 수있는 역량 시스템은 효과적이고 효율적으로 투자 회사에게 커다란 경쟁 우위를 제공 할 수 있습니다. 이 논문은 고주파수 거래 시스템 설계, 시스템 모델링 및 원리, 시스템 개발을위한 프로세스 관리로 구성된 상세한 연구를 제공합니다. 특히 백 ​​테스팅 및 최적화에 중점을 둡니다. 고려 된 일 e 무역 시스템 구축에있어 가장 중요한 부분이 연구는 개발 프로세스를 안내하는 시스템 엔지니어링 모델을 구축합니다. 또한이 논문에서 다루는 원칙을 검증하고 검증하기위한 실험적 거래 시스템을 사용합니다. 마지막으로이 논문은 시스템 엔지니어링 원리와 프레임 워크가 핵심이 될 수 있다고 결론을 내립니다 고주파 거래 또는 정량적 투자 시스템을 성공적으로 수행함. SM - 매사 추세 츠 공과 대학교, 시스템 설계 및 관리 프로그램, 2009 년 논문 PDF 버전에서 발췌 pdf 버전의 논문 목록보기 참고 문헌 p78-79.Keywords System Design and Management Program. High - 주파수 거래 - HFT. 고주파 거래 - HFT. 고주파 거래 HFT는 강력한 컴퓨터를 사용하여 매우 빠른 속도로 많은 주문을 처리하는 프로그램 거래 플랫폼입니다. 복잡한 알고리즘을 사용하여 여러 시장을 분석하고 실행합니다. 시장 상황에 기반한 주문 일반적으로 가장 빠른 경영진 n 속도는 실행 속도가 느린 거래자보다 수익성이 높습니다. 고장 빈도가 높은 고주파 거래 - 고주파 거래는 기업이 시장에 유동성을 추가 할 수있는 인센티브를 제공하기 시작했을 때 인기가있었습니다. 예를 들어 뉴욕 증권 거래소 NYSE 추가 유동성 공급자 SLP라고 불리는 유동성 공급 업체 그룹이 있습니다. 거래소에 대한 기존 견적에 대한 경쟁 및 유동성을 추가하려고 시도합니다. 기업에 대한 인센티브로 뉴욕 증권 거래소 (NYSE)는 유동성 제공에 대한 수수료 또는 리베이트를 지급합니다. 2016 년 7 월 평균 SLP 환급은 0 0019 뉴욕 증권 거래소에 뉴욕 증권 거래소 및 NYSE MKT 상장 주식에 대해 0 일 하루에 수 백만 건의 거래로 많은 수익이 발생합니다. 유동성이 투자자에게 주요 관심사였던 2008 년 리먼 브라더스 붕괴 이후 SLP가 도입되었습니다. HFT의 이점. HFT의 주요 이점은 시장 유동성이 개선되었고 이전에는 너무 적었을 수도있는 입찰가 스프레드가 제거되었다는 것입니다. 이것은 테스트였습니다 HFT에 수수료를 추가함으로써 결과적으로 입찰가 스프레드가 증가 정부가 HFT에 대한 수수료를 부과했을 때 캐나다 입찰가 스프레드가 어떻게 바뀌 었는지 평가 한 한 연구에서 입찰가 스프레드가 9 배 증가한 것으로 나타났습니다. HFT. HFT는 논란의 여지가 있으며 혹독한 비판을 받았습니다. 많은 브로커 - 딜러를 대신하고 수학적 모델과 알고리즘을 사용하여 의사 결정을 내리고 의사 결정과 의사 결정을 밀리 초 단위로 결정합니다. 2010 년 5 월 6 일, 다우 존스 산업 평균 (Dow Jones Industrial Average)의 DJIA는 다시 한번 상승하기 전에 1,000 포인트 하락하고 불과 20 분 만에 10 포인트 하락하면서 최대의 중도 시점 하락을 기록했습니다. HFT에 대한 추가 비판은 대기업이 소규모 인이나 기관 및 개인 투자자 인 Anothe를 희생시키면서 이익을 얻을 수있게한다는 것입니다 HFT에 대한 주요 불만 사항은 HFT가 제공하는 유동성이 유령 유동성이라는 것인데, 유동성은 시장에 1 초 동안 사용할 수있는 유동성을 제공하고 그 다음 유동성을 제공하여 실제로 유동성을 거래 할 수 없도록합니다. 사실 3 가지 주요 블록 Algo Trading System 1 시장 데이터 핸들러 (예 : FAST 핸들러 2) Strategy Module 예 : crossOver strategy 3 주문 라우터 (예 : FIX 라우터). 전략 모듈 또는 주문 라우터 모듈 또는 둘 다에서 위험 체크를 추가 할 수 있습니다. 당신은 잘 가야한다. 최소한의 대기 시간을 위해 ATS를 디자인하고, 더 많은 레이어 나 복잡성을 추가하는 것은 대기 시간을 희생시킨다. 최소한의 ATS 아키텍처. 종과 휘파람을 추가하면 다음과 같이 보일 것이다. 위 아키텍처의 구현에 관심이 있다면 다음 사항을 염두에 두어야합니다. 뮤텍스를 잠그지 마십시오. 사용해야 할 경우 잠금으로 바꾸어보십시오. 적은 원자재를 사용하는 구조 libcds, 동시성 키트 등의 잠금없는 데이터 구조에 사용할 수있는 몇 가지 라이브러리가 있습니다. C-11은 std 원자를 지원하므로이를 사용하려고 노력해야합니다. QuickFIX에서 수행되는 작업을 피하십시오. 객체 잠금 생성으로 안전 유연성 재사용을 위해 작성되었습니다. 모든 메시지를 라우터로 호출 할 때마다 파괴가 발생합니다. 대기 시간에 민감한 코드를 작성하는 방법은 없습니다. 런타임 메모리 할당 런타임 경로는 미리 할당 된 메모리 풀을 사용하여 사용자 정의되고 잠금이없는 메모리 관리를 사용해야합니다. 커플 링 스레딩 모델, IO 모델 및 메모리 관리는 서로 협력하여 최상의 성능을 달성하도록 설계되어야합니다. 이는 느슨한 커플 링에 대한 OOP 개념에 반대하지만 동적 다형성의 런타임 비용을 피하기 위해 필요합니다. 템플릿 사용 같은 맥락에서, 나는 또한 당신이 코드의 유연성을 얻기 위해 C 템플릿 화를 제안 할 것이다. OS 하드웨어 최적화 n 마지막으로 Linux RT 커널 및 Solarflare 네트워크 카드를 사용하여 OpenOnLoad 드라이버로 작업하여 최소한의 대기 시간을 얻으십시오. CPU를 분리하여 특정 코어에서 프로그램을 실행하는 것이 좋습니다. 마지막으로 필요한 공개 API 전략 개발자에게 노출이 특정 교환 대상 클래스의 모든 복잡도를 캡슐 것이다 최소한의 집합을하고 싶습니다. OrderRouter public virtual bool sendNewOrd OrderInfo 0 가상 bool sendRplOrd OrderInfo 0 가상 bool sendCxlOrd OrderInfo 0 virtual. But 이것은 OrderInfo 클래스는 목적지 교환기가 요구하는 모든 세부 사항을 필요로합니다 일반적으로 교환기는 동일한 종류의 정보를 필요로하지만 더 많은 교환 목적지를 지원할 때이 클래스에서 더 많은 변수를 추가하게됩니다. 다음은 중요합니다 당신이 스스로에게 물어볼 필요가있는 질문에 대한 질문 1 다중 프로세스 아키텍처 또는 다중 스레드 아키텍처 다중 스레드로 하나의 모 놀리 식 프로세스를 작성할지 또는 여러 프로세스 작성 다중 프로세스 비용은 메시지 전달 대기 시간이지만 다중 스레드 단일 프로세스의 비용은 모든 시스템 장애를 일으킬 수 있습니다. 과다한 옵션에서 지연 시간을 고려하여 제한됩니다. 가장 빠른 IPC는 메모리를 공유하지만이 두 가지 질문이 아키텍처의 기반이되는 빌딩 블록이 될 수 있으므로 동기화를 수행하는 데 얼마의 시간이 걸릴 것입니다. FIX 및 FAST를 수정하십시오 인기있는 표준 프로토콜에 관해서는 FIX는 주문을 보내고 FAST는 시장 데이터 용입니다 FIX는 일반적으로 고유 프로토콜 위에 구현되기 때문에 대부분의 교환기는 FIX보다 빠른 자체 프로토콜을 가지고 있지만 FIX가 여전히 지원됩니다 반면에 FIX는 대부분의 거래소에서 채택하고 있지만 FAST는 이러한 광범위한 수용을 즐기지 못합니다. 그것들을 채택하는 소수의 교환이있을 것입니다. 그들 대부분은 FIX 자체를 낮은 대기 시간으로 보내거나 인도, NSE, BSE, MCX MCXSX 등의 고유 한 바이너리 프로토콜을 사용합니다. 이 세 가지 교환기는 모두 FIX 프로토콜을 제공합니다. 네이티브 프로토콜을 사용하지만 BSE만이 시장 데이터를 빠르게 제공합니다. 또한 EOBI 도입으로 FAST에서 Native로 이동하고 있습니다. 동일한 내용을 다른 교환기로 도출 할 수 있습니다 .4k Views 복제물을위한 Upvotes보기 John이 언급했듯이 OMS는 모든 거래 플랫폼의 핵심이며 이에 대한 연구를 시작해야합니다. OMS에 임베드하려는 거래 라이프 사이클, 이벤트 및 기능을 결정하는 데 시간을 투자해야합니다. Algo Engine이 처리 할 Metcetera가 제공하는 오픈 소스 OMS, 나는 그것을 개인적으로 사용하지 않았지만 그것은 시장에서 몇 안되는 것 중 하나이다. 다음으로 살펴 봐야 할 것은 소스 데이터에 인터페이스를 제공하고 밀어내는 것이다. 이것은 클라이언트 주문 입력 시스템이 영형 세부 사항 및 Algo 엔진을 소스로 제공 많은 판매 측면 OMS가 FIX 프로토콜을 사용하여 Java C로 작성된 독점적 인 프로그램의 조합을 사용하여 FIX 프로토콜에 따라 정의 된 단순화 된 미리 정의 된 메시지 형식으로 시스템간에 실시간으로 통신 할 수 있습니다 커뮤니티 FIX 프로토콜 조직 홈 페이지로 이동하여 FIX 엔진의 오픈 소스 구현을 살펴 봅니다. 다음은 실시간 보안 시장 정보 소스 인 Market Data 인터페이스를 제공합니다. High Low Open 가장 좋은 입찰가에 가까움, 총 거래량, 최종 가격, 최종 거래량, 입찰 견적 등을 묻습니다. 정보는 구현하려는 전략의 유형에 따라 다릅니다. Interactive Broker는 FIX를 통해 실시간 데이터 피드를 제공합니다. Algo가 신호를 해석하고, 주문을 만들고, Exchange 또는 ECN으로 라우팅하는 Exchange 연결성은 다음과 같습니다. 사내 개발은 E 작업을 수행해야하므로 어려울 수 있습니다. xchange 회원 자격을 획득하고 플랫폼을 인증하고 정기 회원 가입비를 지불하십시오. 저렴한 방법은 IB와 같은 브로커 API를 사용하여 주문을 전달하는 것입니다. 역사적인 가치와 현재 시장의 행동을 비교하고자하는 것처럼 역사적인 데이터도 본질적입니다. 평균 퍼짐, VWAP 단면도, 일일 평균 볼륨 등의 매개 변수가 의사 결정에 영향을 미칠 수 있습니다. 선호하는 데이터베이스를 사용할 수 있지만, 본질의 속도가 프로그램을 시작할 때 서버 캐시에 다운로드하면됩니다. 주변 시스템이 설정을 통해 원하는대로 알 고 프로그램을 개발할 수 있습니다. 이 기본 인프라는 부모 알 고 순서를 입력하고 시장 데이터를 읽으며 신호에 반응하지만 하위 주문을 생성하고 교환 주문서에 의사 결정에 영향을 미치는 과거 데이터 OMS는 부모 자식 순서와 실시간 상태 및 알 고 또는 교환 연결 플랫폼에 의한 업데이트 간의 연결을 유지합니다 Algo 내부에서 구현하고자하는 것은 완전히 당신에게 달렸습니다 .2 3k Views 재생산을위한 Upvotes보기.

No comments:

Post a Comment