문제

지난 몇 주 동안 나는 고주파 거래에 관한 많은 기사를 접했습니다.그들은 모두 컴퓨터와 소프트웨어가 이것에 얼마나 중요한지에 대해 이야기하지만 모두 재정적 관점에서 작성되었기 때문에 소프트웨어가 무엇을 하는지에 대한 자세한 내용은 없습니다.

프로그래머의 관점에서 고주파 거래가 무엇인지 설명할 수 있는 사람이 있습니까?그리고 이 분야에서 컴퓨터/소프트웨어가 왜 그렇게 중요한가요?

도움이 되었습니까?

해결책

Paul이 말한 내용을 확장하면 다음과 같습니다.

HFT 또는 UHFT를 실행하는 서버는 거의 항상 거래소의 데이터 센터에 배치됩니다.이를 통해 지연 시간이 최소화되고 알고가 플래시 주문(곧 금지될 수 있음)을 사용하여 주문이 시장에 방송되기 전에 주문 흐름을 먼저 살펴볼 수 있습니다.많은 알고가 단 몇 밀리초 안에 주문을 평가할 것이며 이는 밀리초가 중요한 게임입니다.거래 그룹은 주문이 NIC에 도달한 시점과 결과 조치가 수행되는 시점 사이의 시간을 더 효율적으로 최적화하기 위해 커널 개발자를 고용하여 맞춤형 OS 구성 요소를 구축하는 것을 포함하여 모든 노력을 기울이는 것으로 알려져 있습니다.

오늘날 일반적으로 사용되는 몇 가지 큰 전략 버킷이 있습니다.

첫 번째는 대규모 블록 주문에 앞서 거래하는 것입니다.IBM의 백만 주를 매입한 Paul의 예를 사용하기 위해 HFT 알고는 매수 압력을 모색할 것입니다.다양한 거래소와 다크 풀에 있는 회사의 컴퓨터는 주문이 분할되어 일반적으로 여러 거래소와 다크 풀에 걸쳐 실행되므로 정보를 공유해야 합니다.HFT 알고리즘은 통계/기계 학습 모델을 사용하여 구매 압력의 크기를 예측하고, 충분하다고 판단되면 시장 전체에서 주식을 축적하여 약간 더 높은 가격에 판매하려고 시도합니다.

두 번째는 거래소가 유동성을 추가하기 위해 시장 참가자에게 비용을 지불하는 유동성 리베이트 거래입니다.(Direct Edge 가격 보기) 구매 또는 판매된 주식은 매우 짧은 기간 동안만 보유할 수 있습니다.목표는 단지 ​​리베이트를 모으고 다른 모든 것에 대해서도 손익분기점을 맞추는 것입니다.

이 두 가지 전략 유형 모두에서 아이디어는 거래에서 동전(또는 분수)을 만들고 이를 하루에 여러 번 수행하는 것입니다.

아시다시피 이용 가능한 HFT 일자리가 많아 거래가 더욱 혼잡해지고 있습니다.나는 이것을 2000년대 초반의 통계 차익과 비슷하다고 생각하며, 너무 많은 플레이어가 거래를 시도하기 때문에 결국 거래는 그다지 수익성이 없을 것입니다.

소프트웨어가 중요한 이유는 다음과 같습니다.밀리초가 중요합니다.지연 시간은 매우 중요하며 코드는 빡빡하고 빠르며 견고해야 합니다.시장이 당신에게 불리하게 움직일 때 알고리즘이 붕괴되고 주식이 잡히는 것은 그다지 수익성이 없습니다.이러한 요구 사항에 대한 엔지니어링은 필연적으로 다르며 다른 기술이 필요합니다.전체 주문서를 실시간으로 처리하려면 약간의 성능과 우수한 알고리즘이 필요합니다.그래도 재미있고 흥미롭습니다.

다른 팁

HFT 시스템에는 두 부분이 있습니다.

  1. 실시간 초 저 지연 거래 - 다양한 소스의 실시간 주문서 및 가격 정보를 구독하고 최소한의 미끄러짐으로 큰 주문을 수행하도록 설계된 교정 된 알고리즘을 실행합니다 (즉, 결국 IBM의 백만 주를 구매하려고합니다. 시장을 너무 많이 옮기지 않고 하루 종일) 또는 단기 차익 거래에 따라 통계적으로 돈을 버는 것입니다. 이 시스템은 또한 한 명 이상의 휴먼 운영자가 시스템이 수행하는 작업을 효과적으로 모니터링하고 제어 할 수 있도록 우수한 위험 및 위치 관리 도구를 제공해야합니다.

  2. 하룻밤/주간 등. 대량의 "진드기 데이터"(가격, 시간 및 주문서 정보 및 이전 거래 활동에 대한 과거 데이터)의 분석, 실제로 실행할 최상의 알고리즘을 최적화하고 "검색"하려면. 파트 #1에 의한 시간. 즉 "교정"및 #1에서 실행되는 알고리즘을 테스트하십시오.

첫 번째는 낮은 대기 시간과 시장에 대한 접근성이 매우 높아야합니다 (즉, 최소한의 홉과의 교환에 대한 직접적인 네트워크 연결). 이 부분은 일반적으로 C 또는 C ++와 같은 비 GC 언어로 작성되어야합니다 (쓰레기 수집가는 세계를 멈출 수있는 반면 2 초 지연이 지연됩니다). 두 번째는 일반적으로 그리드와 많은 훌륭한 시뮬레이션 및 통계 분석 소프트웨어, AI 알고리즘 등이 필요합니다.

나는 이런 종류의 거래에서 가장 널리 퍼진 응용 프로그램이 CEP (복잡한 이벤트 처리) 인 경향이 있다고 덧붙였다. 몇 가지 예는 스트림베이스, 아바타 및 알레리입니다. 다른 한편으로, 대량의 데이터를 처리하기 위해 사람들은 KDB, OneTick 및 Vhayu와 같은 고속 데이터베이스를 사용합니다.

기술적 인 과제의 종류를 이해하려면 먼저이 공급 업체를 살펴 보는 것이 좋습니다. 그들의 마케팅 자료는 기술적 인 과제뿐만 아니라 비즈니스 응용 프로그램에 대한 좋은 감각을 줄 것입니다.

특정 시간 (예 : 선물 만료)에 1 분에 수천 개의 거래를해야합니다. 이 BTW는 프로그래머에게는 매우 스트레스가 많은 시간입니다. 마치 어떤 일이 잘못되면 회복 할 가능성이 거의 없습니다. 프로그래머는 자신의 로그 파일이 입에서 약간의 하트로 스트리밍되는 것을 보는 경향이 있습니다.

가격을 추적하고 위아래로 올라가는 것을 신속하게 결정하고 그에 따라 구매 및 판매해야합니다. 많은 다른 직책이 있기 때문에 해당 분석에 사용하는 더 나은 소프트웨어를 거래하고 수행하면 더 많은 돈을 벌 수 있습니다.

더 나은 자주 업데이트하고 자주 필요한 작업을 수행 할 때 사용하기 쉬운 방식으로 데이터를 자주 업데이트하고 흥미로운 경향을 정확하게 찾아냅니다.

이 분야에서 컴퓨터/소프트웨어가 왜 그렇게 중요한가?

가장 높은 성능과 가장 낮은 대기 시간은 바람직합니다. 사물에 반응 할 수있는 것이 빠르기 때문에 잠재적으로 더 많은 돈을 벌 수 있기 때문입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top