akimdi / tinkyclient

Tiny client for Tinkoff OpenAPI

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Rubocop

TinkyClient — tiny client for Tinkoff OpenAPI

Предлагаю вашему вниманию небольшой консольный Ruby-клиент для доступа к брокерскому аккаунту Тинькофф Инвестиции. На данный момент это очень ранняя пре-альфа-версия, реализовано только отображение портфолио. Цель проекта — сделать удобный консольный клиент для контроля своих активов, дополняющий официальное мобильное приложение Инвестиции.

Portfolio

Быстрый старт

Требования:

$ bundle
$ echo TINKOFF_OPENAPI_TOKEN=ваш_токен > .env.local
$ bin/portfolio
$ bin/wallet
$ bin/console

Основные функции

Портфель

Вывод подробной таблицы портфеля со всеми позициями на вашем брокерском аккаунте.

$ bin/portfolio

Колонки таблицы

  • Type — тип актива.
    • STOCK — акции.
    • BOND — облигации.
    • ETF — инвестиционный фонд.
  • Name — название актива.
  • Amount — количество в штуках или сумма в валюте.
  • Avg. buy — средняя цена покупки актива. Показатель берётся напрямую из OpenAPI. Например: если вы купили 2 акции за 10 и 20 рублей, то средняя цена покупки будет 15 рублей. От этой стоимости и текущей цены считается ожидаемый доход.
  • Current price — текущая цена актива. Не отдаётся напрямую из OpenAPI, поэтому программа вычисляет цену по формуле: ((balance * avg_buy_price) + expected_yield) / balance. Возможно небольшое отличие от тикеров на сервере брокера.
  • Yield — ожидаемый доход в валюте. Показатель берётся напрямую из OpenAPI.
  • Yield % — ожидаемый доход в процентах. Не отдаётся напрямую из OpenAPI, поэтому программа вычисляет процент по формуле: expected_yield / (avg_buy_price * balance) * 100.

Валюта

Показывает, сколько и какой валюты доступно вам для инвестирования.

$ bin/wallet

Portfolio

Консоль

Консоль для удобной отладки и тестирования программы.

$ bin/console

Внутри консоли доступны для вызова публичные методы модуля Tinky:

pry(Tinky)> portfolio
pry(Tinky)> wallet
pry(Tinky)> exchange_rates(positions)
pry(Tinky)> total_amount(positions)

Уведомление о защите персональных данных

  1. Используя этот проект, никакие персональные данные НЕ ПЕРЕДАЮТСЯ никаким третьим лицам скрыто или явно.
  2. Использование этого проекта не требует от пользователя никаких логинов, паролей, номеров телефона и других персональных данных.
  3. Для доступа к вашем брокерскому счёту вы используете только ваш персональный токен из личного кабинета Тинькофф Инвестиций.
  4. Этот токен вы генерируете самостоятельно.
  5. Для нормальной работы этой программы вы самостоятельно записываете токен в текстовый файл, который сохраняется только на вашем устройстве.
  6. Вы можете в любой момент отозвать (деактивировать) свой токен, если у вас возникнут подозрения в компрометации.

Лицензия

MIT License. Используйте как хотите и где хотите на свой страх и риск.

Отказ от ответственности

Автор ничего не гарантирует и не отвечает ни за какие финансовые потери и риски пользователя, связанные с использованием этой программы. Программа разработана в образовательных целях, для обучения программированию и изучения языка Ruby. Несмотря на это, используя эту программу вы можете как потерять, так приобрести реальные денежные средства.

Ссылки

About

Tiny client for Tinkoff OpenAPI

License:MIT License


Languages

Language:Ruby 100.0%