Блог им. StockGamblers

Тесты. МАшки. Как найти нужные параметры и где тестить?

Намедни от одного из участников нашего уютного чатика поступил вопрос: а какие, собственно, периоды выбрать для скользящих средних на РИ, чтобы получать профит.

Предлагаем в выходные пробежаться по всем этапам изыскания таковых. Параметров. Кто-то не знает, где это делать. Кто-то не знает как. Кто-то не обращает внимание на ряд вещей, на которые следовало бы обратить.

МАшки или скользящие средние — это наверное самое элементарное, что есть из ТА на рынке. И с чего все начинают. Многие там и остаются… теряя капитал. А кто-то и зарабатывает.

Но как нам найти тот самый волшебный период? Бегать по графику и считать руками? Можно. Эффективно? Нет.
Для автоматизации процесса существует целый ряд так называемых программ технического анализа.

Для данной статьи воспользовались старой классикой — AmiBroker. Позволяет читать данные в формате Metastock напрямую. Конвертирует под себя эксель. Категорически легкий язык для новичка. Все интуитивно понятно. Я не говорю про сложные конструкции с циклами, но элементарные вещи, типа пересечений, дивергенций — легко.

Итак, обратились с просьбой проанализировать последний месяц на РИ. Качаем данные для MetaStock с сайта ФИНАМа и грузим в АмиБрокер. Смотреть будем период с 17 марта 2020 по текущий день. Тихо, тихо, тихо....! Уже слышу. Нерепрезентативно. Мало. Знаем, проходили. Дело не в этом. Читаем дальше.

Скачали минутки, чтобы было по-больше свечей, ибо период действительно небольшой. Тестить фьючи вообще сложно — склейки. Можно, конечно, руками дробя периоды, но сейчас опять же не об этом.

Что первое приходит на ум с машками? Пересечение ценой машки. Элементарный код

Тесты. МАшки. Как найти нужные параметры и где тестить?

Написали код и… начинаем заниматься оптимизацией.
Что такое оптимизация? Это не подгонка результата, как кричат со многих сараев. Когда ты берешь с головы какой-то период, к примеру, 14 — это тоже результат той самой оптимизации. Только у тебя в голове. На уровне чувств, остатков прочитанного. В данном случае оптимизация — это просто автоматический перебор программой всех результатов работы коды при значениях переменной от (в данном случае) 10 до 100. Тот самый период временного окна, по которому будет считаться машка. Программа делает расчет и предлагает список результатов, сгруппированный по какому-то показателю. Пользовались по умолчанию: CAR/MaxDD — отношение среднегодовой доходности к максимальной просадке.

По сути, код вверху — это элементарная торговая система. Подчеркну — элементарная. Здесь не учтены многие тонкие моменты.

И что в результате?

Тесты. МАшки. Как найти нужные параметры и где тестить?
Тесты. МАшки. Как найти нужные параметры и где тестить?
За полтора месяца 23% профита. И 12% просадки. Не спешим хлопать в ладошки, даже если начали. 4308 сделок! Средний профит/лосс — чистый ноль. Это неработоспособная система. Ну если только не на всяких HFT с серверами на бирже и абонентской комиссией.

Что мы можем сделать? Как поправить? И что мы упускаем из вида? Ну… время. К примеру сейчас система может войти в сделку в 23:44. По умолчанию система входит в сделку по ценам закрытия свечи. Это тоже неправильно. Но в рамках данной статьи допустимо. Так вот… система войдет в сделку в 23:44. На практике такого не случится, поскольку 23:44:59999999 рынок закроется. А дальше гэп. Очевидно, мы должны ограничить возможность входа в сделку на последних минутах. И заодно на первой. Также надо поступить и с клирингом, но не стали.

Тесты. МАшки. Как найти нужные параметры и где тестить?

Внесли ограничения по времени.

Тесты. МАшки. Как найти нужные параметры и где тестить?
Тесты. МАшки. Как найти нужные параметры и где тестить?
Результат изменился. Но только на графиках эквити. Система по-прежнему неработоспособна. Тысячи тысяч сделок.

