Блог им. MrWhite

Тема дня # 25. Попробовал я тут поизучать алгоритмы

Ковырялся долго. Сваял некий алгоритм. Ну не знаю может это даже и не алгоритм, а так...
Просто, пока это для меня — terra incognitta, хочу хоть какие-то знания получить.
Алгоритм трендследящий. Период наблюдения 1000 баров.
Ниже на рисунке представлен график equity на исторических данных

Рисунок  Кривая капитала по стратегии

Тема дня # 25. Попробовал я тут поизучать алгоритмы


что смущает во всей этой истории?
  • срок жизни этого алгоритма?
  • как понять, что алгоритм перестал работать? как просчитать возможный срок жизни любого алгоритма? даже перспективного
  • почему этот алгоритм на исторических данных только по одному инструменту мне нравится, а по другим инструментам нет?
  • почему убыточных сделок по количеству больше, а стратегия всё равно приносит прибыль?
  • как найти инструмент с отрицательной корреляцией к моему отобранному инструменту, т.е. сделать пару, работающую в противофазе?  и с помощью какого инструментария  сделать этот подход по формализованным критериям, а не на глазок?
  • увеличит ли это прибыльность стратегии? снизит ли риск?
  • почему оказалось всё так просто?
★6
41 комментарий
Press, сделок всего 48. Мало, согласен.
Сергей Верпета,
Попробуйте использовать систему управления капиталом. Протестируйте несколько вариантов набора позиции. Например, антимартингейл. Уверяю Вас, доходность сильно возрастет, а риск уменьшится. И это будет работать на всех трендовых инструментах.
avatar
Рассмотрите на чем основан адгоритм. Если вариант типа «стохастик там, то входим, rsi тут, то выходим», то просто подгонка под историю в 1000 баров. Тем более, как выше отметили, беры к сделкам отношения не имеют.
avatar
По последнему Пункту скажу, что все не просто) Пройдет ни один год изучения алгоритмов и Вы это тоже поймете
ОбнуляюсьТретийРаз, ага. только увеличил период тестинга и всё стало ОООчень не просто)))
я имел в виду, сиди выбирай подходящие параметры при оптимизации и всё. просто. только терпение))
— как понять, что алгоритм перестал работать?

исчезла неэффективность которую он эксплуатировал/изменилась регуляция рынка

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

скорее всего потому что алгоритм г.

— почему убыточных сделок по количеству больше, а стратегия всё равно приносит прибыль?

потому что прибыль больше убытка

как найти инструмент с отрицательной корреляцией к моему отобранному инструменту, т.е. сделать пару, работающую в противофазе?

с помошью ПО

увеличит ли это прибыльность стратегии? снизит ли риск?

Нет

почему оказалось всё так просто?

потому что все это г.
avatar
John Smith, )))
John Smith, С одним не согласен. Алгоритм не обязан работать на других инструментах. Ведь есть принципиально НЕтрендовые инструменты.
avatar
buyandsell-ru.com, ну если говорить про трендовую стратегию то наверное да.

Со своей колокольни ляпнул.
avatar
John Smith, Многие «истины» почерпнуты из книжек 100 летней давности, когда еще графики не умели рисовать) Оттуда же «истина» что систему надо тестить на 12 инструментах. С тех пор инструменты стали «уметь становиться эффективными».
avatar
buyandsell-ru.com, ну я на 40 000 примерно тестаю ((

PS: речь про US рынок конечно.
avatar
buyandsell-ru.com, тоже такие мысли
buyandsell-ru.com, но есть проблема: как определить зарождение тренда? после долгого флэта? а как это описать математически? при том, что я нефига не специалист
а ещё проблема закончился тренд или нет?
Сергей Верпета, лет 5 смотришь на графики и все ;)
avatar
— Срок жизни алгоритма — это не скажет никто, можно даже не гадать, умрет, когда уйдет неэффективность на которой основан алгоритм, а узнать это можно, только по факту.
— Кстати, для не нужно искать инструмент с отрицательной корреляцией (-1) достаточно всего лишь чтобы она просто отсутствовала (< 0.5 > -0.5).
avatar
Лично, я еще ни разу не встречал алгоритм, который хорошо работал если, не на всех, то хотяб на большинстве инструментов. Обычно на паре-тройке, результаты хорошие, а на всех остальных — средней уёвости.
avatar
Все просто потому что выборка не репрезентативна. Суля по графику алгоритм не стабилен, подобный график мог показать и генератор случайных ставок.
avatar
А какие параметры можно подгонять в системе? У меня сейчас алгоритм будет готов, так там кроме стопов ничего подгонять не нужно…
Press, почему не бары? Ведь же бывают ручные системы в духе «купил, когда бар закрылся над уровнем»
avatar
Вам нужно обучение. Ваши вопросы настолько фундаментальны, что в формате комментов к посту вряд ли вам дадут исчерпывающие ответы.
avatar
Алго должен удовлетворять следующим условиям (никому не навязываю, лично мой фильтр)
— количество вин трейдов > 65%
— PF>2.5
— average win/average loss >1.5
— средний трейд >1.5%
avatar
John Smith, Скажите, сколько у вас систем, соответствующих этим условиям?
avatar
Антон Ш., три и еще парочка в разработке
avatar
John Smith, это печатный станок))
Сергей Верпета, это так себе цифры — есть парни и покруче
avatar
John Smith, я бы сказал, что количество вин-трейдов должно быть больше 75.
про количество убыточных сделок все просто, их на самом деле не должно быть мало, реально в 30% профитных сделок все и происходит. Тут дело в том, когда ты убыток закрыл и когда закрыл профит и почему.
avatar
RidayTrader, убыток закрывает алгоритм, кстати не всегда и убыток или профит фиксируется, если бы ещё этот фильтр попытаться засунуть: убыток в пунктах и профит в пунктах, а то в некоторых временных промежутках получается убытки пересиживаются, а профит режется
Press, спс за новый термин!
С чего вообще советую начать

1. Сделок мало. Расширить горизонты.

2. Чтобы алгоритм был надежный уменьшайте количество
параметров. Если вы убираете некий параметр-фильтр вообще, а алгоритм «ухудшается» всего лишь вдвое, смело выкидывайте это фильтр

3. Чтобы алгоритм прослужил дольше выбирает те значения параметров которые стоят в центре целого поля положительных результатов, а не хвосты.

Например
параметр1 — [1..100]
параметр2 — [1..100]
Т.е у вас 10000 возможных комбинация.
Нужно выбрать ту комбинацию у которой изменение параметра на +-10 не заводит алгоритм в минус.

4. Сравнить жизнеспособеность алгоритмов «на коленке» можно примерно так
Робот1 — имеет два параметра
параметр1 — [1..100]
параметр2 — [1..100]

Робот2 — имеет три параметра
параметр1 — [1..20]
параметр2 — [1..20]
параметр3 — [1..20]

Робот1 — 10000 комбинаций
2000 — ведут в плюс, т.е. 20% плюсовых

Робот2 — 8000 комбинаций
1000 — ведут в плюс, т.е. 12,5% плюсовых

20% больше 12.5% — первый лучше.

Т.е. делаем такое допущение:
«Параметр который работал последний год был именно такой случайно, наследующий год „повезет“ другому значению параметра. Чем больше значений параметра дающих плюс, тем более вероятно что „повезет“ и нам»

5. Работать чисто на живучись алгоритма.

6. Коррелирующий алгоритм — это хорошо.
Искать чисто в уме.
Считать корреляцию в компе. Уже писали меньше 0.5 — это хорошо.

7. Если вы делаете роботы для себя а не на продажу,
читать много про «переоптимизацию» и «подгонку»

Написать робота который на 10 годах исторических данных изобразит грааль дело 30 минут программирования и 48 часов работы компа над перебором параметра.

8. Читать книги. Все велосипеды давно изобретены.




Я полностью осознаю что все пункты очень спорные.
Но это лучше чем ничего. С этого можно начать, с этим можно жить и работать.


avatar
Lazz, спс за суперкоментарий
как понять, что алгоритм перестал работать?

как вариант: смотреть некоторые показатели типа просадки и макс.числа убыточных сделок подряд. Если на реале показатели хуже, то возможно что-то пошло не так.
avatar
1. Рассматривать алгоритм с таким количеством сделок вообще нельзя. Бросание монетки может дать такой же результат. Минимум должно быть 200+ сделок.
2. Параметры. При таком количестве сделок их должно быть 0. Чем больше сделок, тем больше параметров вы можете использовать теоретически.
avatar
Alex Hurko, можете привести пример системы без параметров?
avatar
Marcello, считаем хаусдорфову размерность (через р-ть минковского либо через херста) инструмента, если много больше либо много меньше 1.5 — любая линейная модель
avatar
Arsen G, я так и подумал…
avatar
Проблема в том что отправлять алгоритм в утиль вы будете во время просадки, а значит вероятно окажетесь в минусе даже если он зарабратывает хоть и немного.
avatar

теги блога Сергей Верпета

....все тэги



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