Популярные авторы Тинькофф Инвестиций (Пульс) торгуют в убыток
Введение
В данной статье я хотел бы продолжить работу с данными, полученными в результате предыдущего поста. Первая часть будет содержать техническую информацию, но я постараюсь сделать так, чтобы ее было по минимуму.
Первая часть
Для проведения анализа нам понадобятся данные:
- Пользовательские посты в пульсе, которые мы находим через тикер
- Статистика по пользователю (сумма портфеля, кол-во подписчиков и результат за 2021 год)
В качестве хранилища будем использовать sqlite3
базу данных, надеюсь столь обширный парсинг данных не сильно усложнит жизнь коллегам из tcs.
Стоит отметить, что Тинькофф местами очень странно “считает” ту самую доходность, которую мы видим в профиле.
Собирать посты будем по фиксированному списку тикеров, который включает:
- SNP500
- DowJones
- IMOEX
По итогу получаем ~ 600 компаний, глубину будем брать “300 скролов”, это когда мы отрываем вкладку “Пульс”, относящийся к определенному тикеру - мы видим последние 30 записей, после прокрути вниз до последнего поста, сайт, не дожидаясь “запрашивает” следующие 30 записей и т.д. В данной реализации таких итераций будет 300
В лучшем случае мы получим по 9000 постов на компанию, но по факту - данных сильно меньше, учитывая что всего в Пульсе порядка 4.7 млн записей
Парсинг данных
from tpulse import TinkoffPulse
pulse = TinkoffPulse()
cursor_value = 9999999999
for num in range(1, 300+1):
posts = pulse.get_posts_by_ticker(ticker, cursor_value)
cursor_value = posts["nextCursor"]
if len(posts.get("items")) == 0:
break
for item in posts.get("items"):
resp = PostModel(**item)
parsed = parse_result(ticker, resp)
insert("tcs_pulse_posts", parsed)
sleep(choice(range(2, 4)))
pulse.close()
Создадим таблицу с постами
create table if not exists tcs_pulse_posts (
id text not null,
ticker text not null,
nickname text not null,
likes_count integer not null,
comments_count integer not null,
instruments text null,
is_liked integer not null,
inserted text not null,
profile_id text not null,
owner_name text not null,
hashtags text null,
is_book_marked integer not null,
status text not null,
parse_dt text not null,
PRIMARY KEY (id, ticker)
);
Всего получилось 529 069
записей по 510
компаниям.
После чего необходимо будет собрать данные по пользователям, их “никнеймы” возьмем из уже полученной таблицы, с фильтром на кол-во постов >= 30
Создадим таблицу с пользователями
create table if not exists tcs_pulse_users (
id text not null,
type text not null,
nickname text not null,
status text not null,
block integer not null,
description text null,
followers_count integer not null,
following_count integer not null,
is_lead integer not null,
service_tags text null,
year_relative_yield real null,
amount_from integer null,
amount_to integer null,
month_operations_count integer null,
subscription_domains integer null,
popular_hashtags text null,
is_visible integer not null,
baseTariff_category text not null,
strategies text null,
parse_dt text not null,
PRIMARY KEY (id, nickname)
);
В таблицу с пользователями мы собрали ~ 3500
записей
Вторая часть
Моя основная идея, как статьи, так и самого сбора информации заключается в том, чтобы понять, насколько “эффективны” в плане торговли популярные авторы соц. сети Пульс.
Сделки некоторых из них активно повторяют только-только прибывшие на фондовый рынок инвесторы, у части из них есть платные телеграмм каналы, на которых вышеупомянутые “публикуют” свои сделки, которые естественно - “не являются торговым сигналом или призывом к действую”, освобождая авторов от какой-либо ответственности.
Стоит ли доверять им, если ли вообще какая-нибудь корреляция между доходом и кол-вом подписанных людей или доходом и кол-во сделок в месяц?
Ведь в современном мире, как бы печально это не звучало - кол-во подписчиков, для 95% массы людей, пропорционально уровню доверия к информации, которую отдает тот или иной автор.
Ниже будет представлена визуализация собранных данных.
Наиболее популярные по кол-ву постов акции. (Лидеры: TSLA, APPL, GAZP, FB, AMZN, NVDA, PFE)
Распределение кол-ва записей по месяцам.
Далее интересней, на диаграмме отображены “наиболее активные” авторы, пользователи, у которые более 100 постов. Сортировка снизу вверх, по среднему кол-ву лайков на пост и общему кол-ву постов.
Можно предположить, что это как раз те авторы, к мнению которых, в теории, можно было бы прислушаться, поэтому давайте проверим их результаты торговли за 2021 год (надеюсь в тинькофф максимально корректно расчитывают эту цифру, т.к. в дальнейших сравнениях мы будем отталкиваться имеено от нее)
Не самая красивая картина, только у одного из авторов доходность выше фондов на широкий рынок, например SNP500 (его резульат за год + 28%), часть авторов вероятно закроют год в убыток.
Двигаемся далее, у 5 из вышеперечисленных авторов есть стратегии (отдельный инструмент в тинькофф инвестициях), в которому может присоединиться любой пользователь. Предлагаю проверить результат их стратегий на данный момент времени, хотя инструмент в банке достаточно свежий.
7/11 стратегий в минусе.
Ну ладно, давайте отойдем в сторону от активности и популярности конкретных авторов. Проверим корреляцию кол-ва подписчиков и годового результата.
Для авторов с >= 10000 подписчиков.
Считаю, что никакой зависимости нет и полагаться на эти цифры - явно не стоит.
Доходность авторов с наибольшим кол-вом подписчиков.
Доходность авторов с наибольшим кол-вом подписчиков, у которых в описании профиля есть ссылка на телеграм канал.
И последнее, что хотелось бы проверить - это зависимость доходности от кол-ва сделок.
Вывод
Инвестциии - это финальная стадия контроля своих финансов, так будьте инвесторами, долгосрочными инвесторами, с конкретными целями и ожиданиями!
Не стоит полагаться на платные/бесплатные сигналы, курсы трейдинга, на рабочие стратегии с ежемесячной прибылью в 10-50%, на доверительное управление портфелем и т.д. Никто из вышеперечисленных лиц не несет ответственность за ваши вложенные деньги и вряд ли кто-то из них расстроится минусам в вашем портфеле.
Если вам интересны подобные рассуждения, подписывайтесь на мой канал artydev & Co.