HFT를 시작하겠다고 한다면 가장 먼저 해야할 것은 수익을 낼 수 있는 로직을 찾아내는 것입니다.
완벽한 로직이 아니어도, 최소한 수익을 낼 수 있는 아이디어라도 어느 정도 도출을 하고 시작하여야 합니다.
거래 속도가 빠르다고 HFT도 아니고, 거래 속도만 높다고 해서 수익이 나지도 않습니다.
이 단계에서 거래 로직을 찾는 방법은 우선 틱데이터라도 받아서 저장하면서, 데이터분석해서 자신의 아이디어를 구체화하고
가상으로라도 시뮬레이션해보는 것입니다.
이 단계에서는 굳이 속도가 빠르지 않아도 됩니다. HFT가 빨라야 하는 것은 시세를 받자마자 로직처리하고 주문까지 던져야 하는 것인데,
주문을 던지지 않는다면, 늦게 받으나 일찍 받으나 큰 차이가 나지 않습니다.
거래소간 차익거래를 한다든지 그런 종류의 HFT가 아니라면 틱데이터 받는데 더 빨라야 한다 그런거는 별로 없습니다.
거래소간 차익거래하겠다는 것도 이미 HFT수익 내는 아이디어는 있다는 말이 성립이 하긴 하네요.
수익모델이나 최소한의 아이디어도 없이 큰 비용을 들여서 시작하신다면 HFT 시스템을 구축하는데 실패하실 가능성이 높습니다.
언제 결론이 날지도 모르는데, 무기한 장기로 비용만 지출될 가능성이 높습니다.
속도만 빠르면 수익 내는 줄 착각하고 접은 업체들 많습니다.
수익 모델이 나오고, 시뮬레이션도 좀 해보고, 한번 실제 구축해보겠다는 마음이 들었다면, 가장 먼저 해야할 것은 colocation입니다.
프로그램 로직이 정말 복잡하게 짜지 않는 이상 거기서 1ms이상 차이가 잘 나지 않습니다. 고가의 네트워크 카드인 솔라플레어 같은 장비로
줄여봐야 100마이크로초입니다.
하지만 colocation은 그냥 너무 쉽게 몇 ms차이가 나게 됩니다. 다른 복잡한 튜닝이 필요한게 아니라 가장 먼저 해야할 것은 서버의 위치입니다. colocation이 최고의 튜닝입니다. 이 단계에서 어느 정도 결론이 난 다음 fpga를 쓰든 뭘 쓰든 해야 합니다. 그런 걸로 아무리 줄여봐야 1ms 못줄입니다. 하지만 colocation만으로 몇 십 ms는 줄이고, 몇 ms 차이도 쉽게 납니다.
HFT 거래 시스템을 colocation을 할 때 또 물리적인 거리만 가깝다고 colocation이 된게 아닙니다. 목표로 하는 서버와 중간에 있는 스위치 허브들의 성능이 엄청난 영향을 미칩니다. 아무리 가까워도 스위치 허브가 안정적이지 않으면 속도가 몇 ms이 그냥 차이가 나게 됩니다. 성능이 좋지 않은 스위치가 중간에 하나라도 끼여 있으면 패킷 손실도 일어나면 속도가 그냥 들쭉날쭉해지게 됩니다. 그래서 중간 스위치 허브 줄이는게 매우 중요하고, 중간 스위치 허브도 성능 좋은 것들을 써야 합니다. 이런 스위치 허브의 성능을 측정해주는 프로그램들도 여러가지가 있습니다.
또한 HFT거래 시스템과 주문접수 서버가 같은 백본망에 들어가 있어야 합니다. 백본망이 다르면, 아무리 거리가 가까워도 속도가 나지 않습니다. 정말 몇 백미터 차이가 안나는 서버보다 몇 키로 떨어진 서버에서 오히려 더 빠른 경우도 발생하게 됩니다. 물론 돈 많고 그러면 거리 가까운 곳에서 광케이블로 크로스커넥션하는게 최고입니다.
다른 속도 튜닝들은 이정도까지는 해놓고 그 다음부터 해야지 의미가 있습니다. 이후 단계의 HFT 시스템 튜닝은 정말 어떻게 보면 노력대비 줄어드는 시간이 미미합니다. 마이크로초 단위에서 줄이고, 나노초 단위에서 하나하나 검증해야 하는데, 어느 정도까지 해야된다는 답도 사실 없습니다. 하지만 거래로직에 대한 최소한의 아이디어도 없이, HFT 속도 경쟁에 아무리 참여해봐야 그냥 돈낭비 시간 낭비일 뿐이고, colocation도 하지 않고 다른 튜닝하는 것은 그냥 쓸데없는데 돈쓰고 시간쓰고 노력쓰는 것 밖에 되지 않습니다.
'backup' 카테고리의 다른 글
지난달부터 네번째 FIX엔진 완전히 갈아엎고 있네요. ㅋ (0) | 2013.09.17 |
---|---|
zeromq 또는 cep를 쓰는 빠른 HFT 거래 시스템? (3) | 2013.09.12 |
stunnel을 쓰지 않고 바로 openssl c 프로그래밍하기 (0) | 2013.09.12 |
FX마진거래 유로달러 흥미롭게 거래하는 동영상이 있군요. (0) | 2013.09.11 |
밀리초(ms), 마이크로초(us), 나노초(ns) 관계 (1) | 2013.08.23 |