Piligrimus - нейросетевой индикатор. - страница 11

 
sab1uk писал(а) >>

вот она на дне http://www.wikimapia.org/#lat=31.3536369&lon=-24.3786621&z=8&l=1&m=a&v=2

насчет нейросетевых индюков нечего жалеть

лучше изобретай мат функцию для прогнозирования

Нет, с прогнозированием я уже завязал, теперь только романы.

 
mpeugep писал(а) >>
Озвучьте, пожалуйста, интервалы изменения переменных в Kristograf'е.

Какие Вы имеете ввиду интервалы?

 

Piligrimm, всего один вопрос. По вашему мнению, можно-ли прогнозировать СЛУЧАЙНУЮ величину?

Варианты ответов:

1. Да.

2. Нет.

3. Для кого случайная, а кому и нет!

 

Возможно мои выводы поспешны, но я успел немного поиграться с PolyAnalyst и получил два результата которые меня ошарашили. На вход был скормлен обычный CSV-экспорт котировок из терминала для 30-ти минуток и по их OHLC был построен полином, рассчитывавший цену закрытия следующего бара по данным текущего. Функция получилась (на удивление) не очень сложная и я ее тут же воткнул в EXCEL. Для получения полинома я взял только первую половину данных из CSV-файла, чтобы на второй половине проверить правильность предсказания.

Первый ошараш заключался в том, что полином давал следующую цену Close которая в подавляющем большинстве случаев (более 90%) давали погрешность всего в несколько пунктов!! Я не мог в это поверить. Неделю бился с разными таймами и парами и результат вот такой же впечатляющий. На выходных моск немного отдохнул, и в понедельник меня "осенило": ведь я полиному в функцию какждый раз даю реальные котировки а он мне дает цену закрытия следующего бара, но ведь это классическое подглядывание в будущее :) Я немного исправил модель, получил полиномы для всех четырех составляющих OHLC и в новый расчет функции, и стал давать ей на вход не данные с котировок, а данные которые онаже сама насчитала на предыдущем шаге. Здесь меня ждал второй ошараш - никакого биржевого графика и близко не получалось. Прогноз представил собой медленно спадающую очень гладкую и плавную кривую. К сожалению, я сейчас не могу вспомнить где делся этот результат, чтобы вложить скрины. После этого было оччччень много попыток заставить его работать как надо. Если найду - обязательно дополню пост.

Возможно я сделал чтото не так, всего пару недель на знакомство с PolyAnalyst - это наверно мало. Но сдается мне, что Pilligrim застрял на (моей) первой фазе :(

Поэтому, вопрос уходящему Piligrimу: насколько корректны Ваши модели в свете того, что удалось получить мне? Может у Вас тоже каждый раз в расчет подставляются известные "в будущем", так сказать "правильные" данные и они все время корректуруют Ваш прогноз? Или я в чем то не прав?

 

Могу поделиться похожей историей прозошедшей со мной при изучении пакета для анализа временных рядов "Гусеница".

Первое впечатление, которое я испытал глянув на результаты "пргноза" - ЭЙФОРИЯ! Я уже видел себя на Канарах... Это при том, что я как бы понимал, что делаю, тем не менее, сам пакет упорно (как оказалось при детальном разборе полётов) подглядывал внутри себя в "будущее", хотя в установках программы я чётко ограничивал область анализа и область сравнения. Далее, я научился правильно готовить для гусенички пищу и чудеса исчезли. Точность прогноза - 50/50.

Думаю, что создатели пакета умышленозакрыли глаза на этот "маленький" баг, который при первом знакомстве с этим чудом математики неминуемо влечёт за собой желание отдать $100 и побыстрее их вернуть на Форексе. Помню, как я показывал всем своим знакомым красивые рисунки и доказывал очевидность неминуемого богатства для себя и для них, если они только дружат с головой:-)

Я согласен с ФорексТулс на 100%, что причина очень многих наших "бед" при численном моделировании, это скрытое подглядывание.

 

