Теория случайных потоков и FOREX - страница 18

 
Так, соответствие вроде как идеальное. Теперь надо заменить a*x+b на что-нибудь более осмысленное, реально убирающее тренд, например, 'ang PR (Din)-v1' .
 
Класс!!  Когдато пытался похожее сделать - знаний не хватило :)
Еще бы при инициализации прорисавывались тени на BarsCount назад. Ведь они тоже несут информацию.
А на реали очень все медленно :)
И еще остался вопрос - есть ли тренд-флет  на форексе, или нет тренд-флет  на форексе. Обсуждалось много и сколько людей столько мнений.
Можно сделать как "Теперь надо заменить a*x+b на что-нибудь более осмысленное, реально убирающее тренд, например, 'ang PR (Din)-v1' "
Определить время отсчета. И очень мне решение в time_avg_v1.0. mq4 понравилось по поводу отклонений от "тренда".
Файлы:
 

Самый интересный момент здесь - это то, что к-т корреляции - принципиально ограниченная величина. Первый вариант решения задачи нормировки индюкатора предложил Yurixx в 'Стохастический резонанс' . Никак не могу найти картинку, черт побери.

Осталось совсем чуть-чуть - научить его коррелировать с экстремумами рынкета. Но похоже на то, что точки входа/выхода следует искать в нулях этого индюкатора.

P.S. Нет, не совсем так. Отрицательные значения индюкатора (если по смыслу это некая АКФ) не говорят о падающем тренде. Это может быть самый разнузданный флэт.

 
Mathemat:
P.S. Нет, не совсем так. Отрицательные значения индюкатора (если по смыслу это некая АКФ) не говорят о падающем тренде. Это может быть самый разнузданный флэт.
 Не говорят :) Вчера часа 3 гонял.
И опять - флэт - это сколько ? 25п или 50п. А для старшего ТФ? time_avg_v1. 0.mq4 какую-то цифру по этому вопросу дает.
 
Mathemat:
Так, соответствие вроде как идеальное. Теперь надо заменить a*x+b на что-нибудь более осмысленное, реально убирающее тренд, например, 'ang PR (Din)-v1' .
Mathemat, но ведь тренды действительно линейны, по крайней мере на первый взгляд. К тому же линейная регрессия быстрее считается (типа искать надо под фонарём потому что там светлее :) . Мне кажется более заманчивым попытаться определиться с интервалом расчёта ЛР. Имеется в виду, что он должен быть переменным, в зависимости от текущей ситуации.
 
Candid, я имел в виду динамическую лин. регрессию, т.е. индюкатор, линейно прогнозирующий значение на следующем баре исходя из заданного количества предыдущих значений. Я как-то интересовался этим, когда игрался с нейросетями, и даже вычислил его аналитически; получилась линейная комбинация SMA и LWMA с равными периодами, довольно небольшими, никак не 1000. Вспомню - выложу формулу расчета или сам индюкатор.

Да, тренды линейны - но очень грубо и только на самых крупных ТФ, типа неделек. Посмотри сам.

Давай тогда попробуем понять, чего добивается автор ветки (ну и не только он), детрендируя график. Prival, вероятно, предлагает сделать это для того, чтобы вначале убрать из исходных котировок непредсказуемые регулярные составляющие (тренд), оставив в результате что-то близкое к случайному процессу, матожидание которого не слишком отклоняется от нуля (в смысле количества с.к.о.), а потом, анализируя АКФ-свойства этого процесса (автоковариационные, а не автокорреляционные), по самой АКФ предсказать те самые тренды, которые у нас являются величиной неизвестной. Prival, ты куда пропал? Скажи, логично это или нет?

Детрендирование имеет смысл только тогда, когда отклонение "линии тренда" от самого графика не слишком превышает с. к.о., что диктует небольшую величину периода "сглаживания" самой регрессии (не АКФ). Иначе внутри промежутка детрендирования будут мелкие локальные тренды, от которых мы как раз и хотим избавиться. (Гипотеза: так мы, возможно, уменьшаем коэффициент Херста исходного процесса, приближая его к гауссовому?)

