Fullstack Python программист
Прямой работодатель IT-ServiceGP ( itservicegp.ru )
Опыт работы от 3 до 5 лет
Для усиления текущей команды ищем Python, Full stack (Фулстек) программиста, которому будем делегировать задачи, проектно.
Требуемый минимальный уровень: middle, опыт от 3 лет.
Требуемый стек по текущему проекту: Python (.Net), PostgresSQL, TinkoffAPI (SDK), OS Windows.
Желательно опыт в работе асинхронными методами и в многозадачном программировании.
Готовы работать на постоянной основе, программист требуется в помощь основному разработчику.
В большинстве случаев работа ведется в проектах связанных с фондовыми и крипто рынками, не только внутри России, но и с иностранными заказчиками.
Сейчас есть задача на разработку следующего характера, требуется оценка планируемых работ по ней (стоимость, сроки, ориентировочное кол-во часов на выполнение, стоимость 1 часа):
Техзадание на разработку бота.
1. Коннектор к брокерскому счету в Т-банке.
Используя Tinkoff API (есть SDK), разработать коннектор, реализующий основной функционал для работы с брокерским счетом, открытым в Т-банке. Должны быть разработаны методы получения информации о текущих позициях, ордерах, сделках, связанных с позицией, текущем балансе, портфеле ценных бумаг, лимитах на использование денежных средств, лимитов на открытие позиций по каждому инструменту, текущих лимитов цен, для покупки или продажи. Методы для постановки и отмены ордера (заявки).
2. Архитектура базы данных.
Используя ОРМ или прямые запросы к базе данных, сохранять, а также считывать из базы данных всю информацию, относящуюся к торговле бота. Создаются следующие примитивы (таблицы) Стратегия, Контракт, Бот (для каждой стратегии и контракта). Для каждого бота Настройки, Позиции, Субпозиции, Ордера, Сделки. При запуске бота, бот должен читать текущее состояние из базы данных, при чтении с помощью коннектора отслеживать каждое событие на счете в рамках созданной архитектуры, и сохранять данные в базе. Сохранение данных в базе должно быть создано в отдельном потоке, чтобы не мешать основной работе бота.
3. Алгоритм
Бот периодически проверяет и читает, при обнаружении файл советника (текстовый файл .csv) с целеуказанием об открытии позиции на счете, после прочтения, открывает позицию в соответствие с текущими настройками. После открытия позиции, в соответствие с настройками, бот закрывает позицию, а также все время нахождения в позиции проверяет текущий финансовый результат, и выходит из позиции, либо по тейк-профиту (достижение результатом определенной прибыли), либо по стоп-лоссу (достижение результатом определенного убытка). Время и периодичность чтения файла советника устанавливается в настройках.
4. UI
Необходимо разработать пользовательский интерфейс со следующим функционалом.
- изменение и сохранение настроек
- запуск и остановка бота
- отображение текущих позиций в разрезе стратегии, инструмента, бота. А именно сумма открытой позиции, количество контрактов, прибыль/убыток
- отображение всех позиций в разрезе инструмента, и общий результат работы