Есть ли ГРААЛЬ на FOREX? - страница 38

 
Yuriy Asaulenko:

Причина в непредставительности выборки. Т.е., система слишком проста, чтобы реально работать. Практически, Вы подаете на нейросеть слегка фильтрованные сырые данные. Этого недостаточно.

Посмотрите тему Машинное обучение и поищите статьи по нейросетям на сайте. Если не поможет, то прояснит ситуацию.

Спасибо, я это и подозревал...

Все-таки необходима, по сути, фильтрация: интегрирование и дифференцирование входного сигнала (тиковый график) перед подачей паттернов на нейросеть для обучения, в двух словах так ?

 
Кирилл:

Уважаемые коллеги, здравствуйте!

Давно уже видел эту тему и вот наконец решил написать, к тому же, что очень припекло. В течение долгого времени (не буду уточнять какого) я пытаюсь создать безубыточную автоматическую торговую систему для Форекс. Пока мои усилия не принесли успеха. Но я уверен, что грааль, как безубыточная автоматическая торговая стратегия, реален.

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

Использую тиковые цены, обе (Bid и Ask). На паре EUR/USD. Есть данные за 1,5 года. Нейросеть обучается на множестве паттернов, которые формируются для каждого тика (в неделе имеем примерно 500 тыс. паттернов, в году — около 25 млн.).

Что есть паттерн. Паттерн (или окно) это ряд из 24-х значений среднего арифметического цен Bid и Ask, которые отстоят друг от друга на фиксированные расстояния в тиках. Так как использование 24-х последовательных тиков охватывает интервал в среднем всего лишь 20 секунд, что очень немного, я сделал расстояние между точками паттерна разными: небольшими у точек, которые находятся в правой части временной шкалы и большими у точек, находящихся в левой части паттерна. Пример координат точек паттерна:

0, -1, -2, -5, -8, -11, -16, -22, -31, -41, -55, -73, -96, -126, -166, -217, -284, -370, -482, -629, -819, -1066, -1387, -1805, -2347.

То есть 0 — это самая правая точка, -1 — левее ее на один тик, -2 — левее ее на 2 тика и т.д. Последняя точка находится на удалении в 2347 тика влево от самой правой точки.

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

И еще, так как обучение на всем множестве возможных паттернов займет время в несколько недель, я делаю децимацию, или прореживание паттернов, то есть беру для обучения только каждый 16-й паттерн, а те, которые не попали в обучающее множество, я записываю в тестовое множество.

Нейронная сеть используется как классификатор. Всего 2 класса: 1-й класс - цена выросла на 10 пунктов быстрее, чем упала на 10 пунктов, 2-й класс - цена упала на 10 пунктов быстрее, чем выросла на 10 пунктов. То есть затем на реале открываю либо ордер Buy с TP = 10 и SL = 10, если сеть определяет текущий паттерн, как относящийся к 1-му классу, либо ордер Sell с TP = 10 и SL = 10, если ко второму.

Вот почти и все.

Теперь результаты. Я использовал обучающее множество из совокупности паттернов за 7 недель (немного, конечно, пока еще не год). И даже с децимацией в 16 раз получилось около 230 тыс. паттернов. Обучение длилось сутки. Для обучающего множества получился коэффиицент правильного распознавания класса паттернов 0.63, для тестового — 0.60. Нейросеть выдает результат в виде вероятности отнесения паттерна к одному из двух классов. Если оценивать точность распознавания только тех паттернов, для которых вероятность была выше 0.6, то тогда для обучающего множества получился коэффиицент правильного распознавания класса паттернов 0.81, для тестового — 0.74, правда в этом случае в это число попала только седьмая часть всех паттернов (это совсем не страшно). Вроде как все очень даже не плохо. НО! Как только нейросети подсовываешь паттерны следующей недели за последней неделей обучения, вероятность распознавания становится 0.5 !

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

Коллеги, подскажите, что можно сделать, чтобы моя сеть наконец заработала ? Вернее, конечно, сказать, что надо сделать, чтобы предложенный алгоритм торговли стал прибыльным, так как получается, что пока он мало чем отличается от подбрасывания монетки...

комбинаторика? 24 колена??? это так много! я бы сначала попробовал для 3 колен, потом 4, и так далее...

а что вы там хотите найти на таких малых перемещениях? там же спред будет больше перемещений.

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

Кирилл:

Я использовал обучающее множество из совокупности паттернов за 7 недель

вчера тестировал систему за неделю. и она показала ровный график вверх. потом протестировал ее за 4 месяца. и оказалось, что только тот промежуток, который я тестировал ранее - график идет вверх, а все остальное время он идет вниз))
 
Кирилл:

Спасибо, я это и подозревал...

Все-таки необходима, по сути, фильтрация: интегрирование и дифференцирование входного сигнала (тиковый график) перед подачей паттернов на нейросеть для обучения, в двух словах так ?

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

Почитайте тему https://www.mql5.com/ru/forum/86386 и статьи  https://www.mql5.com/ru/articles/2773 и https://www.mql5.com/ru/articles/1165. За применимость не ручаюсь, но какие-то аспекты станут понятней. Вообще, лучше книжки почитать. К сожалению, самые интересные только на английском. - Christopher M. Bishop Pattern Recognition and Machine Learning или Bishop C.M. Neural networks for pattern recognition 

ЗЫ И сайт http://www.machinelearning.ru

Машинное обучение: теория и практика (торговля и не только)
Машинное обучение: теория и практика (торговля и не только)
  • 2016.05.26
  • www.mql5.com
Добрый день всем, Знаю, что есть на форуме энтузиасты machine learning и статистики...
 
danminin:

а что вы там хотите найти на таких малых перемещениях? там же спред будет больше перемещений.

10 пунктов 4-х знак, это гораздо больше спреда.


danminin:

если большие перемещения тестировать - то там уже закономерностей нет. там уже чистый сб.

Что вы хотите этим сказать ? И что такое "чистый сб." ?

 
Кирилл:

 И что такое "чистый сб." ?

судя по контексту - случайные блуждания.
 
danminin:
дополню...
сделал поиск по сигналам. добавил в фильтр 2 параметра. прибыльность больше 10, и просадка меньше десяти. продолжительностью хотя бы в год. такого сигнала нет.
На самом деле так.просадка 5-7%,прирост 10-15 это уже грааль
 
stsmotor2:
На самом деле так.просадка 5-7%,прирост 10-15 это уже грааль

Опа!

А как же тогда это:

stsmotor2:
Он есть, его одним из первых добавили в мт5 ,потом удалили...и его долго там не было.Комбинация очень сложная я пытался сделать аналог ,но даже через фриланс не вышло.Потом этот советник вернули на мт5.Правда поменяли комбинацию....в оригинале он есть на мт4

???

Там у вас такой замечательный график!

stsmotor2:

И это не за неделю это за день!

Вас бросает из крайности в крайность.

 

конечно же есть..даже книга прилагается к граалю..называется:

"биржевой грааль или приключения трейдера буратина " )))))))

 
nowi:

конечно же есть..даже книга прилагается к граалю..называется:

"биржевой грааль или приключения трейдера буратина " )))))))


Ты просто не в курсе...
 

Если удастся вставить скриншот то вы заподозрите что Грааль вполне себе может быть. И он у меня.

Здесь мой прогноз в виде тейк профита
Причина обращения: