Блог им. kapodes

Тестирование трендовой стратегии с результатами и выводами.

    • 14 сентября 2016, 16:06
    • |
    • kapodes
  • Еще
Добрый день. Первый пост все дела :) По следам поста http://smart-lab.ru/blog/349671.php в обсуждении с robot-scalper.ru родилась простая трендовая стратегия, которую я и решил протестировать.

    Алгоритм стратегии: Если видим что цена сформировала тренд, то встаем на него и надеемся на лучшее. Позиция закрывается по профиту или лоссу. В конце дня в любом случае позиция закрывается. То есть основная мысль стратегии — если есть хороший мощный тренд, то вероятность его продолжения довольно высока.

    По следам видео и комментариев поста в качестве основного ТФ использую часовики. Условие формирование тренда — N свечей показали рост или падение экстремумов относительно своих предыдущих. То есть для растущего тренда — минимум и максимум следующей свечи выше минимума и максимума предыдущей свечи соответственно.

    Условие входа — N свечей большого ТФ сформировали тренд и последняя свеча меньшего ТФ (в моем случае 15 минут) закрылась против тренда, то есть сформировала коррекцию. 

    Условие выхода — сразу при входе выставляются ТП и СЛ, о них ниже.
    Тестирование проводил по нашему дорогому RI. Сделал склеенный фьчерс, но не включал неделю в которую попадал переход с одного контракта на другой. Даты с 22-06-2015 по 09-09-2016. То есть 5 полных контрактов. В истории учитывалась только лучшая цена спроса/предложения, что более чем достаточно для такого ТФ.

    Итак результаты и конфиги...
Лучший результат получился при N=3 то есть тренд длиной 3 часа. И в качестве ТП и СЛ использовал 1% от текущей цены фьчерса.
При таком конфиге итоговый результат порядка 33 000 пунктов на 1 контракт.
Кривая профита:
Тестирование трендовой стратегии с результатами и выводами.




















Так же протестировал другие варианты, которые любят советовать новичкам. 
1) Если первая сделка дня ушла в минус, то больше в этот день не торгуем. Результат: 29 000, но кривая более размашистая.
2) ТП 1.5% СЛ 0.5%, как рекомендуют ГУРУ :) Результат: 2700
3) ТП 0.5% СЛ 1.5% как стало интересно самому. Результат: 16500, но кривая как синусоида. Просадки с 10 000 до 0.
4) N=2 и N=4 на тренд, результат сейчас точно не помню, но порядка 15000 20000.

Выводы: тренды таки работают. Соотношение СЛ и ТП оказалось лучше примерно одинаковое. При маленьких стопах идет слив.

Благодарности scalper-robot.ru, за грааль и Тимофей Мартынов за начальное видео, что собственно и побудило на это все.

Приглашаю к обсуждению. Так же предлагаю накидать теперь страту для боковика, которую так же сделаю и проверю.

ps выкладываю лог сделок отдельно по каждому фьючерсу
www.dropbox.com/s/1oc7klrq50ckeg7/trend_trades.zip?dl=0

pps Я никого не пиарю и ничего не продаю. Просто взял стратегию, прогнал по истории и поделился результатами с общественностью. Что с ними делать решать каждому. Я для себя выводы сделал. Что касается упоминания людей, они в какой-то степени натолкнули на мысль, поэтому упоминуть их банальная вежливость.

★37
118 комментариев
Так значит отработала предложенная мной стратегия? ))
Чудес не бывает. Торгуйте по тренду. Входите на коррекциях, выходите на новых экстремумах. Всё просто. ))

