Идея не нова, вопрос был только в реализации.
Платформа MetaTrader 5 обладает возможностями автоматизации Тестера. Расчет огромного количества данных на истории реальных тиков — обыденность.
Проверка адаптивности ТС — аналогично.
Однако, при большом количестве уже проведенных вычислений требуется разобрать эту кучу данных и найти в ней что-то, действительно, интересное.
Это можно делать двумя способами:
В первом случае получается быстро, но можно легко что-то упустить, действительно, важное.
Во втором случае все гораздо тщательнее, но очень много времени на это уходит. Элементарно утомить природную машину настолько, что больше никогда не захочется к этому возвращаться.
Неоднократно попадались такие споры в комментариях:
«Я проверял на прошлых данных такую-то стратегию или семейство стратегий — она не работает».
«Я тоже проверял — всё работает».
То есть, мы имеем разных людей, делающих проверки на истории одного и того же, и уверенных, что всё делают правильно, но получающих разные, а иногда и противоположные результаты.
Получается, мы выходим на такие темы как:
1. Разные методологии проверки на прошлых данных.
2. Разное качество такой проверки, зависящее от знаний проверяющего.
Значит, нужно вывести идеальную модель бэктестинга, строго её описать и сверять все проведённые бэктесты с этой моделью.
И ставить алготрейдерам оценки от 1 до 5, в зависимости от соответствия проводимых ими проверок идеальной модели.
Вопрос: вывел ли уже кто-то такую идеальную модель бэктеста?
И где её найти?
Неоднократно здесь видел комментарии трендовиков, которые говорили, что в 2019 году они пострадали или не смогли почти ничего заработать.
Поскольку сам в 2019 году видел достаточно подходящих для меня трендов, то возник вопрос: что за тренды торгуют те, кто в 2019 году не смог заработать или даже закрыл год в убыток?
Возможно, что кто-нибудь разъяснит.
Недели две назад обещал ответить нашему коллеге на вопрос и написать на эту тему топик. Отвечаю и пишу.
Итак, нам пришла в голову просто бесподобная и очень простая идея Грааля. Мы имеем всего два индикатора с параметрами х1 и х2 соответственно. Их состояние описывается вектором X = [x1,x2], и в некоторой области Gv подмножества Х и находится наш Грааль, многие сделки в этой области в плюс. По крайней мере, мы так предполагаем, хотя где находится эта область и есть ли она вообще, эта Gv представляем весьма приблизительно, и мы, разумеется, хотели бы это выяснить. Рис.1.
В пространстве состояний X мы ограничили область нашего видения Грааля областью Gv, и в нее даже попал кусок настоящего Грааля G.
Запускаем оптимизацию системы по прибыли, положение и параметры области Gv меняются таким образом, что оптимизатор находит и выделяет настоящий Грааль G областью Gr в пространстве X.
Торговая система готова к употреблению.
Всех приветствую!
Второй квартал закончился с результатом +47,4%. Общий доход за первую половину года +127,5%. Статистика по месяцам:
Апрель +46%
Май -4,3%
Июнь +4,5%
Общий доход за 2,5 года +469%. Общую кривую можно посмотреть тут
Максимум достигнут 7 мая. От него ушли в просадку на 21,8%. Доход и просадку считаю к балансу на начало года. От достигнутого максимума откатили вниз на 9,15%. Ожидаемое, рабочее снижение после хороших движений. Но могло быть лучше.
Окончательно убедился в том, что необходимо торговать все пятно (облако, веер, площадь) параметров внутри одной идеи. Почему окончательно? Вылезли две проблемы.
Первая. Часть движений на укреплении рубля боты не взяли. Причина – в некоторых алгоритмах параметры смещены в сторону лонга (для SI понятно почему). Удержание шортов более короткое, таким образом, тренды вниз с сильными откатами прошли мимо.
Вторая. Недооценил одну из идей. Вариации строились на основании лучшего набора параметров прошлого года. Не учитывал вариации с результатом похуже, но в целом улучшающих показатели алгоритма в долгосрочном периоде.
Требование к пятну – оно не должно сильно двигаться. Делать такой анализ вручную тяжеловато. Надеюсь, что TSLab в будущем внедрит 3D визуализацию, работа как я понял над этим идет. Некоторые системы решил упростить с 3 до 2 параметров, за счет единого значения для лонга и шорта.
Ниже пример вариаций, составленных на основании более устойчивого пятна. Недооцененный алгоритм.
Приветствую!
Заранее прошу прощения за ошибки в тексте. иногда залипает буква «о» и приходится ее копипастом печатать.
Хотелось бы подискутировать на тему оптимизации. Много трейдеров, находятся в нескончаемых поисках лучших параметров для своих стратегий, и ставят оптимизацию, выше чем саму суть алгоритма и трейдинга. Лично сам я, крайне редко прибегаю к оптимизации. И не важно какой крутой бы не был тестер. с бэктестингом или форвард, 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