Это один из последних вариантов где "прогнозировалась" МАшка

Вот она правда жизни :((((

Кому интересно - формула в Excel была такой:

= (1.00002*ЕСЛИ(И(0.00026974 <= 1*G2,1*G2 < 0.00026974 + 141.828),1/G2,0.121066)*G2*G2*G2-1.25485*ЕСЛИ(И(0.00026974 <= 1*G2, 1*G2 < 0.00026974 + 141.828),1/G2,0.121066)*ЕСЛИ(И(0.00026974 <= 1*G2, 1*G2 < 0.00026974 + 141.828),1/G2,0.121066)*G2*G2*G2)/(ЕСЛИ(И(0.00026974 <= 1*G2, 1*G2 < 0.00026974 + 141.828),1/G2,0.121066)*G2*G2-1.25521*ЕСЛИ(И(0.00026974 <= 1*G2, 1*G2 < 0.00026974 + 141.828),1/G2,0.121066)*G2+0.000389753-0.00000823394*ЕСЛИ(И(0.00026974 <= 1*G2, 1*G2 < 0.00026974 + 141.828),1/G2,0.121066)*ЕСЛИ(И(0.00026974 <= 1*G2, 1*G2 < 0.00026974 + 141.828),1/G2,0.121066))


P.S. или я все таки в чемто оччень сильно заблуждаюсь?

 
Neutron писал(а) >>

Piligrimm, всего один вопрос. По вашему мнению, можно-ли прогнозировать СЛУЧАЙНУЮ величину?

Варианты ответов:

1. Да.

2. Нет.

3. Для кого случайная, а кому и нет!

Ответ под номером 2, НО, во первых, чисто случайных процессов используемых в практической жизни не так уж и много; во вторых, если даже сталкиваешься с таковым, иногда есть возможность применяя специальные методы обработки, сделать этот процесс квазислучайным - тогда появляется шанс с большей или меньшей вероятностью его прогнозировать. Например, когда я начал прогнозировать влоб спорт лото, а сам этот процесс случайный, долгое время у меня ничего хорошего не получалось. В конце концов я понял, что влоб эта задача не решается. Тогда я начал искать обходные пути. Имея статистику тиражей я начал по ней моделировать процесс работы самого барабана выдающего шары, и эту модель использовал в качестве модулирующего сигнала обрабатывающего исторические данные, к тому же ввел в качестве модулирующих еще несколько детерминированных сигналов которые легко прогнозируются, и которые в ковариации со случайным сигналом статистики давали квазислучайный процесс. А используя Метод Группового Учета Аргументов (то бишь - генетический алгоритм), удалось в дочерних признаках выявить определенные закономерности в работе всей системы в целом, которые и позволяли с высокой вероятностью выделять группу номеров которые могут появиться в следующем тираже. В результате прогноза, я конечно, не получал значения 5 номеров следующего тиража, я получал порядка 10 наиболее вероятных цифр на выходе, из которых нужно было сделать все возможные комбинации по 5 цифр для заполнения билетов, и при этом в результате только один из билетов этой комбинации был выигрошным с точностью 3-4 цифры из возможных 5. Но тем не менее, это работало.

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

 
Piligrimm писал(а) >>

Ответ под номером 2, НО, во первых, чисто случайных процессов используемых в практической жизни не так уж и много; во вторых, если даже сталкиваешься с таковым, иногда есть возможность применяя специальные методы обработки, сделать этот процесс квазислучайным - тогда появляется шанс с большей или меньшей вероятностью его прогнозировать. Например, когда я начал прогнозировать влоб спорт лото, а сам этот процесс случайный, долгое время у меня ничего хорошего не получалось. В конце концов я понял, что влоб эта задача не решается. Тогда я начал искать обходные пути. Имея статистику тиражей я начал по ней моделировать процесс работы самого барабана выдающего шары, и эту модель использовал в качестве модулирующего сигнала обрабатывающего исторические данные, к тому же ввел в качестве модулирующих еще несколько детерминированных сигналов которые легко прогнозируются, и которые в ковариации со случайным сигналом статистики давали квазислучайный процесс. А используя Метод Группового Учета Аргументов (то бишь - генетический алгоритм), удалось в дочерних признаках выявить определенные закономерности в работе всей системы в целом, которые и позволяли с высокой вероятностью выделять группу номеров которые могут появиться в следующем тираже. В результате прогноза, я конечно, не получал значения 5 номеров следующего тиража, я получал порядка 10 наиболее вероятных цифр на выходе, из которых нужно было сделать все возможные комбинации по 5 цифр для заполнения билетов, и при этом в результате только один из билетов этой комбинации был выигрошным с точностью 3-4 цифры из возможных 5. Но тем не менее, это работало.

Число сочетаний из 10 по 5 = 252. А сколько стоил билет спортлото ? Кажется, 50 коп. А выигрыш из трёх цифр ? По-моему 3 рубля. Так что, чтобы с высокой вероятностью выиграть 3 рубля, Вам надо было бы затратить 126 рублей. Понятно, что это работает, как и то, почему Вам не пришлось стать миллионером.

Мой товарищ, кстати, купив всего один билет, угадал 5 из 6 и получил 2400 руб., после чего никогда больше не покупал спортлото ...

 
ForexTools писал(а) >>

Возможно мои выводы поспешны, но я успел немного поиграться с PolyAnalyst и получил два результата которые меня ошарашили. На вход был скормлен обычный CSV-экспорт котировок из терминала для 30-ти минуток и по их OHLC был построен полином, рассчитывавший цену закрытия следующего бара по данным текущего. Функция получилась (на удивление) не очень сложная и я ее тут же воткнул в EXCEL. Для получения полинома я взял только первую половину данных из CSV-файла, чтобы на второй половине проверить правильность предсказания.

Первый ошараш заключался в том, что полином давал следующую цену Close которая в подавляющем большинстве случаев (более 90%) давали погрешность всего в несколько пунктов!! Я не мог в это поверить. Неделю бился с разными таймами и парами и результат вот такой же впечатляющий. На выходных моск немного отдохнул, и в понедельник меня "осенило": ведь я полиному в функцию какждый раз даю реальные котировки а он мне дает цену закрытия следующего бара, но ведь это классическое подглядывание в будущее :) Я немного исправил модель, получил полиномы для всех четырех составляющих OHLC и в новый расчет функции, и стал давать ей на вход не данные с котировок, а данные которые онаже сама насчитала на предыдущем шаге. Здесь меня ждал второй ошараш - никакого биржевого графика и близко не получалось. Прогноз представил собой медленно спадающую очень гладкую и плавную кривую. К сожалению, я сейчас не могу вспомнить где делся этот результат, чтобы вложить скрины. После этого было оччччень много попыток заставить его работать как надо. Если найду - обязательно дополню пост.

Возможно я сделал чтото не так, всего пару недель на знакомство с PolyAnalyst - это наверно мало. Но сдается мне, что Pilligrim застрял на (моей) первой фазе :(

Поэтому, вопрос уходящему Piligrimу: насколько корректны Ваши модели в свете того, что удалось получить мне? Может у Вас тоже каждый раз в расчет подставляются известные "в будущем", так сказать "правильные" данные и они все время корректуруют Ваш прогноз? Или я в чем то не прав?

Если бы Вы знали, сколько раз я впадал в эйфорию от полученных результатов за прошедшие 10 лет! Но почти столько же раз за этим следовало разочарование. Я много набил шишок на этой проблеме, но обманывать самого себя мне совсем не хотелось, как впрочем, у меня нет никакого резона обманывать и всех Вас. То, что Вы описываете - не проблема PolyAnalyst, это проблема любых методов обработки котировок если входные данные подготовлены не совсем корректно, а цели выбраны не правильно.

Главное, пожалуй, в том какую цель Вы вкладываете в прогноз. Если Вы ставите целью получить по данным на таймфрейме М30 прогноз на следующие 10 - 20 баров с вероятностью пусть даже 60%, то я считаю, у Вас ничего не получится. Рынок очень не стационарен, и главное - объемен и сложен, игроки которые присутствуют сейчас и определяют основную тенденцию, через час могут уйти, а появятся новые, совсем с другими характеристиками. Построить адекватную модель рынка имеющимися в нашем распоряжении ресурсами не возможно. Хотя это звучит как противоречие всему мной ранее сказанному, тем не менее, это так, а противоречия нет.

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

Ну а если говорить, на сколько мне удалось с помощью моих прогнозов вытягивать запаздывающие сигналы к текущему моменту времени, то посмотрите, для примера, первый рисунок в этой теме. Красная линия - отфильтрованный, но сильно запаздывающий сигнал индикатора, а теперь представьте, что этот сигнал сдвинулся в среднем на 20 баров влево, я говорю в среднем, потому, что в отдельных случаях этот сдвиг может быть 15 баров, в других - 25, эта цифра не постоянна т.к. вытянутый сигнал не может выйти за пределы имеющихся котировок, он приближается к нулевому бару, сохраняя характеристики сглаженности, но не выходит за него. Вот в таком контексте я и говорил о прогнозируемости рынка Форекс, чем более точной информацией мы будем обладать, и чем мощнее будут наши вычислительные ресурсы, тем точнее и меньшим запаздыванием мы сможем строить модели тенденции рынка, в конечном итоге можно будет строить прогнозы и вправо от нулевого бара, но конечно для этого потребуется не только информация по котировкам с одного таймфрейма, как это делел я в данной задаче, а масса информации по разным инструментам, таймфремам, а также фундаментальным факторам, но это уже совершенно другая задача, потребует совершенно других ресурсов, и будет решаться уже без меня, но ее решение в будущем реально, хотите верьте, хотите - нет, но я это знаю.

 
Valmars писал(а) >>

Число сочетаний из 10 по 5 = 252. А сколько стоил билет спортлото ? Кажется, 50 коп. А выигрыш из трёх цифр ? По-моему 3 рубля. Так что, чтобы с высокой вероятностью выиграть 3 рубля, Вам надо было бы затратить 126 рублей. Понятно, что это работает, как и то, почему Вам не пришлось стать миллионером.

Мой товарищ, кстати, купив всего один билет, угадал 5 из 6 и получил 2400 руб., после чего никогда больше не покупал спортлото ...

Я не уточнил некоторые детали при написании поста.

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

2. Я, наряду с цифрами, имел на выходе и вероятностные показатели, и в соответствии с ними при составлении сочетаний вес каждой цифры был не одинаков, например, если вероятность 3 цифр из 10 составляла соответственно 90%, 85%, 80%, то эти цифры брались как базовые, а из всех остальных составлялись дополнительные комбинации к ним для дополнения их до нужных 5 цифр в билете, при том опять же с учетом их вероятности. Так что в итоге часто все сочетания оформлялись в 25 билетов, а часто и меньше. Но в целом динамика прогнозов была такова, что прибыль от одного выигрыша при правильном прогнозе 4 цифр, перекрывала серию мелких убытков от предыдущих неверных решений. (Аналогия с Форексом.)

А миллионерам я не стал по другой причине - у меня не было собственной ЭВМ, а на которой я работал, была в будни загружена в 3 смены мелкими производственными задачами, и даже когда я в будни отлаживал мелкие фрагменты своей задачи, она захватывала процессор так, что другие задачи уже не могли идти, и у меня на этой почве часто возникали конфликты с другими программистами, чьи задачи, которым для расчета надо 2-3 минуты, часами стояли в очереди из-за моей задачи. Поэтому, для полной отладки и расчетов я приходил на ВЦ в субботу, включал ЭВМ, и спокойно гонял свои задачи до вечера воскрессенья.

И насколько мне помнится, цена одного билета была 20 или 25 копеек.

Причина обращения: