[Из песочницы] Нет предела совершенству или об изъянах Биржевых Фондов Тинькофф
Не так давно команда Тинькофф Инвестиций объявила о запуске биржевых фондов — портфелей, номинированных долларах, рублях и евро. Каждый фонд представляет собой статичный портфель из ETF, акций, облигаций и золота. Команда Тинькофф решила создать собственные ETF, вдохновившись подходом Рэя Далио — основателя одного из крупнейших инвестиционных фондов Bridgewater Associates. Суть подхода — создание «всепогодного» портфеля (All-Weather), состоящего из диверсифицированных инструментов, которые в среднем позволяют иметь заработок в независимости от рыночных условий в течение длинного периода времени.
Вечные портфели Тинькофф привлекательны тем, что не взимают комиссии за совершения сделок на бирже, к тому же низкие номинальные цены активов дают возможность войти в сделку, имея меньше 100 рублей на счету.
Данный подход действительно востребован на российском рынке, так как подобных аналогов «все в одном» практически нет, к тому же дает возможность заработать мелким инвесторам.
Но сегодня поподробнее хотелось бы обсудить долларовый ETF — TUSD. А именно — оценить перформанс фонда, а также рассказать про баг, который приносит потенциальный ущерб фонду.
Итак, портфель TUSD состоит из акций американских компаний, долгосрочных облигаций правительства США, облигаций корпораций с высшим кредитным рейтингом и золота:
Исторически в течении больше чем 20 лет, среднегодовая доходность данного портфеля составляет 7% годовых в долларах.
Подгрузив цены закрытия (время закрытия ММВБ) Биржевого фонда TUSD и взяв цены закрытия (время закрытия Американского рынка) данных ETF с модельными весами (модельные веса наиболее приближены к структуре фонда), я решил построить два графика цену фонда и взвешенную цену актива по модели с фиксированными весами и их разницу в недополученной прибыли в %:
Как видно, цена TUSD почти идет вровень (расхождения в ценах постоянны) с модельной ценой до того, как произошел обвал рынка во второй половине февраля. Разница на волатильном рынке за последние дни стала сильно неопределенной в силу того, что коррекция позиций биржевых фондов происходила в конце каждого рабочего дня (и тут инвесторам повезло, т.к. 9 марта был выходной в РФ, цены на американских рынках улетели вниз, а покупка новых активов произошла уже 10 марта). Но видно, что разница между ценами скачет очень сильно и данное расхождение очень существенно в сравнении с доходностью фонда.
И тут я решил подумать, в чем возможно потенциально различие модели и фонда помимо коррекции позиции. Первым, что пришло в голову — посмотреть ценообразование, и тут я наткнулся на проблему округления.
Итак, на начало марта 2020 года TUSD торгуется в районе $ 0.09 — 0.1 с шагом цены $0.0005 (5% от 1 цента), при этом стоимость контракта = лот * цена актива округляется в ближайшую сторону до цента (этот момент очень важен, так как именно на нем и строится уязвимость системы). То есть если вы хотите купить 1 лот или продать его он будет стоить вам ровно $0.1, не взирая на рыночную цену контракта. «Ага!» — подумал я и увидел арбитражную возможность для сделок.
Проведя вручную пару сделок с единовременной покупкой 10 контрактов по цене 0.097 и их дальнейшей продажей по отдельности, я получил доход равный ~3% от оборота. Но, учитывая маленькую стоимость 1 лота, много не получится заработать проведя хоть целый день за экраном телефона, поэтому я решил подключиться к API и настроить бота для возможного проведения сделок.
После некоторой настройки алгоритма оказалось, что брокер не даёт торговать по API долларовый портфель. Ну ничего — можно настроить и компьютер автоматически кликать на поля и, таким образом, выставлять ордера на бирже. После добавления пары строчек кода получилось настроить совершение сделок с помощью алгоритма.
Убедившись, что все работает так как надо и, рассчитав производительность алгоритма, я решил подсчитать какой ущерб может принести данный изъян в округлениях цены 1 лота:
Компьютерные возможности вместе с ограничениями брокера по выставлению ордеров на рынке позволили мне выставлять 20 ордеров в минуту, то есть 1200 в час, то есть:
1200×8 (часов работы биржи) * 0.097 (прибл. стоимость лота в долларах ) * 3% (прибыль с продажи по цене 0.1 и покупке по 0.097) = $28.
То есть использование компьютера даёт возможность за день сдирать с инвесторов вечного портфеля TUSD $28, не говоря о том, что можно повысить производительность алгоритма путём обычной параллелизации процессора. А кумулятивно за большой период времени это все может привести к колоссальным убыткам инвесторов данного актива.
Но стоить все-таки отметить, что выпуск биржевых фондов TUSD, TEUR, TRUR, состоящих из диверсифицированных активов и доступных для широкого круга инвесторов — отличная идея, но все же стоит учитывать изъяны модели, а также их расхождения реального перформанса с моделью.
Надеюсь, что сотрудники Тинькофф смогут прочитать данную статью, исправят потенциальный изъян и в дальнейшем будут усовершенствовать свои инструменты для торговли, делая их надежнее, и, таким образом, повышая доверие инвесторов к своим продуктам.