«FPGA & HFT»
#техно_и_хардкор
Я ни разу не специалист в сфере FPGA, но за последние пару недель несколько подписчиков одновременно спрашивали меня о том, как FPGA используется в трейдинге. Делюсь с вами тем, что знал и что узнал 😅
FPGA (Field Programmable Gate Array) - это микросхема, в которой вы сами программируете логику на уровне логических блоков и соединений между ними. Если ядро CPU выполняет инструкции последовательно (опуская детали ILP и SIMD), то FPGA сразу раскладывает их в виде аппаратного конвейера, где множество операций идут параллельно, и с минимальными задержками.
Безусловно, передача данных между FPGA и CPU вносит дополнительную задержку, но грамотная архитектура с буферизацией, минимизацией пересылаемого объёма данных и zero-copy позволяет сделать оверхед пренебрежимо малым.
В HFT (High-Frequency Trading) FPGA чаще применяют для работы с классическими биржами, которые предоставляют коллокацию - размещение ваших торговых серверов в дата-центрах биржи, компактные бинарные протоколы и т.д., нежели с криптобиржами. На них можно эффективно реализовать:
- кодирование и декодирование маркет-даты (ITCH, OUCH и прочие бинарные данные);
- построение книги заявок;
- быстрые проверки лимитов и позиций до отправки заявки;
- генерацию несложных торговых сигналов и фильтрацию биржевых шумов;
- в отдельных случаях значительную часть торговой логики!
И всё это до того, как данные попадут на CPU!
К сожалению, есть у такого подхода и ряд существенных недостатков. Ключевые из них:
- сложность разработки и отладки, и, как следствие, значительное повышение time-to-market;
- проблемы с поиском FPGA-разработчиков - их рынок очень маленький, особенно по сравнению с нами - питонистами 😅;
- чрезвычайно (!!!) высокая стоимость FPGA-решений.
В комментариях приложены ссылки на статьи по теме и даже... пара русскоязычных вакансий на стыке FPGA и HFT, которые я нашёл ☺️
С уважением,
Михаил Масягин
Post #18
447

- 🔥 8
- 💯 5
- ❤ 3
- 🤔 2