Giter Club home page Giter Club logo

tinkoff_trader's Introduction

Торговый робот на бирже через API Tinkoff


Основные функции:
- Принятие решения о покупке бумаги, основанного на соблюдении одного или нескольких условий. Условия задаются на данные статистики торгов прошлых периодов (свечи);
- Отслеживание достижения цены бумаги ожидаемого уровня;
- Механизм выставления завки на покупку/продажу, отслежиание выполнения этой завки;
- Механизм ведения балансов денеждных средств, реестра купленных бумаг, журнала проданных бумаг;
- Возможность параллельной реализации нескольких стратегий: одна стратегия работает на бою с реальными деньгами и сделками, а рядом с ней на тех же рыночных данных работают стратегии с другими правилами. Для сравнения и выбора оптимальной стратегии;
- Логирование работы;
- Построение статистики по проведенным сделкам;


Структура файлов проекта:

PROD                     - папка стратегии 1
 - balances.txt          - файл с балансами денежных средств
 - bought.txt            - реестр купленных бумаг
 - check_curve.txt       - настройки правила 1
 - check_level.txt       - настройки правила 2
 - log.txt               - log уровня стратегии
 - rejected_requests.txt - список невыполненных заявок
 - request.txt           - выставленные заявки
 - sold.txt              - журнал проданных бумаг
 - trial_params.txt      - настройки стратегии 1
delete_to_stop.txt       - файл для остановки процесса
error_log.txt            - log для ошибок
log.txt                  - общий log
params.txt               - файл общих параметров
show_table.py            - ежедневная статистика продаж
show_trade_statistic.py  - статистика по стратегиям
token.txt
trader.py                - основной скрипт робота
trials.txt               - список стратегий


Пример заполнения params.txt:

TIME_GAP=30            - период цикла прохода по стратегиям не меньше 30 мин.
START_TIME=7           - до 7 утра не работает
END_TIME=2             - после 2 ночи не работает
START_BUY_TIME=10      - до 10 утра ничего не покупает
SELL_PROD_PERIOD=30000 - период внеочередной продажи для PROD 
SLEEP_PERIOD=5         - период сна


Пример заполнения trial_params.txt:

COMMISSION=0.00025     - комисия за сделку на тарифе
PROFIT=0.01            - продавать если выросла на 1%
EXPENSIVE_RUB=3300     - покупать рублевые акции не дороже 3300руб.
EXPENSIVE_USD=200      - покупать USD акции не дороже 200$
STOP_BUYING=N          - запретить покупку
ENVIRONMENT=PROD       - признак боевой стратегии
SELL_TRACKING_HOURS=24 - отслеживать недавно проданные акции
MAX_SPREAD=0.005       - максимальный спред между спросом и предложением


Пример заполнения check_curve.txt

DAYS=1         - в течение последнего дня
PERIOD=15min   - на 15минутных свечах
DESCENT_PERC=3 - цена падала на 3% от максимума
ADVANCE_PERC=1 - а после отскакивала на 1%
TIMES=1        - таких волн было как минимум 1шт.


Пример заполнения check_level.txt

START_PEROD_DAYS=15 - за 15
END_PEROD_DAYS=1    - предыдущих
PERIOD=day          - дней
HIGH_LEVEL_QTY=3    - максимальная сегодняшняя цена достигалась 3 раза (дня)
LOW_LEVEL_QTY=0     - минимальная сегодняшняя цена не встречалась ни разу

tinkoff_trader's People

Contributors

mitjash avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.