⚠︎ Архивная вакансия
Эта вакансия была перемещена в архив. Возможно она уже не актуальна и рекрутер больше не принимает отклики на эту вакансию. Вы можете  найти актуальные похожие вакансии

Fullstack Python программист

Прямой работодатель  IT-ServiceGP ( itservicegp.ru )
Миддл • Сеньор
Информационные технологии • Разработка • Fullstack • Python • PostgreSQL • Blockchain • Desktop • Заказная разработка • Системная интеграция
14 апреля
Удаленная работа
Опыт работы от 3 до 5 лет
Работодатель  IT-ServiceGP
Описание вакансии

Для усиления текущей команды ищем Python, Full stack (Фулстек) программиста, которому будем делегировать задачи, проектно.

Требуемый минимальный уровень: middle, опыт от 3 лет.

Требуемый стек по текущему проекту: Python (.Net), PostgresSQL, TinkoffAPI (SDK), OS Windows.

Желательно опыт в работе асинхронными методами и в многозадачном программировании.

Готовы работать на постоянной основе, программист требуется в помощь основному разработчику.

В большинстве случаев работа ведется в проектах связанных с фондовыми и крипто рынками, не только внутри России, но и с иностранными заказчиками.

Сейчас есть задача на разработку следующего характера, требуется оценка планируемых работ по ней (стоимость, сроки, ориентировочное кол-во часов на выполнение, стоимость 1 часа):

 

Техзадание на разработку бота.

1. Коннектор к брокерскому счету в Т-банке.

Используя Tinkoff API (есть SDK), разработать коннектор, реализующий основной функционал для работы с брокерским счетом, открытым в Т-банке. Должны быть разработаны методы получения информации о текущих позициях, ордерах, сделках, связанных с позицией, текущем балансе, портфеле ценных бумаг, лимитах на использование денежных средств, лимитов на открытие позиций по каждому инструменту, текущих лимитов цен, для покупки или продажи. Методы для постановки и отмены ордера (заявки).

2. Архитектура базы данных.

Используя ОРМ или прямые запросы к базе данных, сохранять, а также считывать из базы данных всю информацию, относящуюся к торговле бота. Создаются следующие примитивы (таблицы) Стратегия, Контракт, Бот (для каждой стратегии и контракта). Для каждого бота Настройки, Позиции, Субпозиции, Ордера, Сделки. При запуске бота, бот должен читать текущее состояние из базы данных, при чтении с помощью коннектора отслеживать каждое событие на счете в рамках созданной архитектуры, и сохранять данные в базе. Сохранение данных в базе должно быть создано в отдельном потоке, чтобы не мешать основной работе бота.

3. Алгоритм

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

4. UI

Необходимо разработать пользовательский интерфейс со следующим функционалом.

- изменение и сохранение настроек

- запуск и остановка бота

- отображение текущих позиций в разрезе стратегии, инструмента, бота. А именно сумма открытой позиции, количество контрактов, прибыль/убыток

- отображение всех позиций в разрезе инструмента, и общий результат работы