А теперь посмотри на 5-минутки и скажи, линейны тренды или нет? Тема "Стохастический резонанс" вроде бы должна опровергать это представление, если такое явление существует.

P.S. Ты, кстати, не обращал внимание, почему наш индюкатор показывает единицу на нулевом баре?
 
Mathemat:
Candid,
P.S. Ты, кстати, не обращал внимание, почему наш индюкатор показывает единицу на нулевом баре?

Вопрос хоть и не ко мне, но раз уж подсматриваю за темой...

Prival как-то пытался тут о здравом смысле. Так вот, здравый или физический смысл АКФ как раз по определению приравнивает его значение единице на нулевом баре, т.к. показывает корреляцию временной выборки самой с собой. Падение его до нуля можно трактовать как практическую потерю корреляции в значениях ВР после ухода на соответствующее количество баров от нулевого. Только пока до сих пор не уяснил, что мы с этого хотим поиметь. Замечу, что википедия даёт и другое определение АФК, которое, как я понимаю, ближе сердцу Matemet'a, но здесь мы рассматриваем только первое.

P.S. Prival, пока всё ещё нет у меня внутреннего стартового импульса для начала кодения, т.к. нет ясности в понимании задачи. Кстати, мастером MQL себя не считаю и никогда им не был, но практика показывает, что при понимании задачи закодить можно всё. А мастера тут на форуме есть.

P.P.S. Снижение активности на форуме связываю с желанием форумчан быстренько изучить вероятностные нейросети (надеюсь, и Prival среди них) или все побежали открывать реальные счета, пока ещё месяц можно пользоваться на халяву сигналами Better'a :-).

 

Только появилось свободноо время. К вечеру постараюсь ответить на возникшие здесь вопросы.

rsi постарайтесь ответить на вопрос "...вероятностные . ." на вероятность чего настраивает Better нейросеть ?

К вечеру постараюсь все спрограммировать и выложить в картинках свои идеи.

 
Prival:

rsi постарайтесь ответить на вопрос "...вероятностные . ." на вероятность чего настраивает Better нейросеть ?

По сетям-то я только недавно начал (как обычно не спеша). На форуме есть корифеи по этому делу (Vinin, Leo, klot и многие другие, в том числе, естествено, Better). Может присоединятся, чтоб новых веток не плодить. (Впрочем, смотрю, есть уже и новая ветка по теме - не удивительно. ) Но раз спросили, попытаюсь. Как в поговорке: раз сам ничего не умеешь, так хоть других поучи! :-) Здесь на ветке тоже народ неслабый подобрался, так что, надеюсь, подправят если я чего напутаю.

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

Сама сеть, как правило, трёхслойная - входной слой, радиальный слой и выходной. На вход подаются вектора для классификации (у Better'a, как мы уже знаем, это некие, скорее всего линейные комбинации значений нескольких скользящих средних, хотя могут быть и булевы функции). Число выходов, соответствует требуемой размерности выходного решения. Например, 4, если надо принимать решения buy, sell, closebuy, closesell. При обучении реализуется принцип "победитель забирает всё", т.е. не могут быть близки к максимуму более одного выхода. В этом - творческая составляющая работы: надо поискать наиболее подходящую ширину (сигму) и количество нейронов в среднем слое. Какие-то входные вектора наиболее правдоподобно соответствуют удачному buy, иные - другим выходным векторам. Радиальный слой называется так, потому что вместо сигмоидной функции преобразования, там используется так называемый радиальный базис - колоколообразная функция евклидового расстояния (в более общем случае коррелированных составляющих входного вектора - расстояния Махаланобиса).

Как видим, такой подход весьма похож на торговлю "руками": трейдер оценивает входной вектор (цену, рисунок ТА, показания индикаторов и др.) и принимает решение, если по его оценке критерий выполнен.

По поводу обучения - пока ещё не изучил. Это отдельный вопрос, если разберусь, то может изложу позднее :-). Better, помнится, ещё до чемпионата писал, что для обучения его советник использует данные за целый год.

 
Mathemat:
Candid, я имел в виду динамическую лин. регрессию, т.е. индюкатор, линейно прогнозирующий значение на следующем баре исходя из заданного количества предыдущих значений. Я как-то интересовался этим, когда игрался с нейросетями, и даже вычислил его аналитически; получилась линейная комбинация SMA и LWMA с равными периодами, довольно небольшими, никак не 1000. Вспомню - выложу формулу расчета или сам индюкатор.

