Comments 33
Здорово! Жаль сам брокер не предоставляет похожий удобочитаемый отчет
фанаты MySQL всё равно меня заминусуют
скорее фанаты SQLite :)
сделать .exe файл, но не знаю насчёт вариантов его безопасного распространения.
возможно слив токена не самое страшное, т.к. его можно быстро сменить. Exe в целом, почти что угодно может сделать на компе, не относящееся к инвестициям
Некоторые мне писали с идеей разработки сайта, чтобы у инвесторов, не связанных с IT, появилась возможность воспользоваться программой онлайн, ничего себе не устанавливая. Если соберётся соответствующая команда, попробуем сделать.
Надо все же попробовать прикрутить api принимающий на вход все сделки в json из запроса ниже, а на выход вашу табличку
curl -X GET "https://api-invest.tinkoff.ru/openapi/operations?from=2015-01-01T10%3A00%3A00%2B03%3A00&to=2030-01-01T10%3A00%3A00%2B03%3A00" -H "accept: application/json" -H "Authorization: Bearer t.TOKEN"
Конечно SQLite и его не надо устанавливать дополнительно.
Подтверждаю, что с данным хаброюзером постоянно находимся на связи и обсуждаем возможные изменения и планы по дальнейшему развитию. Со своей стороны да, я дополнил отчетность небольшим скриптом, который:
Запускает скрипт в определенное время
После генерации файла складывает его в определенную папку вида YYYY-MM
Отправляет текущий отчет в Телеграм
Таким образом ежедневно, в рабочие дни вы сможете отслеживать динамику своего портфеля. Если кого заинтересует - готов написать инструкцию на GH.
Что касается гуглотаблицы я чуть "добил" таблицу отсюда https://habr.com/ru/post/516210/ добавив немного новых переменных, столбцов + сделал отдельные вкладки по комиссиям, дивидендам, купонам, налогам. Что не получилось вычисляю стандартными формулами. Для корректной работы необходимо просто вставить свой токен в определенное поле. Кому интересно - могу поделиться.
Автору данной статьи - респект, проделана действительно большая работа и на сегодняшний день например для меня "ежедневный отчет" является очень важным аналитическим инструментов, который позволяет более детально увидеть вещи, которые не показывает брокер(я в хорошем смысле).
ТИ - спасибо за API, это одна из главных причин почему я пока тоже остаюсь у них.
А по LIFO можно результат считать?
Спасибо за ПО. Не очень удобно запускается в докере (чтобы питоновские библиотеки не устанавливать), но терпимо.
Идея с кешем валют вполне очевидная, тем более, вы уже кешируете операции (как я понял по логу).
И ваше начинание меня сподвигло тоже для себя написать небольшой "хелпер" для оперативного анализа по конкретной акции (в экселе чуть менее удобно и вы не учитываете суммы с комиссиями, а это важно для краткосрочных/маржинальный операций в лонг/шорт).
P.S. зачем exe, если есть докер?
Кто бы мне объяснил, что такое докер.. Но наводку принял, изучу, спасибо.
Он у вас там уже поддерживается
Запускается программа файликом main.py или через docker
Да, знаю, это давно ещё добавил кто-то из контрибьюторов. Вопрос в том: сможет ли обычный пользователь Windows, далёкий от программирования, просто скачать мою программу и запустить у себя, без установки дополнительного ПО? Вот на что есть запрос.
возможность воспользоваться программой онлайн, ничего себе не устанавливая
А разве обертка API для других пользователей и обращения с их токенами не противоречит условиям использования API?
Нельзя делать публичный сервис на основе API, т.к. сервис предоставляется только клиентам Тинькофф, без права ретрансляции данных: https://tinkoffcreditsystems.github.io/invest-openapi/faq_rules
Но я так понимаю, речь идёт о том, что запрещается брать данные с API клиента Тинькофф и распространять их не-клиентам. Т.е., например, я не могу сделать публичный сайт с курсами валют, рыночной стоимостью акций, которые берутся из Тинькофф API, чтобы кто угодно заходил и смотрел. И это вполне логично.
А если сайт лишь позволяет клиенту Тинькофф воспользоваться его API, чтобы получить данные для себя самого - наверное можно, и я слышал, что такие сервисы уже есть.
Но лучше у Тинькофф уточнить.
Вот такая бумага FXIT даёт среднюю цену покупки ave.buy in RUB - 0
Ну и соответственно sum.buy in RUB тоже 0
А почему не взяли какой-нибудь pandas для обработки данных вместо работы со списками вручную? Он умеет читать/писать в разные форматы(csv, xlsx, sqlite итд), не нужно будет руками собирать xls, как сейчас. И всякие аналитические пакеты вроде scipy обычно работают с датафреймами пандаса.
Парсить конфиг тоже лучше не вручную, можно взять встроенный configparser: https://pymotw.com/3/configparser/index.html
Аналогично для парсинга опций: https://pymotw.com/3/argparse/index.html
При выплате купонов налог удерживается сразу, но если на счету не хватает средств для удержания налога, он будет удержан при выводе средств вместе с налогом на финансовый результат
А как возникает такой случай, если выплачивается купон и сразу снимается налог, то он должен быть же меньше выплаченного купона. Или после выплаты купона они сразу снимают за что-то другое (например, комиссию) и баланс становится недостаточным чтобы покрыть налог?
Немного некорректно рассчитывается НДФЛ. С этого года ставка 13% применяется к доходу до 5М. С того, что выше, платится по ставке в 15%
Здравствуйте.
Спасибо за подробный обзор и за ваше мнение, нам было интересно прочитать. Как про вашу работу с API, так и анализ разных вариантов для вложения денег. Отдельное спасибо за упоминание Пульса <3
По поводу проблем и замечаний - API пока и правда не поддерживает подарочные бумаги, а ситуация с бумагами TCSG/TCS возникает из-за идентичности ISIN. Мы это скоро поправим. Нам важно получать такой фидбэк от клиентов. Будем дальше расти, развиваться и становиться еще лучше. Удачных инвестиций! :)
Привет!
Очень крутая работа проделана по изучению апи
Есть несколько вопросов:
чем обусловлено использование курса ЦБ вместо биржевого при переводе стоимости иностранных бумаг в рубли?
планируется создание дашбордов/наглядных графиков?
По поводу использования exe - файлов - зачем? -чтобы запускать по двойному клику расчет? - можно тогда команду запуска обернуть в .bat или .sh файл
Привет, спасибо!
в левой части таблицы с портфелем, где market value RUB - считается по текущему рыночному курсу, как в приложении Тинькофф. А в правой части, где расчёт налогов - считается по ЦБ, потому что налоговая считает по курсу ЦБ.
Где всякая общая статистика, тоже по ЦБ, потому что там учитывается то, что происходило в прошлом, а курс ЦБ на конкретную дату всегда один, нельзя взять рыночный курс на вчера, потому что он весь день менялся.
пока не планируется. Даже не знаю, какой график стоит добавить.
Про файлы .bat и .sh, честно, я пока не изучал. Они будут без установленного питона запускаться? Это подойдёт простому пользователю с голой виндой?
Подарочная акция - это вроде и не акция вовсе, а просто сумма на счёте, меняющаяся вместе со стоимостью акции. Об этом где-то в хелпе было написано.
Продолжаем ковырять Тинькофф API. Рассчитываем эффективность инвестиций