Начало было здесь:
smart-lab.ru/blog/349671.php
avatar
Robot-Scalper.ru, По бибикай когда на конфу смартлаба на бугатти будешь подъезжать, мы с Секретом из маршрутки тебе ручками по машем:)
avatar
Pest, мы с kapodes подъедем. Побибикаем и помашем! ))
Дмитрию привет!
avatar
похоже робот-скальпер со второго ника сам себя пиарит, ну что же не получается заработать с помощью роботов на рынке —  заработает с их продажи лохам смартлаба)
avatar
Чужой, я сам по себе. И вполне себе реальный) Просто в разработке пришел к тому, что нет нормальной работающей страты, чтобы торговать и пришел сюда за вдохновением. Для этого ведь сайт придумывался?
avatar
kapodes,  робот-скальпер обычный мошенник и шарлатан, продающий сливающие алгоритмы, я просто видел реакцию на одном сайте складчины, это явно не тот случай, где нужно искать вдохновение)   кстати, на чем тестировали?
avatar
Чужой, мне главное стратегия и её результат. Просто человек написал, я проверил, результат выложил. Тестировал на своем собственном роботе. 
avatar
kapodes,  тестирование и реал — огромная разница! Успехов в торговле  и поосторожней с  шарлатанами!
avatar
Чужой, если тестирование сливает, то и реал сольет. Так что без тестирования все таки нельзя.
avatar
kapodes,  )  если тестирование зарабатывает — не факт, что будет также в реале.  Через это прошли многие алготрейдеры, ты новичек что ли?)
avatar
Чужой, я не очень понимаю ваш посыл. По вашему надо сразу на реальном бабле на реальном рынке любую идею пробовать?
avatar
kapodes,  мой посыл — не стоит доверять тестированию без проверки на реале и утверждать всем. что вы проверили стратегию
avatar
Чужой, я как раз таки проверил стратегию на исторических данных :) Я могу лишь сказать, что она на этих данных работает, что с этим дальше делать решать каждому. Я же вам её не продаю или не говорю, торгуйте так :) Для себя я выводы сделал, с общественностью поделился. Какой я молодец %)
avatar
kapodes,  ну-ну)
avatar
Подрубите в стратегию 10 тиков слипа и она умрёт не родившись)
Роман Беседовский, что подразумевается под 10 тиков слипа?
avatar
kapodes, Проскальзывание на сделку. Ну по хорошему хотя бы 2-3 надо включать. Так как есть комиссии и т.д. Конечно с 50 000 рублями депозита проскальзывание будет минимальным, но при наличии хотя бы миллиона рублей уже всё станет сложнее.
Роман Беседовский, у меня средний ТП и СЛ 700-1000 пунктов. Думаете проскальзывание в 10-30 пунктов убьет страту? Стратегия идет для частников и начинающих, которым пока нет проблемы, что делать с миллионом) К тому же ликвидности на рынке и на лям хватит это ведь всего лишь 70 контрактов РТС.
avatar
kapodes, Вы просто попробуйте добавить 3 тика и проверьте. Ну или просто скажите сколько всего сделок за указанный период.
Роман Беседовский, все сделки выложены в первом посте. Но например на ртс можно без проблем закрыть 50 лотов с проскальзыванием 10 пунктов.
avatar
kapodes, Все заависит сильно от времени входа. В спокойное время можно и без 10 закрыть. А в трендовых стратегиях Вы пытаетесь зайти на импульсе, то есть во время движения. К примеру в первые 2 часа торгов можно и 100 пунктов на 50 контрактов поймать. Дело, конечно, Ваше. Но я рекомендую всё проверять с проскальзыванием хотя бы 50 пунктов. Потом сильно жизнь облегчит. 
Роман Беседовский, в данном случае заход не так важен, по идее, я ведь не ловлю какую то определнную цену. А выход можно и лимитированной заявкой выставлять. Для себя вопрос проскальзывания закрываю FIX/FAST ;)
avatar
kapodes, Тут как спор практика с теоретиком :) У меня по статистике реальных сделок среднее проскальзывание  составляет 30-40 пунктов. Это где-то на 200 контрактов. 

Можете просветить, что такое FIX/FAST. FIX это протокол через который роботов пишут, насколько я понимаю, а FAST?
Роман Беседовский, мы же тут базовую страту для новичков обсуждаем, куда уж тут 200 контрактов. И никто не мешает торговать это дело на многих инструментах. Да и стопы никто не мешает ставить лимитками. Смысл поста проверка базового принципа, стоит ли торговать по тренду и как) FIX протокол для выставления заявок, FAST протокол для получения рыночных данных.
avatar
kapodes, Понял, спасибо. Просто сам работаю с суперкривой связкой quik/stocksharp и ищу альтернативы. Потому что хуже мне кажется не бывает)

