Приветствую!
Заранее прошу прощения за ошибки в тексте. иногда залипает буква «о» и приходится ее копипастом печатать.
Хотелось бы подискутировать на тему оптимизации. Много трейдеров, находятся в нескончаемых поисках лучших параметров для своих стратегий, и ставят оптимизацию, выше чем саму суть алгоритма и трейдинга. Лично сам я, крайне редко прибегаю к оптимизации. И не важно какой крутой бы не был тестер. с бэктестингом или форвард, 3д графики и различные коэффициенты — это все, не так будет важно при попытках переоптимизировать и подогнаться под график.
Смысл всей оптимизации, под имеющиеся данные — найти наилучший результат. это по сути — просто статистика. Да мы можем подставить наоптимизированные цифры в новую история (форвард) и тем самым сделать вывод типа и на истории хорошо и на новых данных тоже хорошо, вот только гарантии, что онлайн — будет так же, нет никакой, если мы в самом алгоритме, не учли возможные изменения в рынке.
Нет речи о создании, конечно, грааля. Приведу пример: например парный трейдинг в классике, пара газпром/лукойл. торгуем себе от соотношения пары 8-9, а потом бац и разрыв уходит до 6 потом до 3 и все, что мы там и как бы не оптимизировали — рынок уже другой. Взять ртс. до 2008года потом до 2011 потом до 2014 — абсолютно разная бумага. Это нужно понимать и не делать оптимизацию на 15 лет и думать, что если все гладко, то у нас грааль.
Конечно все это выбор каждого, потому расскажу в каких случаях я прибегаю к оптимизации.
Пример 1
Алгоритм по паттернам. у каждого они свои. условно смотрю на величину бара на минутке, 5, 10 и 15, а так же их объемы.
Следущим шагом я в алгоритме указываю минимальные значения которые готов рассматривать и максимальные. Далее идут в оптимизацию и смотрю — какие есть варианты.
Сортирую по лучшему доходу и смотрю — ага, есть 100результатов из них есть варианты с большой частотой сделок и маленькой — доход соразмерен. Логичен ли для меня/алгоритма вариант с малой частотой сделок или наоборт? Дальше анализирую сами параметры. если их разброс очень сильный при соразмерных результатах — то нужно проверить на истории подлиннее. В идеале конечно останется несколько близких результатов и это можно будет просто в часть диверсификации алгоритма впихнуть.
Продолжаю рассказывать об инвестиционных лайфхаках
⠀
Что отличает бедного человека от богатого? На самом деле очень многое, и одним из важных различий является стремление снизить расходы у последних.
⠀
Важной составляющей расходов инвестора (да и у любого делового человека) являются налоги. Как мы знаем, они составляют 13% от доходов. Поэтому грамотные инвесторы стремятся максимально снизить эту статью расходов всеми доступными средствами в рамках закона.
⠀
Среди методов, которыми пользуюсь я, следующие:
1️⃣ Возврат НДФЛ по ИИС
2️⃣ Удержание акций более 3-х лет (освобождение таких от НДФЛ)
3️⃣ Покупка облигаций, освобожденных от НДФЛ
4️⃣ Максимальное оттягивание до последнего дня уплаты налога на дивиденды по иностранным акциям
5️⃣ Закрытие убыточных позиций и их незамедлительное открытие же по тем же ценам в конце года для отражения убытка по счету
6️⃣ Закрытие плановых прибыльных позиций в начале года для отсрочки уплаты НДФЛ
7️⃣ Использование НКД по ОФЗ для создания «бумажного» убытка
⠀
В этом посте я хочу поговорить о последнем методе.
⠀
Многим известно, что у облигаций в отличие от банковского вклада есть НКД – накопленный купонный доход, который накапливается по мере приближения даты выплаты. Допустим, например, что у облигации стоимостью 1 000 руб. НКД составляет 100 руб. и выплачивается 2 раза в год: 1 июля и 30 декабря. Т.е. если мы купим ее в начале года сразу после выплаты НКД, то мы заплатим только за фактическую цену облигации. И каждый день нам будут начисляться доля НКД за 1 день. В нашем примере это 100/365=0,27 руб. К 1 июля НКД будет равен 50 руб. и эмитент (выпустившая облигацию компания) их выплатит.
⠀
Но фишка облигаций (в отличие от вклада в банке) в том, что мы сами можем продать облигацию когда угодно и получить свой НКД (т.е. %). В данном случае НКД нам заплатит не эмитент, а тот, кто купит у нас облигацию. Кайф же?
⠀
Помню, я штудировал тонны литературы и форумы, когда сам был «зеленым», тратил кучу времени. Но в конце было такое удовольствие от того, что узнаешь принципы функционирования финансового рынка.
⠀
Что ж, немного отвлеклись, продолжим. Возможность получения НКД в любой момент позволяет применить налоговую оптимизацию. Суть в том, что для налоговой базой расчета НДФЛ является фактическая цена облигации плюс НКД. Т.е. мы покупаем облигацию с НКД (расчет совпадает с налоговой), а продаем без НКД, но он выплачивается эмитентом на наш счет (но налоговая не учитывает эту выплату, поэтому она считает только цену облигации). От этого получается убыток для налоговой.
⠀
Разберем подробнее на примере нашей облигации. Для того, чтобы сделать убыток для налоговой, нужно купить облигацию за 1 день до выплаты НКД (30 июля), на следующий день получить НКД и продать ее (1 июля).
⠀
Пусть комиссия брокера равна 0,05% за сделку, цена облигации 100% (т.е. 1 000 руб.) и совершаем операции по цене 1 000 руб. Тогда посчитаем фактический результат операции для нас и «бумажный» для налоговой
⠀
Наш результат:
Продажа – Покупка = 50 (выплаченный купон) + 1000 (цена продажи) — (1000+(50-0,27)) (цена покупки с учетом НКД за 49 дней) = 1 050 – 1 049,73 = +0,27 руб.
⠀
От этого нужно отнять комиссию брокера (0,5%) за куплю-продажу актива:
1000*0,0005 (за продажу) + (1000+(50-0,27))*0,0005 (за покупку) = 0,5 + 0,53 = 1,03 руб.
⠀
Итого имеем: 0,27 – 1,03 = -0,76 руб. с одной облигации.
⠀
Результат для налоговой:
Продажа – Покупка = 1000 — (1000+(50-0,27)) = 1 000 – 1 049,73 = -49,73 руб.
⠀
Увидели разницу? Нет 50 рублей выплаченного купона в начале. Т.е. одна облигация приносит нам фактический убыток всего -0,76 руб. Убыток же для налоговой -49,73 руб.
⠀
Опять же, это упрощенный пример. В реальности может быть еще и разница в цене покупки и продажи облигации, как в положительную, так и в отрицательную сторону Но с ОФЗ такая разница будет минимальна, т.к. у них высокая ликвидность.
⠀
Допустим за год у Вас чистая прибыль по закрытым позициям 10 000 руб. Вы должны заплатить налог 13%, т.е. 1 300 руб.
⠀
Чтобы «оформить» 0 в графе прибыль, нужно совершить сделку с 201 облигацией. По каждой из них, как мы подсчитали выше, «бумажный» убыток -49,73 руб., что в сумме дает -9 995,73 руб.
⠀
Итого прибыль для налоговой: 10 000 – 9 995,73 = 4,27 руб.
⠀
Фактический убыток от операции: -0,76 * 201 = -152,76 руб.
⠀
Все представленные вычисления лишь абстрактный пример. В реальности все параметры всегда разные и индивидуальны в каждом конкретном случае. Но схема одинаковая.
Больше полезной информации у меня в Instagram канале, подписывайся:
www.instagram.com/long_term_investments/?hl=ru
Устойчивые долгосрочные модели
В предыдущих частях (часть 1, часть 2) мы рассмотрели построение композитных систем оценок ценных бумаг, построенных при помощи распространённых средств машинного обучения (Bag/Boost методы). Однако, такой подход, несмотря на все свои преимущества (скорость, точность) имеет ряд больших недостатков – отсутствие универсальности моделей в результате проблем «переобучения» (точной настройки на определённые типы рынков и временные интервалы) и сложность интерпретации полученных композиций.
В результате решения этих проблем мы разработали базовую модель на основе наших представлений о стохастических дифференциальных уравнениях с квантовыми скачками, образующих улыбку волатильности. Эта макромодель получила в наших исследованиях наиболее полную микроскопическую интерпретацию.
В классических задачах прогнозирования используются в основном различные Fold тесты. Их логика весьма понятна и прозрачна – защитить алгоритм от переобучения и получить лучшие стационарные параметры регуляризации. Например, такие, как лямбда Тихонова, или, если речь идёт о бустинге на деревьях решений – минимальное количество листьев. Однако сообщество Smart Lab настоятельно рекомендовало нам провести Walk Forward тесты, логика которых нам мало понятна.
А если логика не понятна, то можно детально рассмотреть какой-нибудь простой пример.
Пусть в качестве объекта прогнозирования у нас будет выступать простая синусоида с частотой ω и амплитудой А. Без применения сложных математических методов эта задача решается следующим образом: