Постов с тегом "оптимизация": 136

оптимизация


Мое имхо на оптимизацию алгоритма.

Приветствую!

Заранее прошу прощения за ошибки в тексте. иногда залипает буква «о» и приходится ее копипастом печатать.

Хотелось бы подискутировать на тему оптимизации. Много трейдеров, находятся в нескончаемых поисках лучших параметров для своих стратегий, и ставят оптимизацию, выше чем саму суть алгоритма и трейдинга. Лично сам я, крайне редко прибегаю к оптимизации. И не важно какой крутой бы не был тестер. с бэктестингом или форвард, 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


Прошу меня понять и простить, но я не мог поступить иначе

Я добавил в ЧС всех незнакомых мне авторов (т.е. тех, которые не числятся моими «друзьями»), написавших о коронавирусе.
Ибо меня стала снова беспокоить засорённость моей ленты блогов.
Число авторов Смартлаба неуклонно растёт, и их необходимо периодически подвергать фильтрации.
О способах фильтрации можно почитать в моей недавней статье.
Как эффективно оптимизировать ленту блогов СмартЛаба? Два способа.


( Читать дальше )

Как эффективно оптимизировать ленту блогов СмартЛаба? Два способа.

Не секрет, что избыточная информация (информационный шум) может причинить вред с большей вероятностью, чем нанести пользу.
Информационный шум может, с одной стороны, расширить ваш кругозор и обратить ваше внимание на такие темы, о которых вы не догадывались, но, одновременно, эти новые знания и темы могут отвлечь ваше внимание и забрать ваше время.
Кроме того, человеческая память — не резиновая, и хранение обширных, но не слишком важных знаний, может отрицательно сказаться на усвоении и хранении тех знаний, которые критически важны для вашей основной деятельности.
Несмотря на то, что все мы можем припомнить среди наших знакомых индивидов, которых принято называть «Ходячая Энциклопедия», обычные люди не обладают подобными способностями.
Лента Смартлаба содержит статьи с разнообразной тематикой, и это, на первый взгляд, ее достоинство.
Но Смартлаб постоянно развивается, количество авторов неуклонно увеличивается, и, лично для меня, уже настал такой момент, когда я вынужден прибегнуть к фильтрованию информации, дабы не отвлекаться и не распыляться на малозначительные для меня темы.
Вы можете мне возразить: «А кто тебя заставляет читать всё подряд? Не нравится — не читай!».

( Читать дальше )

Обобщённый подход к диверсификации рисков

Дополнение к серии «Портфельная оптимизация как бустинг на слабых моделях»


  • Обобщённая проблема

Результаты оценки любых случайных величин представляют из себя случайную величину. Не исключением здесь будут оценки ковариации.

Особенно сильно эффект неточности полученных оценок (случайности статистик) будет проявляться в портфелях, составленных из большого количества ценных бумаг — большего или сопоставимого количеству располагаемых наблюдений. И, поскольку, в некотором приближении задача портфельного инвестирования сводится к поиску двух максимально независимых активов из множества:


Обобщённый подход к диверсификации рисков 

где R — коэффициент взаимной корреляции — её решение, естественным образом, будет располагаться в области максимально отрицательной статистической ошибки.

( Читать дальше )

Оценка ковариации акций в портфеле

Вынес в отдельное репо реализацию расчета ковариационной матрицы Ledoit-Wolf на Python.

Может быть полезно для тех кто занимается количественной оптимизацией портфелей акций.

Портфельная оптимизация как бустинг на «слабых» моделях-3

Устойчивые долгосрочные модели


В предыдущих частях (часть 1, часть 2) мы рассмотрели построение композитных систем оценок ценных бумаг, построенных при помощи распространённых средств машинного обучения (Bag/Boost методы). Однако, такой подход, несмотря на все свои преимущества (скорость, точность) имеет ряд больших недостатков – отсутствие универсальности моделей в результате проблем «переобучения»  (точной настройки на определённые типы рынков и временные интервалы) и сложность интерпретации полученных композиций.

В результате решения этих проблем мы разработали базовую модель на основе наших представлений о стохастических дифференциальных уравнениях с квантовыми скачками, образующих улыбку волатильности. Эта макромодель получила в наших исследованиях наиболее полную микроскопическую интерпретацию.



( Читать дальше )

А плох-ли кризис для трендовых торговых систем?

Друзья! Набирают обороты разговоры о новом предстоящем мировом кризисе, обсуждения ведутся в соседних топиках, по телевизору.
Меня тоже озадачил вопрос, что же ждать нам, алготрейдерам, особенно трендовикам? И я решил прогнать на тестере своих трендовых роботов на периоде 2008-2010г, особенно, концентрируясь на результатах второй половины 2008. Тестил фьючерс Сбербанка. Даже не менял параметры, а взял те, которые использую сейчас. Результат меня вполне устроил. Опыт у меня не большой, и вот я думаю, может я что-то не учел или не доглядел? Что скажите друзья, к чему следует быть готовым?

Друзья, кто собаку съел на оптимизации и бэктестинге? Прошу вашего совета.

Есть те, кто автоматизировал, бэктестил и оптимизировал свою ручную систему? Пытаюсь найти способы прогнать свою ТС на истории, но нет опыта в этом. Может быть вы подскажете как лучше и проще это сделать?

Тестирование стратегий - Walk Forward Test vs CV Fold Test

В классических задачах прогнозирования используются в основном различные Fold  тесты. Их логика весьма понятна и прозрачна – защитить алгоритм от переобучения и получить лучшие стационарные параметры регуляризации. Например, такие, как лямбда Тихонова, или, если речь идёт о  бустинге на деревьях решений – минимальное количество листьев.  Однако сообщество Smart Lab настоятельно рекомендовало нам провести Walk Forward тесты, логика которых нам мало понятна.

А если логика не понятна, то можно детально рассмотреть какой-нибудь простой пример.

 

 Тестирование стратегий - Walk Forward Test  vs  CV Fold Test

Пусть в качестве объекта прогнозирования у нас будет выступать простая синусоида с частотой ω и амплитудой А. Без применения сложных математических методов эта задача решается следующим образом:

  1. Берутся исторические данные
  2. На основе данных  подбираются параметры амплитуды, частоты и фазы.
  3. Исходя из полученных «динамических» переменных модели строится прогноз на будущее.


( Читать дальше )

....все тэги
UPDONW
Новый дизайн