Для новичков тоже не подходит. Чуть ниже метеор Вам пояснил. Что 30 пунктов средняя прибыль на сделку. Комиссия по РТС брокерская рублей 6 туда-обратно. 10 пунктов проскальзывания всё равно придётся заложить, иначе это совсем из области фантастики получится. В итоге от 30 в лучшем случае останется 15, это при суперидеальном исполнении. Единственное ценное наблюдение в данной стратегии — это то, что РТС является трендовым инструментом, на котором пока ещё живы внутридневные тренды. Которые на большинстве мировых инструментов давно уже померли из-за суперконкуренции. На наших стоках тоже, кстати, померли.

Роман Беседовский, чуть выше написал про проскальзывание. Плохо представляю работу квика со стокшарпом. Я сразу логику на Java писал, а только коннекторы к бирже менял. Начинал с quik, потом transaq connector, сейчас вышел на прямой доступ через fix/fast. Если интерисуют подробности обращайтесь)
avatar
kapodes, Я сейчас на уровне transaq connector). Хотел спросить, почему отказались?

Роман Беседовский, может лучше в ЛС?) правда я пока вроде не могу беседу начинать.
avatar
Роман Беседовский, чтобы компенсировать проскальзывание можно поставить ТП 1.1% СЛ 0.9%.
avatar
kapodes,  В этом случае с высокой вероятностью Win Rate слегка подупадёт и у Вас вылетит то на то. У меня был приятель, который писал робота, который случайно входы делал. Он пробовал делать ТП СЛ 1 к 1 у него примерно 50% прибыльных трейдов было. Потом он поменял на 2 к 1. Осталось 33% прибыльных. Удивительно, на факт)
Роман Беседовский, я как-то тоже попробовал такой способ) На рандоме вход или выход. В итоге полный слив)) Вообще когда начинаешь с полной историей на маленьком ТФ работать удивляешься как вообще на этом рынке можно заработать.
avatar
kapodes, На мелком ТФ рулят провайдеры ликвидности. То есть те, кто её дают, а не забирают. Жаль у нашей биржи нет механизма вознаграждения тех, кто лимитники ставят. Иначе были бы очень интересные боковые стратегии. Тут недавно пост на СЛ был интересный. Что на мелких ТФ распределение очень сильно сменилось в пользу эффективного рынка. А на недельных за последние 200 лет осталось прежним)
Роман Беседовский, а как найти? Кто писал хоть?
avatar
Collapse, http://smart-lab.ru/blog/327219.php
Роман Беседовский, ну так 33% при ТП СЛ 2 на 1 повышают прибыльность до 66% — не так уж и плохо.
avatar
Это дата майнинг, вы просто подобрали параметры которие максимизировали доход на истории. Если начнете торговать с ними, результат будет совсем другой.
avatar
Random Hero, если бы я взял историю и гонял по ней несколько тысяч раз, подбирая входные параметры, это был бы датаймайнинг. А тут я решил проверить на долгом периоде базовые принципы рабты по тренду. Результатами решил поделиться. Согласитесь страта довольно простая и тестировал я немного вариантов.
avatar
kapodes, скорее всего удачно попал с начальными значениями..

avatar
skatino, я проверял базовое утверждение, которое озвучил в начале поста. Свои результаты я получил и поделился ими с общественностью. Сейчас проверю на долларе и нефти и так же поделюсь.
avatar
kapodes, да, но рынок всё равно меняется и год — не показатель.
avatar
Collapse, ну год то актуальный. Что было 5 лет назад уже не так интересно. 
avatar
 А ещё могу сказать, что РТС реально трендовый. Но самый интересный вопрос, когда гоняешь подобное на РТС, а потом на евродолларе или каком-нибудь ЛУКОЙЛе. Как понять, что РТС стал ЛУКОЙЛом и в какой момент вырубить стратегию?
