Skip to content

ya-erm/TTExtension

Repository files navigation

Tinkoff Trader Chrome Extension

Portfolio

Оглавление

  1. Описание
  2. Инструкция по установке
  3. Получение токена
  4. Подсчёт средней цены
  5. Отображение портфеля
  6. Отображение сделок
  7. Отображение комиссий
  8. Предложения по улучшению
  9. Поддержать проект

Описание

Tinkoff Trader Chrome Extension - это расширение для браузера Chrome (и других, основанных на движке Chromium: Яндекс.Браузер, Opera, и т.д.), которое добавляет некоторые возможности, которых нет в Web-Терминале и мобильном приложении Тинкофф.Инвестиции.

Список возможностей:

  • удобное компактное отображение текущего портфеля с основной информацией в любое время
  • подсчёт и отображение зафиксированной прибыли или убытка по каждой позиции и в сумме
    • подсчёт и отображение зафиксированной прибыли или убытка за торговый день
    • подсчёт и отображение зафиксированной прибыли или убытка по каждой сделке с учётом комиссии
  • правильный подсчёт средней цены акции по сделкам (подробнее см. в Подсчёт средней цены)
    • опциональная возможность замены значений в столбцах 'Средняя', 'Доход' и 'Доход, %' на странице Web-Терминала
    • опциональная возможность добавления столбца 'Зафиксировано' на странице Web-Терминала (в разработке)
  • детальное отображение сделок по каждой позиции (см. Отображение сделок)
  • подсчёт суммарной брокерской, маржинальной комиссии и платы за обслуживание счёта
  • подсчёт суммарных выплаченных дивидендов акций и купонов по облигациям
  • отображение нулевых (закрытых) позиций для учёта прибыли и отслеживания текущей цены
  • поддерживается ИИС (индивидуальный инвестиционной счёт)

Запланировано:

  • фильтрация таблицы позиций
  • отображение активных и отложенных заявок и их потенциальную прибыль
  • отображение всех позиций с конвертацией в выбранную валюту
  • ваши предложения и пожелания

Инструкция по установке

Данное расширение находится в стадии разработке и ещё не опубликовано в магазин расширений Chrome.
Установить расширение можно вручную с помощью режима разработчика:

  1. Скачайте исходный код из репозитория (зелёная кнопка Code, затем Download ZIP), распакуйте архив
  2. Откройте в браузере страницу chrome://extensions/
  3. Включите Режим разработчика (переключатель в правом верхнем углу)
  4. Нажмите на кнопку Загрузить распакованное расширение и укажите путь к папке

ChromeExtensions

Обновление до последней версии

В этом репозитории всегда хранится последняя версия расширения.
Чтобы своевременно получать уведомления о новых версиях этого расширения вы можете нажать кнопку Watch в правом верхнем углу.

Распакованное обновление обновляется автоматически при замене файлов в папке, которая была указана при установке, поэтому чтобы обновить расширение достаточно скачать последнюю версию исходного кода и распаковать в ту же папку с заменой файлов (или можно очистить содержимое папки и распаковать файлы из архива в пустую папку, данные при этом не удалятся, они хранятся в браузере).


Получение токена

Для доступа к информации о портфеле используется токен авторизации OpenAPI

  1. Зайдите в свой аккаунт на https://tinkoff.ru/
  2. Перейдите в раздел Инвестиции, откройте Настройки
  3. Функция Подтверждение сделок кодом должна быть отключена
  4. Создайте новый токен в разделе Токены Tinkoff Invest API (https://www.tinkoff.ru/invest/settings/api/)
  5. Выберите Все счета и Полный доступ (В настоящее время токены с доступом только для чтения и токены на субсчета не поддерживаются в текущей версии Tinkoff Investment Open API, см. issue #30)
  6. Скопируйте токен и сохраните его в надёжном месте. Токен отображается только один раз, просмотреть его позже не получится. Тем не менее можно выпускать неограниченное количество токенов.

Отозвать токен OpenAPI можно на странице https://id.tinkoff.ru/account


Подсчёт средней цены

Проблема: На текущий момент в Тинкофф средняя цена рассчитывается по принципу FIFO (first input first output), а зафиксированная прибыль вовсе не отображается, что доставляет большое количество неудобств при частичной продаже позиций, т.к. средняя цена занижается, и потом даже может быть отображено, что позиция находится в прибыли, а на самом деле это может быть не так.

Допустим было две сделки покупки: 1 акция по 10$ и ещё 1 акции по 5$, средняя цена 7.5$, пускай сейчас эта акция стоит 8$ за шт., продаём 1 акцию за 8$, т.е. фиксируем прибыль в 0.5$ (без учёта комиссий), у нас остаётся 1 акция, считаем что её средняя цена по прежнему 7.5$, а не 5$ как это делает Тинькофф. Если цена этой акции опустится до 7$, то у нас будет потенциальный убыток в 0.5$, что в сумме с зафиксированной прибылью даст 0, а в Тинькофф будет отображаться потенциальная прибыль в 2$, что немного сбивает с толку. (подробнее см. здесь)

Решение: В этом расширении средняя цена рассчитывается по сделкам открытия (и усреднения) позиции, как это и предлагается в идее выше. Например, для торговли "в лонг" учитываются только сделки покупки.


Отображение портфеля

При щелчке на значок расширения отобразится всплывающее окно с открытой вкладкой Portfolio. На этой вкладке отображается таблица позиций с группировкой по типу актива. В правом верхнем угла отображается текущая стоимость портфеля (Число должно совпадать или почти совпадать с тем, что отображается в мобильном приложении или Web-Терминале. Если числа совсем разные - вероятно где-то ошибка, сообщите об этом разработчикам, создав новое Issue в GitHub)

Описание столбцов

PortfolioAdd

  • Asset - название актива
    • нажатие на кнопку "+" в шапке таблицы откроет модальное окно добавления позиции, которой нет в списке (например, чтобы можно было видеть текущую цену или посмотреть сделки по этой позиции)
    • нажатие на кнопку фильтрации откроет модальное окно фильтрации списка позиций (в разработке)
    • нажатие средней кнопки мыши на иконке актива откроет в новой вкладке страницу описания на сайте Тинькофф
  • Count - текущее количество
  • Average - средняя цена
  • Price - текущая цена на бирже
  • Cost - стоимость (количество × цена)
  • Expected - ожидаемая прибыль или убыток
  • Fixed - зафиксированная прибыль или убыток (All - за всё время, Day - за текущий торговый день)

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

PortfolioTotal


Отображение сделок

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

Fills

Описание столбцов

  • № - порядковый номер сделки по выбранному активу
  • Date & Time - дата и время операции
  • Dir - направление сделки (покупка или продажа)
  • Price - цена за одну единицу актива
  • Qnt - количество
  • Payment - стоимость (цена × количество)
  • Fee - комиссия
  • Cur - текущее количество в портфеле
  • Average - средняя цена
  • Position - текущая стоимость (текущее количество × средняя цена)
  • Fixed P&L - зафиксированная прибыль или убыток

Отображение суммарной комиссии за обслуживание и других операций

Чтобы увидеть таблицу нажмите на ссылку Operations в последней строке таблицы портфеля.

После загрузки всех операций (это может занять длительное время) будет отображена таблица и подытоживающие строки.

  • ServiceCommission - плата за обслуживание счёта (может быть не совсем точной из-за разницы курса)
  • MarginCommission - комиссия за маржинальную торговлю

Operations

Таблица поддерживает фильтрацию по типу операций. Нажмите на значок фильтрации в шапке таблицы и выберите нужные опции в модальном окне.


Предложения по улучшению, идеи, ошибки

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

Однако, я с радостью ознакомлюсь с вашими предложениями по улучшению или новыми идеями и буду рад сотрудничеству и пулл-реквестам.

Об обнаруженных ошибках вы можете написать в Issues. Идее и предложения пишите тоже туда.


Поддержать проект

Если вам понравилось расширение и вы хотите выразить благодарность, вы можете оставить пожертвование: https://www.tinkoff.ru/sl/7y1GbjXh4FL

QRCodeDonate

Буду рад, если это расширение помогло сэкономить время и деньги не только мне но и вам! 😊