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

оптимизация


Оптимизация в Wealth-lab

Здравствуйте уважаемые коллеги!
В ходе подбора параметров торговой системы в Wealth-lab столкнулся с очень долгой оптимизацией оных. Особенно если параметров больше десятка, там просто уже какие-то нереальные цифры времени расчета… недели, месяцы, годы...

Так же заметил что нагрузка на процессор в ходе оптимизации не превышает 10-15%, из чего делаю вывод что или используются не все возможные ресурсы процессора, или не используется многопоточность. В общем какая то не оптимальная оптимизация получается.

В связи с чем у меня возникло несколько вопросов. Есть ли в природе модули оптимизации для Wealth-lab использующие процессор на всю катушку? 
Или может быть есть модули использующие не CPU а GPU для более быстрой оптимизации? Ведь не случайно крипту майнят именно видеокартами. 

В общем если есть у кого-то что-то полезное по данному вопросу, прошу поделиться ценной информацией или даже готовым модулем для Wealth-lab.

Как измерить качество бэктеста?

Неоднократно попадались такие споры в комментариях:

«Я проверял на прошлых данных такую-то стратегию или семейство стратегий — она не работает».

«Я тоже проверял — всё работает».

То есть, мы имеем разных людей, делающих проверки на истории одного и того же, и уверенных, что всё делают правильно, но получающих разные, а иногда и противоположные результаты.

Получается, мы выходим на такие темы как:

1. Разные методологии проверки на прошлых данных.

2. Разное качество такой проверки, зависящее от знаний проверяющего.

Значит, нужно вывести идеальную модель бэктестинга, строго её описать и сверять все проведённые бэктесты с этой моделью.

И ставить алготрейдерам оценки от 1 до 5, в зависимости от соответствия проводимых ими проверок идеальной модели.

Вопрос: вывел ли уже кто-то такую идеальную модель бэктеста?

И где её найти?


Трендовики и 2019 год

Неоднократно здесь видел комментарии трендовиков, которые говорили, что в 2019 году они пострадали или не смогли почти ничего заработать.

Поскольку сам в 2019 году видел достаточно подходящих для меня трендов, то возник вопрос: что за тренды торгуют те, кто в 2019 году не смог заработать или даже закрыл год в убыток?

Возможно, что кто-нибудь разъяснит.


Рождение тестовых Граалей.

    • 17 июля 2020, 19:44
    • |
    • 3Qu
  • Еще

Недели две назад обещал ответить нашему коллеге на вопрос и написать на эту тему топик. Отвечаю и пишу.

Итак, нам пришла в голову просто бесподобная и очень простая идея Грааля. Мы имеем всего два индикатора с параметрами х1 и х2 соответственно. Их состояние описывается вектором X = [x1,x2], и в некоторой области Gv подмножества Х и находится наш Грааль, многие сделки в этой области в плюс. По крайней мере, мы так предполагаем, хотя где находится эта область и есть ли она вообще, эта Gv представляем весьма приблизительно, и мы, разумеется, хотели бы это выяснить. Рис.1.
Рождение тестовых Граалей.

В пространстве состояний X мы ограничили область нашего видения Грааля областью Gv, и в нее даже попал кусок настоящего Грааля G.
Запускаем оптимизацию системы по прибыли, положение и параметры области Gv меняются таким образом, что оптимизатор находит и выделяет настоящий Грааль G областью Gr в пространстве X.
Торговая система готова к употреблению.



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

Пятно параметров торгует эффективнее. Мини-отчет за второй квартал 2020 года

Всех приветствую!

Второй квартал закончился с результатом +47,4%. Общий доход за первую половину года +127,5%. Статистика по месяцам:
Апрель +46%
Май -4,3%
Июнь +4,5%
Общий доход за 2,5 года +469%. Общую кривую можно посмотреть тут 
Пятно параметров торгует эффективнее. Мини-отчет за второй квартал 2020 года

Максимум достигнут 7 мая. От него ушли в просадку на 21,8%. Доход и просадку считаю к балансу на начало года. От достигнутого максимума откатили вниз на 9,15%. Ожидаемое, рабочее снижение после хороших движений. Но могло быть лучше.
Окончательно убедился в том, что необходимо торговать все пятно (облако, веер, площадь) параметров внутри одной идеи. Почему окончательно? Вылезли две проблемы.
Первая. Часть движений на укреплении рубля боты не взяли. Причина – в некоторых алгоритмах параметры смещены в сторону лонга (для SI понятно почему). Удержание шортов более короткое, таким образом, тренды вниз с сильными откатами прошли мимо.
Вторая.  Недооценил одну из идей. Вариации строились на основании лучшего набора параметров прошлого года. Не учитывал вариации с результатом похуже, но в целом улучшающих показатели алгоритма в долгосрочном периоде.
Требование к пятну – оно не должно сильно двигаться. Делать такой анализ вручную тяжеловато. Надеюсь, что TSLab в будущем внедрит 3D визуализацию, работа как я понял над этим идет. Некоторые системы решил упростить с 3 до 2 параметров, за счет единого значения для лонга и шорта.
Ниже пример вариаций, составленных на основании более устойчивого пятна. Недооцененный алгоритм.
Пятно параметров торгует эффективнее. Мини-отчет за второй квартал 2020 года



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

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

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

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

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

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

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