Роман Беседовский, ну из этого вытекает моё предложение о поиске общей стратегии для боковика. Которую так же можно проверить и соединив их в одну получить грааль)
avatar
 К примеру на Газпроме, ЛУКОЙЛе, Роснефти тоже когда-то были внутридневные тренды, а потом они ушли на несколько лет и по первым двум до сих пор не пришли. И тут настоящая засада начинается.
Роман Беседовский, мне казалось у нас на рынке стоит торговать только RI, SI, BR. :) Проверка по ним кстати следующий шаг.
avatar
kapodes, Доллар, нефть и РТС. Это как 3 брата-акробата)))) Причем по доллару сейчас, если не ошибаюсь самый низковолатильный период за последние 8-10 лет). И у многих трендовых МТСников на долларе сейчас обновляются исторические просадки)
Роман Беседовский, ещё сбербанк и евро там рядом немного стоят)
avatar
kapodes, Сбер, кстати, реально крут. А евро к рублю, тут скорее заслуга рубля, а не евро :)
kapodes, а какие цены для входа берёте? Минимум/максимум часовой свечи или более детально? У меня есть все тики Ри за 6 лет. Могу поделиться.
avatar
Collapse, вход описан в первом посте. По сути это цена открытия следующей 15 минутной свечки после выполнившегося условия. За тики спасибо, но меня и моя история устраивает)
avatar
Зря не продаешь. Если есть продукт его нужно продавать.
PS. Пересчитай систему без PT/SL — только правило входа
avatar
ELab, зачем продавать, если можно самому на нем заработать) Если PT/SL, то как выходить? В конце дня?
avatar
kapodes, нет входить и выходить только по правилу входа — быть всегда в рынке
avatar
ELab, интересная идея. Обязательно попробую и отпишусь по результату!
avatar
kapodes, это математика — если мат. ожидание от сделки +, то нужно ему и следовать. если сделок много, то сразу видно, что все правила входы выхода с PT/SL резко режут профит
avatar
ELab, с одной стороны да, но сейчас подумалось, что условие выхода все таки надо более строгое. Потому что развороты будут очень большие убытки приносить. Но я проверю :) 
avatar
kapodes, Можно прикрутить трейлинг-стоп, например.
avatar
SenSoR, тоже хорошая идея. Проверю :)
avatar
ELab, проверил. За время RIU6 слив -7500 пунктов на контракт. Хотя если использовать стопы и профит +10500. Так что мои ожидания оправдались. В данном случае лучше использовать трейлинг стоп.
avatar
kapodes, сделок мало. для не HFT модели ожидаемый результат — чудес не бывает
avatar
ELab, ну вы предложили, я провел. Предложите вариант входа с прицелом на HFT внутри дня, проверю.
avatar
kapodes, без прямого доступа и (или) опоры на акции невозможно. если желаете посмотрите мой последний постик — я пытался развить тему торговли мат. ожиданием по композиту. Строим композит по разницам цен, потом торгуем некий инструмент на основе других. Мат. ожидание положительное, но вопрос вопросом как его на живом рынке в прибыль превратить. Я еще не занимался этим вопросом — свои проблемы и заботы. Но скоро займусь, надеюсь
avatar
ELab, конкретную ссылку дадите? При беглом поиске не нашел.
avatar
kapodes, smart-lab.ru/blog/343042.php самый первый (последний)
avatar
ELab, спасибо, подумаю)
avatar
ELab, тут так не получится… Стратегия не реверсивна. Т.е. если сидим по тренду вверх, а затем тренд развернулся, то по правилам мы закрываем лонг (открываем шорт) только если будет откат. А если его не будет? Так и застрянем в лонге. Поэтому для такой страты всё время в рынке нельзя. Нужны стопы. Как минимум закрываться, если 3 часовых бара вниз)
avatar
Господа, предлагайте идеи для работы на боковике!
avatar
Спасибо за пост. У себя в амиброкере проверю эту страту, но с нормализацией объемов)
avatar
SenSoR, что подразумеваете под нормализацией объемов? :)
avatar
kapodes, Это)
avatar
SenSoR, то бишь добавление / уменьшение позиции? Тоже хорошая идея, но это уже детали :) Я проверял базовый принцип, который так любят рассказывать новичкам. Видишь тренд — вставай на него на коррекции. Надо кстати попробовать не ждать коррекцию, хотя опыт показывает, что она всегда есть.
avatar
kapodes, Нет. Без добавления. Один вход — один выход, но разными объемами позиции в зависимости от текущей волатилньости.
avatar
SenSoR, как думаете текущую волатильность считать? Как вариант можно учитывать общий размер свечек формирующих тренд. И в зависимости от него решать об объеме.
avatar
kapodes, Например: Переходите на дневной таймфрейм, ставите индикатор ATR стандартные параметры. Затем число Х/ATR = это и есть наш торгуемый лот на сегодняшний день. Число «Х» выставляете путём перебора, в зависимости от того, какая макс просадка вам нужна.
avatar
SenSoR, у меня самописная система, поэтому индикаторов нет :) По идее размер движения перед входом достаточно показателен, по крайней мере можно проверить подсказывает ли он что-нибудь.
avatar
kapodes, Так тоже можно. Экспериментируйте)
avatar
kapodes, На примере фРТС попробуйте 5000/ATR
avatar
Подскажите, пожалуйста, где брали историю по фьючам для склейки?
avatar
caxap, ftp://athistory.zerich.com/
avatar

