что значит собрать портфель в тинькофф
Блог компании Тинькофф Инвестиции | «Легкий портфель»: как собрать портфель на всю жизнь
В начале этого года я собрал инвестиционный портфель, который показывает неплохие результаты (доходность смотрите в профиле Пульса).
Этот портфель я назвал «легкий портфель».
Почему легкий?
Потому что его легко собрать новичку, легко нести по жизни, с ним легко принимать решения и легко пользоваться его результатами на пенсии.
Этот портфель задуман на всю жизнь. Он состоит из 15 фондов:
FXWO, FXIT, FXCN, SBSP, SBMX, AKNX, VTBE, RUSB, VTBB, FXRU, FXGD, FXRB, TRUR, TUSD, TEUR. Три последних — это «Вечные портфели» Тинькофф.
Фонды выбирались из расчета максимальной диверсификации и отрицательной корреляции друг между другом.
Если разбить «Вечные портфели» Тинькофф на составляющие, то структура моего портфеля такова:
25% рублевых активов,
75% валютных активов.
Как жить с таким портфелем
Для «легкого портфеля» стоит открывать ИИС только по типу А, если у вас белая зарплата и можно получить налоговый вычет.
По типу Б не стоит, так как через три года вы и так освобождаетесь от налогов за долгосрочное владение.
Если на каком-то этапе разница между любыми двумя фондами составит 12% и вы не сможете ее устранить с помощью регулярных пополнений, то — для поддержания заданных пропорций — продаем часть самого дорогого фонда и покупаем часть самого дешевого.
Через три года можно смело балансировать портфель путем продажи и покупки фондов при расхождении на 12%.
Когда наступит время пользоваться результатами инвестирования, действуем от обратного: раз в месяц продаем 1% от портфеля, выбирая фонды, которые выросли больше других, и поддерживая их в равных пропорциях.
Про доходность
Ожидаемая средняя доходность «легкого портфеля» — 24% годовых в рублях. Правильный расчет или нет — покажет время.
Откуда возьмется такая доходность?
1. Портфельный эффект.
2. Валютная переоценка.
3. Налоговая оптимизация (прошло три года — налогов нет).
4. Индексное инвестирование исторически показывает высокие результаты.
5. Понятные и легко реализуемые стратегия и тактика. Стратегия, даже без тактики, — это самый медленный путь к победе, а тактика без стратегии — это просто суета перед поражением. По крайней мере, так считал известный китайский стратег Сунь-цзы.
Каждый из этих пяти пунктов заслуживает отдельной статьи. Но если у вас возникли вопросы уже сейчас — пишите в комментариях.
Автор: Андрей Кузнецов, профиль в Пульсе — PORTFOLIO
Мы решили разнообразить блог Тинькофф Инвестиций и дать слово инвесторам, которые являются нашими клиентами. Теперь мы регулярно будем публиковать тексты внешних авторов. Если у вас есть текст, вы хотите им поделиться и получить вознаграждение, пишите на editors_wealth@tinkoff.ru.
Мнение автора может не совпадать с мнением редакции Тинькофф Инвестиций. Ценные бумаги и другие финансовые инструменты, упомянутые в данном обзоре, приведены исключительно в информационных целях; обзор не является инвестиционной идеей, советом, рекомендацией, предложением купить или продать ценные бумаги и другие финансовые инструменты.
Как собрать портфель из лучших акций в скринере Тинькофф
Каждый день только на Санкт-Петербургской бирже торгуется около 1300 иностранных акций и депозитарных расписок. Для инвесторов, желающих выбрать отдельные акции, возникает важный вопрос — как выбирать акции для покупки?
Некоторые российские инвесторы предпочли бы просто покупать индексные ETF-фонды, как самый простой способ инвестировать в рынок и получать среднюю доходность, но есть целый ряд причин, почему этого лучше не делать:
— иностранные ETF обращаются не на самой Санкт-Петербургской бирже, а на внебиржевом рынке — соответственно, присутствует риск низкой ликвидности в периоды форс-мажоров,
— бумаги с внебиржевого рынка нельзя покупать на ИИС,
— на них не действует налоговая льгота на 3-х летнее владение,
— более того, для покупки ETF нужен статус квалифицированного инвестора, который могут получить не все.
Таким образом, огромному количеству рядовых инвесторов иностранные ETF на Санкт-Петербургской бирже не доступны. Помимо этого, выскажу свое мнение, что ETF — это не самый лучший способ инвестиций, поскольку в их составе обязательно присутствуют акции явных аутсайдеров, поскольку так устроен механизм индексного ETF.
Самостоятельное формирование портфеля акций позволит отобрать только лучшие компании, отвергнув аутсайдеров, что позволит превзойти рынок в доходности. При этом акции, обращающие именно на Санкт-Петербургской бирже — имеют налоговые льготы (ИИС и 3-х летнее владение), в отличие от внебиржевых ETF.
И здесь возникает трудность отбора — как отобрать в свой портфель лучшие акции, и отвергнуть аутсайдеров? Для этого, в инструментарии любого инвестора должен быть скринер акций.
Скринер с помощью серии фильтров поможет вам сузить область поиска с тысяч акций до нескольких. Независимо от того, являетесь ли вы дневным трейдером, просматривающим фондовый рынок в поисках краткосрочных торговых возможностей; или долгосрочным инвестором, проверяющим акции на предмет прибыльности, динамики роста и финансовой устойчивости — вам нужен скринер.
Ранее российским инвесторам приходилось, в буквальном смысле, мучиться при использовании скринеров на западных ресурсах, поскольку:
— все они англоязычные — что создает огромные неудобства для инвесторов, не владеющим английским,
— самое главное неудобство — скринеры на западных ресурсах не имеют возможность отбора российских акций, а также акций иностранных эмитентов, доступных для покупки на Санкт-Петербургской бирже,
— большинство из них — платные.
Я пользуюсь несколькими скринерами и недавно решила попробовать скринер Тинькофф, поскольку они запустили его прямо в приложении — пройти мимо было невозможно.
Я инвестирую уже 10 лет, и (поправьте меня, если ошибаюсь) на моей памяти в российском фондовом сообществе это первый скринер, позволяющий отбирать акции по множеству параметров непосредственно в мобильном приложении, предназначенном для покупки ценных бумаг.
Функционал скринера в Тинькофф широкий — помимо нескольких готовых вариантов фильтров, доступны сортировки по множеству как фундаментальных, так и технических параметров. Например, можно задать в параметрах поиска классические параметры EV / EBITDA и требования к дивидендной доходности в совокупности с процентным изменением цены за день, неделю или год.
Также, можно ограничить условия поиска конкретным сектором или индексом (всего их 5), отобрать акции в конкретной валюте (доллар, евро или рубль), и даже применить требования к региону (Америка, Россия, Европа, Азия и даже Африка).
При желании, можно отобрать дивидендные акции с низким уровнем долга и с наименьшей волатильностью, задав параметр корреляции их волатильности по отношению к рынку “Beta” 3-5%
В результате скринер отобрал для меня 9 отличных дивидендных компании, с низким уровнем долга и волатильностью.
Вас не интересуют дивиденды и Вы ищете молодые и дерзкие (быстрорастущие) компании? Пожалуйста:
— Валюта, Сектор, Регион — любые,
— Рост выручки за 5 лет > 15%
— Процентное изменение цены за год > 30%
Результат скрининга выдал 21 компанию. Какие? Заходите и экспериментируйте — собственный опыт лучше тысячи слов.
Неплохая реклама, но беда с изначальным обозначением проблематики. Рассматриваются минусы иностранных ETF и полностью игнорируются российские, существование которых польностью убивает проблематику статьи.
Некоторые российские инвесторы предпочли бы просто покупать индексные ETF-фонды, как самый простой способ инвестировать в рынок и получать среднюю доходность
иностранные ETF обращаются не на самой Санкт-Петербургской бирже, а на внебиржевом рынке — соответственно, присутствует риск низкой ликвидности в периоды форс-мажоров
Да, но к счастью российский рынок БПИФ/ETF развивается, и уже есть премлемые варианты, например от Finex или того же Тинькова. Дальнейшие перечилсенные проблемы не актуальны, если рассматривать российские фонды.
Самостоятельное формирование портфеля акций позволит отобрать только лучшие компании, отвергнув аутсайдеров, что позволит превзойти рынок в доходности
Очень смелое заявление, основаное, по всей видимости, на одном из двух:
1. Ситуация на рынках больше никогда не будет менятся, лидеры всегда будут оставаться лидерами. Пересмотр портфеля не нужен.
2. Инвестор готов ежедневно мониторить рынок для проведения оперативной ребалансировки в случае, если лидер стал аутсайдером или появились новые лидеры из числа бывших аутсайдеров.
Что такое всепогодный портфель активов и как его собрать
В марте 2020 года рынки обвалились на 25—30% : переживать такие просадки тяжело любому инвестору.
Чтобы переносить обвалы легче, можно собрать всепогодный портфель — то есть, инвестировать в инструменты, цены которых слабо зависят друг от друга: пока одни падают, другие могут расти и держать портфель на плаву.
В этом коротком материале — о том, как выглядит упрощенная структура портфеля и как можно его оптимизировать.
📈 Акции — 30%
Акции дают высокую доходность, особенно в условиях сильной экономики. Но этот инструмент штормит сильнее всего, поэтому его доля в консервативном портфеле не превышает 30%
Как купить: есть FinEx Global Equity (FXWO) — ETF на акции крупнейших международных компаний — или собственный диверсифицированный набор акций. Для квалифицированных инвесторов доступен ETF Vanguard Total Stock Market (VTI)
🏛 Долгосрочные облигации — 40%
Речь про облигации развитых и развивающихся рынков. Первые — самый безрисковый актив, но в нынешних условиях он дает почти нулевую, иногда даже отрицательную доходность.
Вторые — например, отечественные ОФЗ. Они обеспечат повышенный купонный доход, но могут просесть в преддверии рецессии
Как купить: есть российские ОФЗ без ограничений. Для квалифицированных инвесторов — фонд долгосрочных облигаций американского казначейства — ETF iShares 20+ Year Treasury
🏢 Среднесрочные облигации — 15%
Облигации сроком от года до 5—10 лет сбалансируют портфель в преддверии рецессии.
Сюда также можно включить корпоративные облигации — по ним выше доходность, но в кризис они становятся рискованным активом
Как купить: есть БПИФы от ВТБ на корпоративные облигации: США — VTBH, на отечественные компании — VTBB. Для квалифицированных инвесторов — ETF Vanguard Intermediate-Term Treasury (VGIT)
🏆 Золото — 7,5%
Классический защитный инструмент, который часто включают в любой диверсифицированный портфель. Эта часть портфеля дает о себе знать в условиях кризиса, а также при росте инфляции
🛍 Товары — 7,5%
Они же коммодити — широкий спектр сырья, например медь или кофе. Они становятся востребованным активом в условиях подъема экономики. Котировки растут вместе с инфляцией, поэтому товары позволяют защитить капитал от обесценивания
Как купить: через фьючерсы на Московской бирже. Для квалифицированных инвесторов — ETF на коммодити или на сырьевой сектор. Для обычных инвесторов может подойти широкий набор акций сырьевого сектора
💰 По желанию — краткосрочные облигации и валюта
Наличные тоже актив, который в кризисных условиях может быть выгоднее остальных. Ценность денег автоматически возрастает с падением рынков, но важно при этом выбирать крепкую валюту, например франк или доллар.
Эта часть портфеля наиболее уязвима к инфляции. Вместо наличных также подойдут краткосрочные облигации
Как купить: есть ETF на краткосрочные бумаги казначейства США (FXTB) или то же самое, но с рублевым хеджированием (FXMM). Также подойдут отечественные облигации с погашением в течение года. Со статусом квала — ETF Vanguard Short-Term Treasury (VGSH)
💳 По желанию — кредитный рычаг
Рэй Далио, один из создателей всепогодной стратегии, иногда оправдывает применение кредитного плеча. Но применять его нужно только для увеличения доли облигаций, если доля акций сильно выросла и портфель перекосило.
Стоимость займа не должна при этом превышать доходности по облигациям, иначе это слишком опасный вариант
Как купить: есть маржинальные ETF, доступные через иностранных брокеров, например ProShares Ultra 20+ Year Treasury (UBT)
☂️ Как вариант — вечный портфель Tinkoff All-Weather Index
На российском рынке это наиболее приближенное воплощение всепогодной стратегии. В фонде по 25% распределено между акциями, долгосрочными облигациями, золотом и краткосрочными облигациями с наличными
Как купить: на Московской бирже есть три фонда: в рублях (TRUR), долларах (TUSD) и евро (TEUR)
🕶 Как инвестировать и не терять деньги
Что еще стоит знать инвестору:
у вас нет ощущения что российские пифы и етф это лохотрон? они часто покупают американские етф с комиссиями ниже российских в 10+ раз и при этом дерут свои комиссии за такое «управление». их спасает только искуственное препятствие в виде отсутствия доступа к американским етф для российских инвесторов
Alex, Конечно лохотрон, согласен полностью. Вот я например начал инвестировать с января этого года, неквал, что мне предлагается из фондов Мосбиржа? Возьмем к примеру бестолковый БПИФ от ВТБ на американский рынок (комса за управление 0.9%), внутри которого ETF Ishares Core S&P 500 (комса 0.07%). Жадные и ленивые торгаши, купили амер. фонд, упаковали в свой и накинули сверху процент за управление! БЕСПРЕДЕЛ.
Адель, это дичайший зашквар просто. я искренее не понимаю как можно считать своих потребителей такими идиотами?
Адель, посоветуйте начинающему хороший базовый «разбор полетов», а то (честно) голова уже пухнет! Такой разнобой в инфе!
Alex, Тут такое дело, называется ЛДВ. Так вот, и решай что лучше наш с комсой, но после трех лет без НДФЛ. Или забугорный, но с НДФЛ на всю валютную переоценку. Ну, еще и на ИИС ЛДВ не пашет.
Анна-Кристина, для пассивных инвестиций несложно самомоу подсчитать валютную переоценку. а платить ленивым лохотронщикам покупающим чужие етф и берущих за это комиссии больше чем в этих самых етф не хочу
Комментарий удален пользователем
Ildar, не понимаю всё таки такого накала негатива. Возьмем типичного мамкиного инвестора, но осторожного (себя описываю). Я покупаю вдолгую и не торгую, покупаю акции и етф от финекса в тинькофф инвестициях. И хочу увеличить долю етф, потому что суммарная доходность портфеля едва выше доходности фондов, если их рассматривать отдельно.
Комментарий удален пользователем
Ildar, 1-3-5 лет это немного, если изначально ставить целью долгосрок (10-15 лет), не?
Ничто не защитит деньги от инфляции и кризисов, когда они наступают. Только время на это способно, если инвестировать на долго.
Павел, жаль, что данная подборка Вас разочаровала. Если по пунктам:
1) Про акции и облигации указано, что можно собирать собственный набор, не прибегая к фондам. Никто не топит за фонды. В случае с акциями, я лично предпочитаю собственный набор бумаг. Но что делать с золотом? Иногда других вариантов просто нет, только покупка ETF.
III) Хорошо, давайте постараемся не обращать внимание на первые два пункта.
Предположим действительно описанная стратегия «вечный портфель Tinkoff All-Weather Index» появилась в годах 2018, да даже в 2012 например и принцип её состоит из 4 пунктов по 25%:
— Золото
— Долгосрочные облигации
— Акции
— Краткосрочные облигации
Но откуда взялись такие цифры и подсчёты с 2002 по 2012(2018/2020) года если элементарно Облигации погашались за этот период и большинства бумаг(Например облигаций) которые существовали в начале 2000 сейчас нет.
Тоесть есть ли вероятность того, что для построения графика брались наиболее привлекательные Ценные бумаги за прошедший период, чтобы показать наиболее привлекательную доходность за период в котором по сути и индекса не существовало от банка, равно как и идеи?
Дополнительно поясню:
Вот я могу сказать, что я условно придумал в 2019г. Индекс Гос облигаций от Павла
Сейчас в моём пакете облигации с средней доходностью условно 5%, но статистику роста и среднюю доходность своего портфеля я указываю с той даты и с теми бумагами которые мне удобны, например укажу, что мой индекс с февраля 2015 по настоящее время имеет среднюю доходность не 5%, а возьму ещё наиболе удобную для себя Облизацию (ОФЗ-46020)
Подсчитаю ка я доходность, купил купон 1000, за 570р под 6,9: годовых, тобишь 6,9% превратились для меня в 12,1% (тоесть смело могу указывать среднегодовую доходность через ОФЗ 12,1% за 5 лет),
затем в 2020 года продам ка я их за 105% тобишь получу ещё и большую разницу в цене покупки и цене продажи. (в портфель добавил и другие бумаги) И теперь я могу позиционировать свой Индекс например как более 16% средне годовых, да не просто Бумаг, а наименее рисковых бумаг(ОФЗ)
Что в свою очередь превысит среднюю Инфляцию приблизительно на более 11% в год за тот же период с 2015г.
Вот скажите Может ли быть такое что для статистики с 2002 года применялся подобный принцип Взятия наиболее привлекательных Ценных бумаг подходящих по принципу 25% в 4-ре пункта?
И скажите выше изложенное мной, опровергает ваши слова выше о применении слова «Факт»?
Считаете, ли вы, что я описал более менее «разумное обоснование» на вашу просьбу написать объяснение?
Виктор, Давайте теперь я объединю Мой комментарий выше и пункт 3 » необходимо отталкиваться от целей, а уже в зависимости от этих целей можно рассуждать какой портфель для этого подойдёт»
У некоторых цель через 10-25 лет по большей части жить на проценты.
Вот допустим ПИФ от Тинькова всё таки хороший и в среднем 14% годовых выдаёт.
тогда через 10 лет, без учёта инфляции и без пополнений: общий капитал составит при ежемесячной капитализации 241,9%
тогда через 20 лет, без учёта инфляции и без пополнений: общий капитал составит: 589,6%
PS: и да это меньше той цифры которая представлена на сайте, т.к. не совсем понятна логика их расчёта, в расчётах использовал сложный процент с ежемесячной капитализацией под 14% годовых
Что мне потом делать с этой 2,4 и 5,89 кратным увеличением первоначального капитала? Я или некий человек задумал же жить на проценты. Пойду продам ПИФы и вложусь в какую нибудь дивидендную акцию или облигацию и буду получать допустим 5% годовых (приближённую возможную усреднённую ставку ЦБ)
получу в итоге если с налогом:
для 10 лет
241,9 * 0,87 * 0,99 * 0,999 = 208,14% от изначального капитала
Вложу их под 5% годовых
208,14 * 0,05 = 10,4% в год от своего первоначального капитала (не учитываем инфляцию, налог на прибыль)
для 20 лет
589,6 * 0,87 * 0,99 * 0,999 = 507,31% от изначального капитала
Вложу под 5% годовых
507,31 * 0,05 = 25,36% в год от своего первоначального капитала (не учитываем инфляцию, налог на прибыль)
А теперь предположим я делаю всё сам, но получаю 10% годовых в среднем за 10 и 20 лет соответственно. Мне нет необходимости их выводить и вкладывать под 5% они условно и так работают под 10%:
Для 10 лет 163,44%
163,44 * 0,1 = 16,34% в год от своего первоначального капитала (не учитываем инфляцию, налог на прибыль)
Для 20 лет 267,91%
267,91 * 0,1 = 26,79% в год от своего первоначального капитала (не учитываем инфляцию, налог на прибыль)
Схожая логика с ETF, более подробно об особенностях писал в других темах.
Что недоговаривают Тинькофф Инвестиции. Вытаскиваем все данные по портфелю через API в большую таблицу Excel
Однако, когда инвестиции приобретают серьёзный характер, инвестору нужны точные и подробные данные по его портфелю, в частности, для оценки эффективности инвестирования. И вот здесь с приложением возникают неоднозначности.
Описание проблемы
Рассмотрю на примере своего портфеля (не ИИС) в мобильном приложении. (С даты публикации приложение может обновиться).
На главном экране видим ободряющие значения:
У меня здесь сразу возникают вопросы:
Каким образом была посчитана эта зелёная сумма и 12,21%? Причём, несколько дней назад у меня было что-то около +17%, потом я зафиксировал одну бумагу с профитом, стоимость портфеля почти не изменилась, а вот этот зелёный «общий процент» сразу упал до 12,21.
Мой портфель почти полностью в иностранных бумагах и USD. Каким образом это было переведено в рубли: по курсу ЦБ или по рынку?
Сколько от этой суммы у меня реально останется после уплаты налогов и комиссий, если я продам весь портфель и выведу деньги?
Заходим в раздел Портфельная аналитика, и находим там уже другие значения:
Почему на главной странице было +955 644, а здесь почти на 2 миллиона больше?
Кстати, здесь уже можно посмотреть результаты за год, приложение выводит сумму, но не процент.
Пока всё выглядит весьма оптимистично, открываю профиль в Пульсе.
Вот это результат! Посмотрим по-подробнее.
Здесь приведены результаты по месяцам. За 4 месяца текущего года +6,67%, а если посмотреть на 2020 год, там у меня +31,41%. Для сравнения, если не ошибаюсь, S&P 500 за 2020 год вырос на 16,26%. Не совсем понимаю, как я мог его так обогнать, если только дело не в курсовой разнице. В любом случае, это не вяжется с обозначенными на главном экране +12,21% за всё время, т.к. 2019 и 2018 года тоже зелёные. В общем, не понятно, как и в какой валюте они считают, надо разбираться.
Поиск решения
Чтобы внести больше ясности в процесс инвестирования, сделать этот процесс более осознанным, мне нужно:
Разобраться, как вычисляются значения, отображаемые в мобильном приложении
Выяснить реальные показатели эффективности портфеля
Узнать общие суммы налога и комиссий, которые я уплатил за всё время
Вычислить сумму, которую я могу вывести со счёта, после уплаты налогов при продаже портфеля
Это особенно актуально в свете того, что портфель у меня, в основном, валютный, а налог считается в рублях относительно официального курса на день покупки актива. Поскольку я начал покупать бумаги несколько лет назад, когда USD был гораздо дешевле, налог при фиксации прибыли может оказаться огромным сюрпризом и съесть существенную часть отображаемой на главном экране суммы.
Собрать все возможные данные по портфелю и визуализировать их в удобной для меня форме, такой как таблица Excel, с которой я смогу дальше работать средствами самого Excel или Google Sheets.
Есть вариант пытать персонального менеджера и службу поддержки, но переписка с ними бывает утомительна, и они не помогут с визуализацией данных. Лучше написать программное средство, чтобы формировать результат в удобной для меня форме и делать это автоматически.
Проблема только в том, что я не программист и с банковскими API раньше не работал. Видимо, пришла пора попробовать.
Знакомство с API
Находим официальную страницу Open API от Тинькофф:
На странице предлагаются SDK: Java, C#, Go, NodeJS.
Приведены и неофициальные: Python @daxartio,Python @Awethon, Python @Fatal1ty, PHP, Ruby.
Ничего из того, что я умею. В основном, я делал DIY проекты на Arduino-подобных контроллерах с WiFi, проектировал и заказывал для своих электронных устройств печатные платы, делал небольшие одностраничные WEB-интерфейсы и телеграм-боты для взаимодействия с этими устройствами. Т.е., в основном я работал с железом и писал прошивки на Arduino Wiring (на основе C++).
Из представленного списка мне больше всего импонировал Python, я писал на нём что-то на уровне print(‘Hello World’) и давно хотел познакомиться поглубже. Поэтому, я решил, что буду делать проект с Тинькофф API на Python.
Это сильно помогло мне продвинуться на начальном этапе: понять, как получать данные с API.
Если коротко, работает это так:
Устанавливаем и настраиваем его на своей машине
Устанавливаем через PIP библиотеку tinvest
Открываем редактор кода, например Idle, импортируем установленную библиотеку:
Создаём объект для дальнейшей работы с API:
В my_token выше подставлем свой API key, который получаем в личном кабинете брокера.
Я не стал пробовать в демо-счёте, сразу указал API своего реального портфеля.
Создаём объект с позициями портфеля:
positions = client.get_portfolio() Это сложный массив, который содержит информацию по каждой бумаге.
Создаём объект с операциями. Здесь указывается дата начала инвестирования и текущая дата в определённом формате.
operations = client.get_operations(from_=account_data[‘start_date’], to=account_data[‘now_date’])
Получаем рыночные курсы валют (понадобятся для дальнейших расчётов):
course_usd = client.get_market_orderbook(figi=’BBG0013HGFT4′, depth=20
course_eur = client.get_market_orderbook(figi=’BBG0013HJJ31′, depth=20)
И чтобы в нашей будущей таблице появились не только бумаги, но и валюты кэшем, запросим и их тоже:
for pos in positions.payload.positions:
ecxelFileName = ‘tinkoffReport_’ + today + ‘.xlsx’
Так, на этом этапе, у меня получилась небольшая программка, создающая таблицу с базовой информацией по бумагам, получаемой по API, а именно:
Наименование, тикер, валюта бумаги, количество бумаг, средняя цена покупки, ожидаемая выручка.
Из имеющихся данных простой арифметикой высчитывались: текущая рыночная цена одного лота и суммарная стоимость всей позиции.
Писалось всё в Idle, выглядело как-то так: (НЕ ПОВТОРЯТЬ!)
НЕ ПОВТОРЯТЬ
Подглядывая в проекты других разработчиков на Python, я тогда ещё мало что понимал, но было очевидным, что их проекты пишутся совсем по-другому, и мне придётся менять структуру в корне.
Я решил переписать всё заново, как положено, и в более удобной среде разработки.
Знакомство с Python
В качестве более продвинутой среды, ребята с работы посоветовали PyCharm.
С ним дело пошло гораздо продуктивнее, среда автоматически дрессирует писать в соответствии с PEP8 (стандарт оформления кода).
Общие знания по Python я брал из своего любимого справочника: https://www.w3schools.com/
Просто прошерстил все его статьи по питону сверху вниз, и потом периодически обращался за подробностями.
Вообще, чисто субъективно, мне этот язык сразу понравился. Порадовала краткость путей решения задач. Сложилось впечатление, что если просто нужно, чтобы что-то заработало, оно здесь заработает в два счёта, без лишних заморочек. Гуглится всё элементарно, по крайней мере, на моём уровне сложности. Чаще всего, решения находил на https://stackoverflow.com/
Структура программы
Структура таблицы
— Позиции
В левой части таблицы выводится информация по текущему портфелю:
Параметры (базовые, из API):
Параметры, посчитанные на основе базовых:
Сразу после блока с рыночными ценами, располагается самый сложный, с точки зрения расчётов, блок: стоимость активов по ЦБ и расчёт ожидаемого налога при продаже.
Сложность в том, что бумага могла приобретаться частями, в разные дни, а могла частично продаваться. Здесь действует такое правило, что первой продаётся та бумага, которая первой покупалась.
Чтобы решить эту задачу, я придумал сделать для каждой позиции упорядоченный список (массив). Программа пробегает по всем операциям покупки, находя операции с figi данной бумаги, и каждая покупка добавляет в список количество ячеек, соответствующее количеству приобретённых бумаг. Каждая ячейка содержит значение, соответствующее цене покупки в рублях по курсу ЦБ на дату операции. А каждая продажа удаляет нужное количество ячеек из начала списка. Затем считается среднее значение по оставшимся ячейкам, так получается средняя цена покупки в рублях по курсу ЦБ.
Был небольшой подвох, связанный с тем, что в списке операций от Tinkoff API есть не только выполненные, но и нулевые операции, которые пришлось отсеивать.
Чтобы API ЦБ РФ не решил, что мы его ддосим, я поставил небольшую задержку. В итоге, всё считается как надо, но этот этап обрабатывается ощутимо медленно. Чтобы обработались мои 15 позиций и 430 операций, приходится ждать около 1 минуты.
Наверняка это можно как-то оптимизировать, но, в принципе, мы не торопимся.
Разобравшись с самым сложным этапом, можно составить следующие колоночки:
— Операции
Справа от раздела с позициями, выводим колоночки со всем типами операций, которые может нам предоставить Tinkoff API. Их много, на один скриншот не влезают, но на большом мониторе помещается:
Под каждой колоночкой считается сумма. Это как раз то, что нам не покажет брокер. И здесь есть кое-что интересное.
Теперь мы можем сравнить сумму внесённых средств и сумму выведенных (в переводе на рубли по курсу ЦБ)
Ещё можно посчитать сумму всех купонов и дивидендов, а также, внимание:
все комиссии, уплаченные брокеру, и все налоги, удержанные брокером!
Итак, вот мы получили и разложили перед глазами все имеющиеся данные.
Теперь можно сделать из них выводы.
— Аналитика
Я впихнул этот маленький раздел прямо под таблицей с позициями.
Кстати, что касается дат, я не учитывал часовые пояса, и это может где-то выплыть.
Кстати, из-за появления в портфеле позиции «Сегежа» в первый день после IPO программа не могла выполниться и выдавала ошибку. На следующий день по бумаге с API стали приходить нормальные данные и программа снова заработала.
Если что, форма W8BEN, у меня, на данный момент, по некоторым причинам, не действует.
Итого, в российский бюджет я уже уплатил 117 631 руб, и, как было посчитано выше, мне предстоит уплатить ещё порядка 207К, если я зафиксирую портфель сейчас.
В общем-то, это пока всё, что я сделал.
Заключение
Зато, мы разобрались, откуда получаются значения, приводимые в клиентском приложении.
Также, мы узнали суммы комиссий и налогов, как уплаченные, так и ожидаемые.
Нашли реальную сумму, которую сможем вывести со счёта при фиксации портфеля, после удержания налогов.
А главное: получили возможность одним кликом собирать все данные по портфелю со всеми операциями в одну большую таблицу Excel, с которой дальше можем работать средствами самого Excel, можем экспортировать в Google Sheets, или просто сохранить как архив для анализа в будущем.
Это мой первый проект на Python и первая публикация на Хабре.
Надеюсь, информация окажется полезной для улучшения взаимодействия с приложениями Тинькофф, работы с API и разработки подобных программ, а также поспособствует более осознанному инвестированию, а следовательно, повысит ваше благосостояние. Благодарю, что дочитали до конца.