jev-trader: бот для высокочастотной торговли на децентрализованных биржах

jev-trader: бот для высокочастотной торговли на децентрализованных биржах

jev-trader — это бот для торговли, который принимает решения на основе модели Jev, анализируя ордеры Kuru MON-USDC. Он делает это с частотой примерно раз в 300 мс, размещая лимитные ордера на покупку или продажу, чтобы зарабатывать на спреде, а не платить его.

Проект подойдет трейдерам, интересующимся высокочастотной торговлей и автоматизацией торговли на децентрализованных биржах. Бот может работать в режиме имитации, что позволяет тестировать стратегию без риска, но для использования настоящей модели Jev потребуется API-ключ и приватный ключ. Таким образом, у тебя есть возможность либо протестировать систему без реальных сделок, либо запустить ее в полноценном режиме.

Для запуска просто скопируй .env.example в .env, установи зависимости с помощью bun install и запусти с bun run start. Имей в виду, что проект может быть на ранней стадии и подходит в первую очередь для экспериментов на платформе Kuru.

Проект jev-trader представляет собой торговый бот, который работает с ордер-буком на платформе Kuru и принимает решения о покупке или продаже каждые примерно 300 миллисекунд. Он использует специальную модель Jev для анализа данных и размещает лимитные ордера, которые находятся внутри текущего лучшего предложения на рынке, заменяя предыдущие ордера. Таким образом, бот может зарабатывать на спреде, а не платить его.

Установка и запуск

Чтобы запустить проект, необходимо выполнить следующие команды:

cp .env.example .env
bun install
bun run start

Если переменная PRIVATE_KEY не установлена, бот будет работать в режиме проверки (dry run), что означает, что он будет принимать решения на реальных данных, но результаты сделок будут смоделированы. Для использования настоящей модели Jev нужно установить MODEL=jev и TYPESAFE_AI_API_KEY.

API и источники данных

В проекте есть несколько конечных точек API:

  • GET / — получает снимок текущего состояния модели, кошелька и последних событий блока;
  • GET /history — возвращает последние 1000 событий блока;
  • GET /events — использует SSE для отправки событий, включая снимок состояния и события блока.

Каждое событие содержит информацию о текущем статусе ордеров и операциях, включая вероятность покупки и продажи, а также текущие ставки и позиции.

Структура кода

Проект состоит из нескольких ключевых файлов:

  • src/config.ts — конфигурация окружения;
  • src/chain.ts — обработка блоков с помощью WebSocket и RPC;
  • src/book.ts — чтение ордер-бука;
  • src/market.ts — взаимодействие с платформой Kuru и обработка ордеров;
  • src/model.ts — интерфейс модели, которая отвечает за принятие решений;
  • src/trader.ts — основной цикл обработки ордеров;
  • src/server.ts — сервер для обработки запросов и отправки событий.

Ограничения

Важно учитывать, что каждая торговая операция должна укладываться в один блок, и на каждую операцию бот делает ровно два RPC вызова. Это означает, что время выполнения операций ограничено, и любые задержки могут повлиять на обработку заказов. Проект также использует фиксированные значения для расчета платы за газ, что может ограничить гибкость в случае изменения рыночных условий.

Таким образом, jev-trader — это продвинутый торговый бот, ориентированный на высокочастотную торговлю с использованием модели, анализирующей рыночные данные в режиме реального времени. Он подходит для трейдеров, которые ищут возможности автоматизации своих торговых стратегий на платформе Kuru.

Открыть на GitHub: jarrodwatts/jev-trader →

Что нового на GitHub — короткие обзоры на русском Новые обзоры приходят в Telegram. Без спама, по делу.
Подписаться

Похожие статьи

Популярные темы на сайте