kapodes, извините за нескромный вопрос: а что за формат они используют?

Где можно про него узнать подробности?

avatar
ch5oh, http://www.qscalp.ru/store/qsh.pdf
avatar
средняя сделка выходит ~20 пунктов, это всего 2 шага цены, в реале стратегия скорее всего не принесет профита даже с минимальным депозитом
avatar
meteop, это вы с чего взяли то?) У меня 1% цены ориентир, что никак не меньше 600 пунктов.
avatar
kapodes, выделил в экселе столбец tradeprofit и получил его среднее значение. 600 пунктов это у вас наверно средняя прибыльная сделка
avatar
meteop, кстати только сейчас заметил, что не тот файл выложил со всеми сделками :)) Лучше использовать другую ссылку в которой раздельно по каждому фьчерсу. И по идее если считать среднюю сделку, то стоит суммировать их по модулю. Иначе получается какой то HFT %)
avatar
kapodes, зачем по модулю? просто берем общий профит, допустим 30000 и делим на количество сделок — 1000, получаем 30 пунктов — это значение средней прибыли в каждой сделке, матожидание сделки, его и надо сравнивать с проскальзыванием, а суммирование сделок по модулю не имеет никакого смысла
avatar
meteop, ок. Возникает только вопрос как тогда HFT живут.
avatar
kapodes, у них совсем другие алгоритмы, и в идеале они работают без проскальзывания
avatar
meteop, стоплосс лимитом, тейк профит с минитрейлингом тоже помогают с проскальзыванием.
avatar
meteop, согласен, 30 пунктов средняя прибыль и это очень плохо к сожалению…
avatar
На чем тестировали? В экселе?
avatar
INTELLEKTTRADE, тестировал на собственном роботе написанном на Java. В качестве истории идет полный журнал заявок с биржи, на основе которого я строю все изменения стакана за день. В экселе только кривую прибыльности нарисовал, так как писать для этого отдельный класс как то лень.
avatar
kapodes, Эксель вообще хороший инструмент для теста?
avatar
INTELLEKTTRADE, понятия не имею. Я как-то слабо себе представляю как в нем что-нибудь тестировать.
avatar
Грааль готов и протестирован:
trader2014.blogspot.com/2014/12/blog-post_8.html
avatar
Сергей Лубяга, почитал. Как заработать в статье так и не сказано. А ругать много ума не надо.
avatar
Боковик -это маленькие тренды в разные стороны. Че тут предлагать то…
avatar
Суслик, по идее боковик это коридор. Тренды внутри ловить слишком сложно, постоянно будет по стопам выносить. Хотя предложите варианты, я протестирую и поделюсь)
avatar
kapodes, а, ну если так!) то совсем просто! Продавай у верхней границы боковика покупай возле нижней ;) Дарю грааль!
avatar
Суслик, как от границ работать, то понятно. Как понять что боковик начался?)
avatar
kapodes, у… я думал ты знаешь… писал же
Если видим что цена сформировала тренд, то встаем на него и надеемся на лучшее

