Уведомления при изменении цены акций в Тинькофф Инвестициях
Sat 11 September 2021
Соответствующая статья опубликована здесь: https://habr.com/ru/articles/577416
История
В момент всеобщего интереса к теме инвестиций, этим начал заниматься и я. А так как я автоматизирую всё, что попадается мне под руки, эту тему также не обошёл стороной.
Для инвестиций выбрал Тинькофф, как один из наиболее популярных и функциональных сервисов. Очень быстро появилась потребность отслеживать цену акций, чтобы держать руку на пульсе. В Тинькофф Инвестициях есть инструмент для этого: уведомления по достижении некоего уровня цены. Но это уведомление срабатывает один раз и его приходится ставить заново, что неудобно. Подходящий для меня функционал обнаружил в приложении Investing.com: уведомление придёт, если цена акции изменится на заданную в процентах величину. После уведомления счётчик сбрасывается и уведомление придёт снова, если это повторится. Установил приложение и добавил для отслеживания свои акции - то что нужно!
Но со временем, когда я продал несколько акций и купил другие, стало понятно, что вносить те же изменения в приложении Investing.com мне лень + раздражало лишнее приложение на телефоне. Благо, у Tinkoff Investing есть API. Решил реализовать тот же функционал с уведомлениями, но непосредственно для моих акций, а уведомления получать в Telegram. Так родился проект https://github.com/DiTsi/tinkoff_investing_notifier.
Конфигурация
Telegram
Необходимо создать бота в Telegram (инструкция) и получить его Токен и ID группы или пользователя, которому бот должен посылать уведомления.
Tinkoff Investing Токен
ВНИМАНИЕ! Токен даёт доступ к вашему портфелю. Обеспечьте его безопасное хранение.
Для работы приложения необходимо получить токен для Тинькофф Инвестиций здесь.
.env file
Рядом с docker-compose.yml файлом создаём файл .env с переменными окружения, где прописываем все поля:
TIMEZONE=Europe/Moscow
TOKEN= # Токен для Tinkoff Investing API
TELEGRAM_GROUP= # ID группы или пользователя Telegram,
# куда бот будет отправлять сообщения
TELEGRAM_TOKEN= # bot token
MARIADB_HOST=
MARIADB_PORT=3306
MARIADB_DB=
MARIADB_USER=
MARIADB_PASSWORD=
docker-compose.yml
В docker-compose.yml необходимо поправить environment.
config.yml
notifications:
stock_change:
percent: 2.0 # на какую величину должна измениться цена на акцию
# для получения уведомления
На этом конфигурация завершена, можно запускать через
docker-compose up -d
Скриншоты
Так выглядят уведомления. При нажатии на название акции вас перебросит в портфель на соответствующую акцию.
Также поддерживаются уведомления о покупке / продаже акций:
Заключение
В коде есть что поправить, есть функционал, который хотелось бы нарастить, но, к сожалению, нет времени + интерес сместился в другую плоскость. Чувствую, что нескоро вернусь к проекту, чтобы исправить его недостатки, поэтому публикую как есть - надеюсь, не только мне будет полезен функционал. У меня уже несколько месяцев проложение работает и помогает мне следить за курсом.