2010-12-27 2 views
2

나는 FIX에서 새롭고 거래 시스템과 통신하기 위해 작은 FIX 엔진을 개발해야한다는 요구 사항이 있습니다. 내가 알고 있듯이 많은 FIX 엔진을 사용할 수 있지만 여기에서는 요구 사항을 개발하는 것입니다. 누구나 오픈 소스 나 좋은 기사에 대한 참조를 제공 할 수 있습니까?FIX 엔진 개발

답변

3

Fix message constructions 참조하려면 .NET 사용 VersaFix

를 들어

QuickfixJ를 사용합니다.

두 라이브러리 (Quickfix)는 모두 FIX 프로토콜 표준에서 언급 한 것과 동일한 명명법을 사용합니다. 하지만 그들은 여기 저기에 작은 버그가 있지만 소스 코드에서 수정할 수 있습니다. 저는 상업 프로젝트에서 두 라이브러리를 모두 사용했으며 라이브러리 작업을보고 나서 이렇게 말합니다. 그러나 코드는 매우 간단하며 함께 작업 할 온라인 참조 설명서가 있습니다.

그러나 자신의 라이브러리를 개발하는 것은 한 명의 개발자에게 큰 작업이 될 것입니다. 팀이 있다면 훨씬 쉽게 작업 할 수 있습니다. 구문 분석 이외에 네트워크 통신을 통합해야하며,이를 실행하는 방법에 대한 구성과 구조 스레딩도 기억해야합니다.

+0

DumbCoder에게 감사드립니다. 한 가지 더 궁금한 점은 많은 클라이언트를 처리하기 위해 서버에서 어떤 아키텍트가 사용될 것인가? – CrazyC

+0

@ Saurabh01 - Quickfix는 세션 당 하나의 스레드를 사용하므로 시도해 볼 수 있습니다. – DumbCoder

+0

매우 큰 작업은 아니지만, 요구 사항에 따라 2 주에서 1 년 반 정도 소요될 수 있습니다. –

1

자신 만의 FIX 엔진을 개발하는 것은 쉽지 않습니다. 특히 FIX 세션 레벨의 세부 사항을 직접 처리하는 경우는 쉽지 않습니다. ResendRequest, GapFill 및 SequenceReset을 통해 시퀀스를 동기화하는 것은 쉽지 않으며 이미 해당 작업을 수행중인 FIX 엔진 만 사용할 수 있으면 좋을 것입니다.

고정 프로토콜의 또 다른 문제점은 그룹 반복입니다. 재귀가 필요하거나 복잡한 반복 구현이 필요하기 때문에 신속하게 구문 분석하는 것은 쉽지 않습니다.

또한 대부분의 Java FIX 엔진은 메시지를 구문 분석 할 때 가비지를 많이 생성하므로 GC 오버 헤드로 인한 분산 및 대기 시간이 증가합니다.

마지막으로 FIX 개발을 가속화하는 데 직관적 인 API 디자인이 중요합니다. 깨끗한 API의 좋은 예를 보려면 CoralFIX을 확인하십시오.

면책 조항 : 나는 CoralFIX 개발자 중 한 명입니다.

관련 문제