если тренда нет то боковик
avatar
Суслик, а ведь и вправду :)
avatar
kapodes, Логика нас никогда не подводила! ;)
avatar
Накидал быстренько такую сист по итогам поста, только выход по скользящему стопу, без тейк профита.
Вот такой получился результат:



Александр Симонов, доходность в процентах? А если в пунктах? А вообще спасибо за развитие идеи :)
avatar
Нет это рубли/доллары.   Просто у мня ТсЛаб считает в баксах :)
Да и это сберкасса- фонда.

Александр Симонов, результаты определенно красивые) Тоже проверю трейлинг стоп без профита. Спасибо!
avatar
Добавил трейлинг. При маленьком трейлинге результаты примерно такие же. Если поставить большой трейлинг прибыль сильно падает. Попробовал так же перестановку в безубыток, опять же прибыль сильно падает. Получается лучше с фиксированными уровнями работать.
avatar
Попробовал как-то учитывать размер тренда как параметр входа или не входа. Получается если как-то учитывать размер, итоговый результат ухудшается.
avatar
kapodes, а я вот скачал таблицу сделок, глянул первый файл и чего-то не понял — почему такой большой разброс в колонке TradeProfit?

Если у вас 1% SL/TP то там должно быть строго ± 800-900
А у вас там хрень какая-то… и 40/50/60/200 полно... 

еще вопрос — вы в обе стороны можете одновременно стоять, или пока вы в бае, сигналы на селл игнорите?

PS: я так понял на ночь вы это всё закрываете?
Бабёр-Енот, посмотрите время закрытия таких сделок. Там 23:44. То есть закрытие позиции в конце дня, а там уже как получилось по профиту. Стою в одну сторону первоначального сигнала.
avatar
kapodes, пара наблюдений
— работать в представленном режиме начинает с начала 15-года. до этого идет жуткая пила пару лет, а 3 месяца до декабря 14-го включительно так и вообще идет непрерывный слив))

-Прибыльность системы можно существенно повысить, если… покупать по сигналу на продажу)) ну или хотя бы сигнал на продажу игнорить))

PS: попробовал (онли бай) на еврорубле… в принципе четко работает в профит на тастущем тренде(что логично))) то есть и(несколько лет до) до 15-го года и с мая 15-го года до марта нынешнего… но чет я не придумал как растущий тренд грамотно отфильтровать автоматом ))
Бабёр-Енот, как тут до этого заметили, среднее мат ожидание от сделки очень низкое, поэтому в чистом виде это торговать не стоит. А дальнейшие тестирования других идей показывают, что вообще ничего торговать не стоит)
avatar
kapodes, насчет «торговать в чистом виде не стоит», тут я в принципе согласен. Но, что заметил, тем поделился. Просто, забавно было обнаружить, что если оставить только продажи, то матожидание вырастет в 2 раза... Хотя все равно оно маленькое — на грани прибыльности с учетом комиссии и проскальзываний.
Бабёр-Енот, ну видимо общий тренд за это тестирование был вниз, поэтому шорты и были более прибыльными по итогу) Либо шорты быстрее отрабатывают и более вероятно достижение профита.
avatar
kapodes, тьфу… пока формулировал, перепутал продажи с покупками))) я имел в виду покупки если оставлять...

а так да… как раз начиная с декабря 2014-го мы на 30к пунктов и выросли примерно))
Отличный пост! Хорошая стратегия. Рекомендую обратить особое внимание на участки эквити, где происходит «залипание» на одном уровне. Много любопытного узнаете.
avatar
При тестировании желательно:
1) > 300 сделок. С 2008г.
2) в тесты сразу включить косты 100п на круг для РИ
3) минимум параметров (1-2)
4) при оптимизации смотреть не лучший (ие) параметр (ы), а окрестности.
avatar

теги блога kapodes

....все тэги



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