Skip to content

MeShootIn/go-trading-bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

go-trading-bot

Целью курсового проекта является написание торгового робота на платформе kraken-demo. Демонстрационная платформа не требует никаких персональных данных при регистрации и выполняет заявки в песочнице, не требуя никаких реальных средств для взаимодействия с платформой.

Критерии успешно выполненного задания:

  1. Релизован механизм аутентификации робота на демо-платформе для получения информации и реализации заявок.
  2. Реализованы REST-эндпоинты для работы с роботом (задание инструмента для работы, настройка параметров, запуск/стоп робота и т.д.)
  3. Робот должен поддерживать http протокол для работы с демо-биржей.
  4. Робот должен уметь подключаться с помощью web-socket до сервера демо-биржи для подписки на стаканы по инструментам.
  5. Робот должен имплементировать один любой торговый индикатор для принятия решения по выставлению заявки.
  6. Информацию о всех выставленных заявках робот должен хранить в Postgres хранилище.
  7. Информацию о всех выставленных заявках робот должен отправить в Telegram-бота.
  8. Критичный функционал программы должен быть покрыт unit-тестами.
  9. Должна быть оформлена документация по запуску и управлению роботом (README обязательно, swagger ui необязательно)

Подробнее о каждом пункте:

  1. Регистрация/аутентификация на платформе - здесь можно зарегистрироваться и получить токен для работы с демо-платформой.

  2. REST, WS эндпоинты для работы с биржей - обратите внимание, что мы работаем с демо-биржей, у которой в url есть префикс "demo-", например demo-futures.kraken.com вместо futures.kraken.com. Документация по работе с платформой тут.

  3. Торговые индикаторы wiki - если нет желания заниматься реализацией математики в коде, допустимо использовать простейший индикатор типа stop-loss/take-profit. Логика для него выглядит следующим образом: купи/продай при достижении заданного значения цены. Работа с индикатором должна быть максимально абстрагирована от остальной логики робота, для удобства проверки - мы не будем смотреть реализацию индикатора, но будем смотреть как он используется в роботе.

  4. Хранение данных допустимо как с использованием ORM так и без него.

  5. Создание и настройка телеграм-бота: core.telegram.org/bots

  6. Чем выше покрытие юнитами - тем лучше. Но обязательным считается покрытие не менее 25% функционала.

Сценарий демонстрации курсового проекта:

  1. Студент рассказывает про свой проект, представляет архитектуру проекта, вкратце представляет используемый индикатор.
  2. Студент демонстрирует документацию проекта, запускает робота по инструкции.
  3. Студент демонстрирует работу с роботом, настройку и запуск стратегии по выбранному инструменту.
  4. Студент демонстрирует результаты работы робота - записанные в бд заявки, сообщения от бота в telegram. Допустимо показывать заранее собранные результаты запуска программы, если стратегия не гарантирует быстрого результата на платформе.
  5. Студент демонстрирует результаты coverage для выполненных тестов в проекте.
  6. Студент заканчивает презентацию проекта, отвечает на вопросы.

About

trading bot for the Kraken Futures platform with "stop-loss" and "take-profit" strategies

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages