Bayesian regression - Делал ли кто советник по этому алгоритму? - страница 48

 
comp:
Сегодня видел, как примитив торговал на 7500 лотов (в одну сторону). С плечом 100:1 для открытия такой позиции требуется ~$5700K эквити.
Заскок? Снова ты?
 
Vasiliy Sokolov:
Заскок? Снова ты?
Вы не поняли. 7500 лотов по истории видел. Ничего подобного раньше не наблюдал. Но раз торгует на MT4, значит должен быть примитивом.
 
comp:
Сегодня видел, как примитив торговал на 7500 лотов (в одну сторону). С плечом 100:1 для открытия такой позиции требуется ~$5700K эквити.

Я не хотел кого-то персонально заклеймить. 

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

 

К вашему примеру, примитив это что? Вы видели его примитивный код или нет? 

 
comp:
Вы не поняли. 7500 лотов по истории видел. Ничего подобного раньше не наблюдал. Но раз торгует на MT4, значит должен быть примитивом.
Тут товарищи по 600+ файлов проекты на метатрейдере делают, так что может быть и очень сложно на МТ.
 
Alexey Burnakov:

...

С деревьями я не работал, посоветовать нечего, но есть немного опыта по обученению классификаторов в целом:

1) Если есть ряд цен  P[0], P[1], P[2], P[3], P[4]; то ряд для входных данных классификатора будет P[0]-P[3]. Но при этом не стоит для обучения брать значение P[4] как требуемый результат классификации. Открывать и закрывать сделки каждый бар никто не будет, выгоднее открыть сделку в начале канала, и закрыть в конце. Тоесть классификатор должен прогнозировать не цену следующего бара, а направление канала: вверх или вниз. Например построить на исходных данных зигзаг и взять направление зигзага вместо P[4] как требуемый результат.

2) Паттерны зависят от времени. Тренируйте по отдельному классификатору на каждый день недели, или попробуйте добавить в исходные данные фазу луны (я серьёзно), или время суток, я не знаю что именно делать, но это очень важно.

 
Alexey Burnakov:

К вашему примеру, примитив это что? Вы видели его примитивный код или нет? 

Не видел, конечно. Но код на MQL4 и каждый день сделки. Вы видели на MQL4 сложные математические выкрутасы, которые можно было бы еще и проотимизировать адекватно со многими тысячами проходов в ГА? Я - нет.

Если математика сложная, то в оптимизаторе MT4 она еле вертится. Но если человек на реале работает, значит он точно оптил в MT4. А значит там простого рода вычисления. И сложной математики нет, с высокой вероятностью.

 
Dr.Trader:

С деревьями я не работал, посоветовать нечего, но есть немного опыта по обученению классификаторов в целом:

1) Если есть ряд цен  P[0], P[1], P[2], P[3], P[4]; то ряд для входных данных классификатора будет P[0]-P[3]. Но при этом не стоит для обучения брать значение P[4] как требуемый результат классификации. Открывать и закрывать сделки каждый бар никто не будет, выгоднее открыть сделку в начале канала, и закрыть в конце. Тоесть классификатор должен прогнозировать не цену следующего бара, а направление канала: вверх или вниз. Например построить на исходных данных зигзаг и взять направление зигзага вместо P[4] как требуемый результат.

2) Паттерны зависят от времени. Тренируйте по отдельному классификатору на каждый день недели, или попробуйте добавить в исходные данные фазу луны (я серьёзно), или время суток, я не знаю что именно делать, но это очень важно.

Cпасибо.

 

По порядку.

1) Мысль интересная. Можно еще сделать так: замерить, что быстрее встретиться - максимум или минимум цены за некоторый промежуток времени. Если максимум (закодируем его как 1), то по идее, есть смысл открывать покупку, и наоборот. НО - одно большое но - правило закрытия такой сделки будут очень размыты, их нет.

Зигзаг я смотрю тут любят. Может и правда его попробовать. Что меня смущает в таком подходе - одно колено может наступить через 1 час, а другое через 9 часов. То есть, по времени полная неразбериха. Думаю, классификатору это может не понравиться. 

Хотя, вы говорите просто про направление.... Можно попробовать.....

 

2) Да, я это уже сделал. У меня есть большой набор данных - я могу им поделиться прямо здесь - куда я добавил к ценовым данным:

- час

- минуту

- день недели

- месяц

- день в месяце

 

НО - еще одно большое но - если эти переменные взятые по отдельности не говорят чего-то существенного о целевке, то деревья решений (все их разновидности) не включают их в топ-важных переменных. Происходит это потому, что деревья это жадные алгоритмы и они начинают составлять правила с самых важных для целевой переменной предикторов. И вообще говоря не просто заставить машину использовать те переменные, которые ты сам хочешь. Если в ней встроен механизм приоретизации предикторов, он будет твои "хотелки" отсеивать.

Одни из лучших известных машин обучения для классификации данных (но НЕ изображений) - это Gradient Boosted деревья (GBM / XGBOOST библиотеки) делают именно так - сначала отбирают переменные, характеризующие цену в сравнении с прошлым, например, разницу со скользящим средним с разным окном (у меня это стабильно самые важные предикторы). 

Нейронные сети обычные (shallow) - многослойные перцептроны не учитывают взаимодействий.... То есть у них все узлы это взвешенные суммы обработанные кернелом. Но может я не прав и они неявно отрабатывают взаимодействия... Не знаю точно. 

 
Alexey Burnakov:
Тут товарищи по 600+ файлов проекты на метатрейдере делают, так что может быть и очень сложно на МТ.
600+ файлов - это рюшечки, а не математика.
 
comp:
600+ файлов - это рюшечки, а не математика.

Ну, да. Особенно когда понятия не имеешь, что же там хранится ))

 

Вот мой персональный примитив (не продукт, не продаю): https://www.mql5.com/ru/blogs/post/381081 

Логика открытия и закрытия поз умещается в 50-100 строк с красивой разметкой. Около 4-6 важных параметров. Советник проходил форвард в 5-7 лет. Реально взята одна идея и общупана тщательно. Пока заброшен...

Тестирую
Тестирую
  • 2015.02.15
  • Alexey Burnakov
  • www.mql5.com
Разрабатываемая торговая система. Провел тестирование на majors. На трех получил приемлемые показатели. Эта троица имеет шанс пойти на реал-тест в обозримом будущем. Не на всех парах торгуемый паттерн...
 
Alexey Burnakov:

Вот мой персональный примитив (не продукт, не продаю): https://www.mql5.com/ru/blogs/post/381081 

Логика открытия и закрытия поз умещается в 50-100 строк с красивой разметкой. Около 4-6 важных параметров. Советник проходил форвард в 5-7 лет. Реально взята одна идея и общупана тщательно. Пока заброшен...

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

 

Каждый символ обладает своей закономерностью. История каждого символа зависит от брокера. Когда, как у вас, получается мизерное мат. ожидание, надо осознавать, что эти особенности влияют и очень серьезно. И сложная математика может нарваться на эффект Бабочки. Когда исходные данные, немного другие (дургой брокер или спред) убивают или превозносят очередную мат. модель.

И, возможно, у вас был грааль в руках. Но только вы не знали, что он был граалем не на мажорах, а на каком-нибудь GBPCHF. И не на Альпари, который вы привыкли тестить, а на каком-нибудь FXCM. И выкинули вы в топку этот грааль, так и не узнав, что держали на руках столь замечательную мат. модель, но забраковали только лишь потому, что не знали про GBPCHF и FXCM.