Ну а как иначе? Машка инструмент инертный по определению. И пока она отойдет от цены, цена её сто раз пересечет взад-назад, набивая нам сделки. ЧТО ДЕЛАТЬ?

Обратим внимание только на машку. Изменение направления? Да!

Тесты. МАшки. Как найти нужные параметры и где тестить?

… шла машка вниз, повернулась вверх. Покупаем.

Тесты. МАшки. Как найти нужные параметры и где тестить?
Тесты. МАшки. Как найти нужные параметры и где тестить?

Количество сделок сразу упало в разы. И средний профит/лосс уже вырос не то чтобы до вменяемых значений, но тем не менее. Да и денег уже 39% за неполных полтора месяца.

Может еще сократим кол-во сделок? Давай сократим. Как? Что у нас будет случаться реже чем изменение направление машки? Мммм… пересечение двух машек?

Тесты. МАшки. Как найти нужные параметры и где тестить?

Включаем оптимизацию. 191 вариант для возможного периода у первой машки, 191 у второй. Итого 36 481 расчетов.

Тесты. МАшки. Как найти нужные параметры и где тестить?

Полученный результат мы можем посмотреть в виде такой трехмерной «сортировки».

Тесты. МАшки. Как найти нужные параметры и где тестить?
И он уже сразу нам говорит, что система неработоспособная. Назовем её «тонкой». «Хрупкой». Слишком небольшое число вариантов дают положительный результат. При этом они довольно рваные. Шаг влево, шаг вправо… Нету какого-то мощного холма выборки «над водой». Ага… ну и что в цифрах?

Тесты. МАшки. Как найти нужные параметры и где тестить?

А результат-то ого-го! Скажут некоторые. 47%! Даже средний профит/лосс 0,29%. Это на РИ! На минутках! 300 пунктов. И сделок совсем уже немного — 143 штуки.

Но что нам скажет рентгенограмма наших профитных профитов?

Тесты. МАшки. Как найти нужные параметры и где тестить?
Да система тупо целый месяц была в минусах и вытянула от силы полтора процента. Торговать такое? Каждому свое.

Вот такая, собственно, пробежка по верхам.

Что было упущено и опущено?

Комиссии. Но разве их кто-то считает на ФОРТС? А ХФТшники до сих пор не на абонентке?

Проскальзывания. Таки да. Есть такая буква в этом слове. В целом использование цены закрытия для входа неверно. Ибо на следующей свече такой цены может просто не быть. Как это можно победить? Можно хитро прописать код — одним из условий входа является нахождение цены закрытия предыдущей свечи (ну на которой прошел сигнал) внутри следующей свечи, но не равенство её цене максимума или минимума. Таким образом мы отсечем множество лишних сделок, которых бы не было в реальности. Ну а проскальзывание… вы можете легко его задать в настройках программы. По своим душевным порывам.

Какие могут быть выводы?

Начнем с того, что мы в данном случае работали с капитализацией результата. Т.е. профит не забирается с рынка, а вкладывается в дальнейшую работу. Что мы можем сразу сказать по форме кривой эквити применительно к такому способу работы?

Тесты. МАшки. Как найти нужные параметры и где тестить?
Зеленая — СЕКСИ! Именно такая должна быть кривая. Сейчас скажу умно-научно… экспоненциальная.

Желтая — уже повод задуматься. Ваши результаты уменьшаются со временем, хотя депошечка вроде как и растет.

Красная — НЕ СЕКСИ… выкинуть и забыть.

Как мы можем наблюдать, наши результаты как-бы да… не секси...

Далее.
Выбор из всех возможных результатов делается на определенном заданном промежутке. Т.е. на этом участке цена себя вела определенным образом. К примеру, было много длинных направленных безоткатных движений. Соответственно мы получаем определенные значения периода, которые показывают себя наиболее хорошо при подобных условиях. Но эти же значения будут давать совершенно другие результаты на участке рынка, где направленных безоткатных движений нет. А есть мелкий рваные. И взять для анализа более широкий размах времени — не панацея. Таким макаром мы можем дойти и до столетия. И что?