Я называю это скользящей линейной регрессией и такой индикатор у меня есть, могу сам поделиться :)

P.S. Ты, кстати, не обращал внимание, почему наш индюкатор показывает единицу на нулевом баре?

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

Давай тогда попробуем понять, чего добивается автор ветки (ну и не только он), детрендируя график. Prival, вероятно, предлагает сделать это для того, чтобы вначале убрать из исходных котировок непредсказуемые регулярные составляющие (тренд), оставив в результате что-то близкое к случайному процессу, матожидание которого не слишком отклоняется от нуля (в смысле количества с.к.о.), а потом, анализируя АКФ-свойства этого процесса (автоковариационные, а не автокорреляционные), по самой АКФ предсказать те самые тренды, которые у нас являются величиной неизвестной. Prival, ты куда пропал? Скажи, логично это или нет?

Prival обещал высказаться, но я думаю что замысел состоит не в том, чтобы оставить только случайную составляющую, а в том, чтобы удалив "длинный" тренд получить ряд с нулевым матожиданием. Этот ряд будет содержать более короткие тренды, соответствующие предполагаемому горизонту игры. Вспомнив о том, что матстатистика (и не только, тот же R/S анализ можно вспомнить) предпочитает работать как раз с такими рядами, получим более или менее корректное сведение задачи к "поискам под фонарём".

Да, тренды линейны - но очень грубо и только на самых крупных ТФ, типа неделек. Посмотри сам.

Детрендирование имеет смысл только тогда, когда отклонение "линии тренда" от самого графика не слишком превышает с. к.о., что диктует небольшую величину периода "сглаживания" самой регрессии (не АКФ). Иначе внутри промежутка детрендирования будут мелкие локальные тренды, от которых мы как раз и хотим избавиться. (Гипотеза: так мы, возможно, уменьшаем коэффициент Херста исходного процесса, приближая его к гауссовому?)

А теперь посмотри на 5-минутки и скажи, линейны тренды или нет? Тема "Стохастический резонанс" вроде бы должна опровергать это представление, если такое явление существует.

А теперь - десерт :). Я ещё раз над этим подумал и вот что надумал. Как писалось выше, я понимаю смысл детрендирования ровно противоположным образом, а именно: задача как раз в том, чтобы удалив глобальные тренды получить в чистом виде соответствующие выбранному горизонту игры локальные тренды. В этом смысле разговор в терминах таймфреймов скорее уводит в сторону. Есть просто временной ряд, мы можем просматривать его используя разные временные масштабы, но тренды, как объективная реальность, от выбора масштаба не зависят. И вот что я вдруг подумал - в линейных преобразованиях есть ясный физический смысл: результат такого преобразования - другая инерциальная система отсчёта, то есть система в которой будут действовать те же силы, что и в исходной. При нелинейном преобразовании, как известно из физики, мы получаем мир в котором неожиданным образом могут появляться и исчезать "нелогичные" и трудноописываемые силы. Любопытно, что использование returns также является линейным преобразованием, но вот условие нулевого матожидания выполняется с существенно большей погрешностью, чем при детрендировании с помощью линейной регрессии.