Намедни от одного из участников нашего уютного чатика поступил вопрос: а какие, собственно, периоды выбрать для скользящих средних на РИ, чтобы получать профит.
Предлагаем в выходные пробежаться по всем этапам изыскания таковых. Параметров. Кто-то не знает, где это делать. Кто-то не знает как. Кто-то не обращает внимание на ряд вещей, на которые следовало бы обратить.
МАшки или скользящие средние — это наверное самое элементарное, что есть из ТА на рынке. И с чего все начинают. Многие там и остаются… теряя капитал. А кто-то и зарабатывает.
Но как нам найти тот самый волшебный период? Бегать по графику и считать руками? Можно. Эффективно? Нет.
Для автоматизации процесса существует целый ряд так называемых программ технического анализа.
Для данной статьи воспользовались старой классикой — 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!
1) стратегию пересечением двух скользящих.
2) оптимизация от 1 до 1000 периодов(или дневки или часовики я не помню сейчас).
3) c помощью TSLAB
Результат 261 период, время расчета 2 минуты, с 99 года по текущее время(2014 год).
МА всего лишь инструмент для измерения. Есть ли разница в чем измерять, в дюймах или сантиметрах? Такой разницы нет, т.е., и период МА не имеет значения, и выбирается только из удобства.
«Все» — это пресловутые 90%?)))
Ленин — Дзержинскому:
— Феликс Эдмундович, а Вы когда-нибудь онанизмом занимались?
— Нет, Владимир Ильич, что Вы, я же большевик.
— Зья, батенька, зья. Чежтовски пьиятная вещь.
Феликс Осколков, онанизм это не другая тема разговора, а та же — в виде метафоры.
Дайте, пжлст, очень четкое определение поддержки/сопротивления, и я покажу, что «накидывание» упомянутых машек на график — онанизм.
Но не увидел а какой вид средних был использован?