Какие варианты решения проблемы? Адаптивность.
Т.е. мы должны заставить значение периода меняться в зависимости от текущей ситуации в режиме реального времени. Как это сделать на пальцах?
Ну если совсем на пальцах, то можно, к примеру, привязать значение периода машки к значению АТР. И получим прямую зависимость поведения скользяшки от волатильности рынка. Одна беда… АТР тоже построен на машках. Но уже что-то...

Но есть более правильные варианты. Мы вообще не должны лезть руками в индикатор. Да, это невозможно по большому счету. Мы его руками пишем. Но база его изменения должна исходить из поведения самой цены. Но… это уже не предмет текущей темы.

Найти нас всегда можно в нашем уютном чатике. Если есть какие-то вопросы по теме — оперативно ответим там. Может быть интересно еще что-то посчитать, посмотреть...

@StockGamblers
Давайте общаться!

А на этом пока все.
¡Adiós!
★13
23 комментария
Мне ваши рассуждения напомнили это:
avatar
полный бизнес :)
avatar
Сами по себе машки ничего не дают, нужно еще что то, что дает уверенность.
avatar
А форвардного анализа совсем нет? Как-то странно смотреть результат на тех же данных, на которых и подгоняли.
avatar
vasionok, так и написали же вроде, что на других участках данные будут другие. И нельзя полагаться на подобный анализ.
avatar
На РИ посчитали лет 6 назад:
1) стратегию пересечением двух скользящих. 
2) оптимизация от 1 до 1000 периодов(или дневки или часовики я не помню сейчас). 
3) c помощью TSLAB
Результат 261 период, время расчета 2 минуты, с 99 года по текущее время(2014 год).
avatar
Вообще-то, период МА может быть любым. В зависимости от того, какой нужен и для чего.
МА всего лишь инструмент для измерения. Есть ли разница в чем измерять, в дюймах или сантиметрах? Такой разницы нет, т.е., и период МА не имеет значения, и выбирается только из удобства.
avatar
Пользовался Амиброкером несколько лет назад, данные из Квика в реальном времени поступали. К нему тысячи скриптов на одном индийской сайте выкладывали. Некоторые тестировал. Результат всегда неоднозначный. Ну не бывает идеальных Граалей.
Машка дает самое главное- показывает то, в какую сторону нужно торговать. И когда торговать не нужно.
Не поняла ваших формул, но на графике СИПИ500 отлично работает на 4 часах МА 85 и 75. Классика так сказать.Причем в более 50% случаях касание машек сверху давало возможность закупиться еще. Как на акциях-сами смотрите.
avatar
vorona969, а не на сипи? 
Andrei.Ka, Я так понимаю, суть поста в последних абзацах 
avatar
На днях работают  в качестве поддержек/сопротивлений 21,55,100,200. Просто потому что уже много десятилетий их все используют.
Феликс Осколков, 21 55 89 233
avatar
Феликс Осколков, 
«Все» — это пресловутые 90%?)))
avatar
spebe, я думаю не составит труда кинуть их на график и убедиться, что это так
Феликс Осколков, анекдот из детства вспомнил.

Ленин — Дзержинскому:
— Феликс Эдмундович, а Вы когда-нибудь онанизмом занимались?
— Нет, Владимир Ильич, что Вы, я же большевик.
— Зья, батенька, зья. Чежтовски пьиятная вещь. 
avatar
spebe, вы все разговоры сводите к обсуждению онанизма? 

Феликс Осколков, онанизм это не другая тема разговора, а та же — в виде метафоры. 

Дайте, пжлст, очень четкое определение поддержки/сопротивления, и я покажу, что «накидывание» упомянутых машек на график — онанизм.  

avatar
spebe, все понятно
Теоретическая статья с кучей выкладок из серии «какой молоток выбрать что бы забить гвоздь»
Хороший пост!

Но не увидел а какой вид средних был использован?
avatar

теги блога StockGamblers

....все тэги



UPDONW
Новый дизайн