IntelOut / tinkproject

The programm for collecting data from Tinkoff API and building Excel table.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

tinkproject

The program for portfolio analysis via Tinkoff API

Hello! This is my first project, please, don't judge me. This project was developed for Tinkoff Investments' clients, like me, to gether accurate and full information about portfolio into Excel table.

Здравствуйте! Это мой первый проект, пожалуйста не судите строго. Этот проект был разработан для клиентов Тинькофф Инвестиций, чтобы собирать подробную информацию об инвестиционном портфеле в таблицу Excel.

Статья на Хабре: https://habr.com/en/post/555884/

Для автоматического сбора информации используется Tinkoff API. Для использования вам нужно получить токен для OpenAPI в личном кабинете Тинькофф.

Параметры доступа

Далее вам нужно СОЗДАТЬ файл my_account.txt со следующим содержимым построчно:

Ваш Токен для OpenAPI
Временная зона, например: Asia/Yekaterinburg
Год начала инвестирования
Месяц начала инвестирования
День начала инвестирования

Для отправки результатов на FTP также надо СОЗДАТЬ файл creds.txt со следующим содержимым построчно:

хост FTP
логин FTP
пароль FTP
директория FTP, куда загрузить файлы

После отправки - файлы удаляются.

Программа будет собирать данные за указанный вами период по всем брокерским счетам (включая ИИС). Для работы программы все файлы программы: main.py, excel_builder.py, data_parser.py, my_account.txt, creds.txt - должны находиться в одной папке.

Запуск

Для работы программы на вашем компьютере должен быть установлен Python 3.9

Запускается программа командой python main.py или через docker:

docker build -t tinkproject .
docker run --rm -it -v $(pwd):/app tinkproject

Чтобы не печатать логи, при запуске через командную строку добавьте опцию -q или --quiet.

Наоборот, для отладки добавьте -d или --debug.

Внимание: бумаги, полученные в подарок, например за приведённого друга, могут не выдаваться через API и в отчёте они тоже будут отсутствовать. Таким образом, если есть подаренные бумаги, итоговый баланс портфеля будет отличаться от того, который в приложении Тинькофф.

Бумаги, полученные в результате дробления или, возможно, каких-то других корпоративных событий, в отчёте могут частично отображаться нулевыми значениями.

Результат

Полученный отчёт включает следующие разделы:

Portfolio - текущий портфель

<рыночные цены>

Market today rates: курсы валют по бирже

name - название актива

ticker - тикер

balance - количество бумаг в портфеле

currency - валюта, в которой бумага торгуется

ave.price - средняя цена покупки бумаги

exp.yield - ваша потенциальная выручка при полной продаже данного актива

market price - текущая рыночная стоимость одной бумаги данного актива

%change - процент изменения стоимости по сравнению со средней стоимостью покупки

market value - текущая рыночная стоимость всего актива

market value RUB - текущая рыночная стоимость всего актива в рублях по рыночному курсу соответсвующей валюты

ave.% - средний процент изменения стоимости всех бумаг

total value - общая рыночная стоимость всего портфеля в рублях

<перерасчёт по курсу ЦБ>

CB value RUB - стоимость актива в рублях по сегодняшнему курсу ЦБ

ave.buy in RUB - средняя цена покупки одной бумаги в рублях по курсу ЦБ на дату покупки

sum.buy in RUB - общая стоимость преобретения актива в пересчёте на рубли по курсу ЦБ на дату покупки

tax base - налоговая база - разница, облагаемая налогом

expected tax - предполагаемая сумма удерживаемого налога по ставке 13%, если актив будет продан сегодня

Небольшой анализ

Investing period - анализируемый период инвестирования, начниая с даты, которую вы указывали в текстовом файле

PayIn-PayOut - сумма всех внесённых на счёт средств (в рублях по курсу ЦБ на дату внесения) минус сумма всех выводов средств.

Commissions payed - сумма всех комиссий, удержанных брокером

Taxes payed - сумма всех налогов, удержанных брокером

Clean portfolio - рыночная стоимость всего портфеля за вычетом предполагаемой суммы налога, которая будет удержана (комиссия брокера не учитывается!)

Profit - это Clean portfolio минус PayIn-PayOut

XIRR - так называется формула Excel для расчёта эффективности инвестиций с учётом всех пополнений и выводов (irregular internal rate of return). Считается в процентах годовых.

Operations - списки всех операций

Здесь всё стандартно, сами переведёте, если что

Coupons and Dividends

Список выплаченных купонов и дивидендов. Так же отображаются налоги, удержанные при выплате.

Для счетов ИИС - табличка расчета объема налогового вычета по годам.

Parts

Структура портфеля по валютам и типам активов. Представлено в подробном и сокращенном вариантах, а так же в графическом представлении.

Ограничения, связанные с особенностями API Тинькофф банка

About

The programm for collecting data from Tinkoff API and building Excel table.

License:GNU General Public License v3.0


Languages

Language:Python 99.8%Language:Dockerfile 0.2%