Статистика, как способ заглянуть в будущее! - страница 20

 
Neutron писал(а) >>

1. Приращение цены на следующем баре.

думаю не обезательно следующего бара. Нужно прогноз на заданное время. Именно по этому ты минутки и не воспринимаешь.

 

Как же не воспринимаю? Работаю только с М1 (когда нет тиковой истории).

Что касается горизонта прогноза, то он определяется величиной отсчёта анализируемого временного ряда. Если это дневки, то прогноз строится на день вперёд, если минутки - то на 1 минуту вперёд. Другими словами, я не считаю оправдаными затраты на анализ минуток, для прогноза на сутки вперёд. Думаю, это эмпирическое высказывание можно доказать строго. Дело в том, что точность прогноза экспоненциально падает с увеличением горизонта прогноза измеряемого в отсчётах.

 
Neutron писал(а) >>

Что-ж, в общих чертах понятно.

Piligrimm, индикатор, собраный Вами в том виде в котором Вы его представили на обозрение, позволяет статдостоверно обыгрывать рынок на Н4. И это, при минимальных рисках. Назовите причины по которым Вы до сих пор не опрокинули Forex?

Ну и вопросики Вы задаете, однако, прям на засыпку. Щас, сгоняю в гастроном за пузырем, и сразу опрокину, и его, и Форекс!

А если серьезно, то это просто не возможно, даже если все частные трейдеры сговорятся между собой, и будут иметь самые крутые МТС, даже в этом случае их доля на рынке столь ничтожна, а буфер между ними и реальным рынком столь велик, что их усилия ни к чему не приведут. Даже те случаи, о которых яко бы известно, например, с Соресом, это мифы, которые распространяют ДЦ, чтобы завлечь клиентов. Сорес просто оказался в нужное время в нужном месте и на большой волне, которую создали, своими действиями, сами Английские банки и хорошо заработал на этом, а потом на него эти же банки, чтобы прикрыть свои махинации и ошибки, повесили всех собак, заявив, что это он явился причиной кризиса. Хотя я по – прежнему уверен, что по мере возрастания интеллектуальной мощи систем, лет через 10, рынок станет абсолютно другим, но это будет не заслуга частных трейдоров, а произойдет по решению тех серых кардиналов, которые формируют политику рынка.

bstone «Не буду пока ничего утверждать, но сдается мне, что в данном случае результаты были получены не верно в виду перерисовки индикатора на нулевом баре. Для горизонта в 1 бар, это очевидно - при эмуляции торгов по представленным данным решение принимается на начале бара по данным, которые в реальности были получены на момент его уже полного формирования. Для горизонта в 2 бара надо более детально анализировать.» – решение может приниматься в любой момент по мере формирования нулевого бара, и система может несколько раз перезакрываться в разные стороны получая при этом прибыль, но это можно наблюдать только в динамике. По приходу нового бара происходит фиксирование последнего результата расчета на последнем тике, и этот результат сдвигается в историю на первый по порядковому номеру бар и далее не меняется. На нулевом же баре система работает в потиковом режиме, но это не значит, что она как флюгер болтается туда – сюда, она работает на опережение, и отрабатывает только существенные движения тенденции котировок. Хотя я не назвал бы эту систему прогнозирующей, и по Вашим вопросам я вижу, что Вы не точно интерпретируете приведенные мною примеры. Когда я привел пример прогнозирования на 1 и 2 бара сглаженного сигнала, я говорил о конкретном прогнозе одного из сигналов, который после фильтрации получил приличную сглаженность, но при этом стал отставать из – за этого на 2 бара, я не говорил о прогнозе на очередной бар. И целью прогнозирующих моделей было компенсировать это запаздывание существенно не ухудшив при этом сглаженность сигнала. И все модели в системе настроены на это – фильтрация, и сразу компенсация задержек за счет прогнозов. Когда я говорил о горизонте прогноза на один и два бара, этот горизонт подразумевался не относительно потока котировок, а относительно исходного сигнала, фазу которого нужно было восстановить. Поэтому на графиках Вы не видите сдвига прогнозных линий влево относительно котировок, и возникает вопрос – а был ли прогноз, и о каком горизонте идет речь? По постановке задачи и реализации эта система не обучалась как прогнозирующая поток котировок (эта задача совершенно другого порядка, хотя тоже решаемая, но намного сложнее), система предназначена для проектирования МТС, а им не нужно заранее знать, что будет, им не нужно себя морально настраивать на предстоящие события – выпить чашечку кофе, сходить в туалет, МТС должна четко, без задержек отработать ситуацию текущего момента. Отсюда, алгоритм работы системы таков: создать презентабельную выборку группы сигналов (чтобы повысить точность принимаемого решения и устранить ложные срабатывания за счет компенсации отдельных ошибок групповым решением), которая с минимальным запаздыванием, определяемым временем работы самой системы (порядка нескольких секунд), принимает торговые решения управления ордерами. Так – что, в каждый момент времени на нулевом баре система показывает то, что происходит, при открытии бара – она показывает, как будет развиваться тенденция на протяжении бара, на последнем тике – куда продолжится тенденция далее (конечно, все это с определенной погрешностью, система далека от идеала), синтезированные системой сигналы отражают медленные тенденции и судить по ним о развитии конкретного бара можно не всегда, но как я сказал, если перелом тенденции происходит внутри формируемого бара, то система не будет дожидаться прихода нового бара, чтобы сигнализировать об этом, она отразит изменение сразу, как только распознает это.

На днях решил сделать еще одну проверку на устойчивость системы. Прогнал ее на дневках в интервале с 1 августа 1992 г. по сей день. С 1 августа 1992 г. по 26 января 2000 г. - работала нормально и стабильно на всех фазах рынка, с 26 января 2000 г., когда курс опустился ниже 1.0037 - начались искажения. С 6 января 2003 г., когда курс поднялся выше 1.05 - нормальная работа системы полностью восстановилась, и далее все нормально.

Сделал еще один экперимент, прогнал систему на дневках GBPUSD с 24 января 1992 г. по сей день, колебания курса на этом интервале были от 1.3946 до 2.1161 - на всем интервале система работает нормально, хотя на GBPUSD не обучалась.

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

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

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

 
Neutron >>:


Другими словами, чем ближе облако по наклону к 45 градусам и тоньше - тем лучше.

Это понятно, меня сейчас интересует вопрос достоверности полученного

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


Предположим у нас есть смесь из подавляющего большинства случайных

прогнозов и небольшого числа верных но очень оптимистичных, тогда

тангенс будет вполне достойный, а на дисперсию "оптимистичная"

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

воду?


Я вот думаю может попробовать случайно поудалять 50% точек

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

и так раз сто. Если в результате тангенс будет плавать не сильно и в

среднем останется тем -же то это будет чесный прогноз. Иначе - случайная

удача. Как вы думает?
 
Aleku писал(а) >>

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

Ваши опасения беспочвены - теоретически, такого быть не может!

Дело в том, что область возможных значений, которые может принимать тангенс наклона прямой в нашем случае ограничен значением "ноль" с одной стороны и "единица" с другой, и не совпадает с областью значения для обычного тангенса. Посудите сами, функция гладкая и определяет понятия "не знаю ничего", это соответствует нулю и "знаю всё" - единице. Иного не дано. Нельзя знать больше, чем "всё"... Сказанное, конечно относится к предельному случаю, когда у нас имеется "бесконечное" число экспериментов. В реальности, мы ограничены конечным числом экспериментальных данных и, как следствие, возникает неизбежная погрешность имеющая статистическую природу, и которая в некоторых случаях может привести к значениям тангенса угла наклона большем 1. Но страшного или необычного в этом ничего нет. Ведь, когда мы с вами получим оценку для угла, мы, разумеется, получим и оценку погрешности с которой найдена эта величина, и "правильный" результат будет в вашем случае выглядить так:

tan(a)= 0.9 +-0.3

Поэтому результат tan=1.1 не говорит об "оптимистичном прогнозе", а говорит о неправильном представлении данного результата, нужно просто уточнять границы возможного разброса значений полученной величины.

 
Neutron >>:

Ваши опасения беспочвены - теоретически, такого быть не может!

Дело в том, что область возможных значений, которые может принимать тангенс наклона прямой в нашем случае ограничен значением "ноль" с одной стороны и "единица" с другой, и не совпадает с областью значения для обычного тангенса. Посудите сами, функция гладкая и определяет понятия "не знаю ничего", это соответствует нулю и "знаю всё" - единице. Иного не дано. Нельзя знать больше, чем "всё"... Сказанное, конечно относится к предельному случаю, когда у нас имеется "бесконечное" число экспериментов. В реальности, мы ограничены конечным числом экспериментальных данных и, как следствие, возникает неизбежная погрешность имеющая статистическую природу, и которая в некоторых случаях может привести к значениям тангенса угла наклона большем 1. Но страшного или необычного в этом ничего нет. Ведь, когда мы с вами получим оценку для угла, мы, разумеется, получим и оценку погрешности с которой найдена эта величина, и "правильный" результат будет в вашем случае выглядить так:

tan(a)= 0.9 +-0.3

Поэтому результат tan=1.1 не говорит об "оптимистичном прогнозе", а говорит о неправильном представлении данного результата, нужно просто уточнять границы возможного разброса значений полученной величины.

Не очень понятно как "просто уточнять границы возможного разброса значений полученной величины". Есть формальные правила построения прямой и оценки по ее углу наклона,

усредненной степени достоверности прогноза.


Допустим у нас есть числовой ряд {21;-5;12;23;-24} если прогнозный ряд полностью совпадает

с ним, то tan(a)=1, если наша супер-прогнозная система точно угадывает направление, но значения

при этом прогнозирует в 2 раза больше {42;-10;24;46,-48} то формально tan(a)=2, при прогнозе в

3 раза превышающем реальность, угол и вовсе убежит за 70 градусов. Если такие прогнозы

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

них tan(a)=0, то в среднем альфа будет например 10 градусов. Как относится к этому значению,

ведь фактически оно получено суммирования случайных и неверных прогнозов?


Допустим мы ввели правило что если прогноз превышает полученное значение,

то считать его верным и по y отмечать тем же значением что и по x. Но как тогда поступать если

прогнозировалось на 150 п. вверх а в реальности прошло 5 п вверх?


Далее, то что угол снизу ограничен нулем тоже помоему не совсем так. Если есть супер-антипрогнозная система т.е. она прогнозирует абсолютно точное будущее значение, но противоположное по знаку то угол будет -45. Ясно что в данном случае синверсировать направление несложно. А как быть если такие прогнозы тоже "размазаны' среди большого числа случайных?

 
насчет угла наклона, попробуйте составить ряд из закрытий и ряд из такого же числа значений, но из предыдущих закрытий и у вас получится угол, где то 45 градусов. Это что прогноз?
 
Piligrimm писал(а) >>

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

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

Насмешил......Пора по-моему переходить к практике, а то теория до добра не доведёт.......))))

 
m_a_sim писал(а) >>
насчет угла наклона, попробуйте составить ряд из закрытий и ряд из такого же числа значений, но из предыдущих закрытий и у вас получится угол, где то 45 градусов. Это что прогноз?

Нет. Это нонсенс.

Вы прогнозируете абсолютное значение цены или приращения цены? Если абсолютное значение, то всё верно - почти точный прогоноз (tan=1). Только вот незадача, нам для торговли важно "движение" цены после открытия позиции, а не её значение. Другими словами, нужно, например для случая "открылся-закрылся" на одном баре, построить ряд разностей Close-Open и ряд такого же числа значений, но из предыдущих Close-Open и у вас получится угол, где то ноль градусов.

Это и есть прогноз.

Aleku писал(а) >>

Не очень понятно как "просто уточнять границы возможного разброса значений полученной величины". Есть формальные правила построения прямой и оценки по ее углу наклона,

усредненной степени достоверности прогноза.

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

...если наша супер-прогнозная система точно угадывает направление, но значения

при этом прогнозирует в 2 раза больше {42;-10;24;46,-48} то формально tan(a)=2, при прогнозе в

3 раза превышающем реальность, угол и вовсе убежит за 70 градусов.

Такого варианта, кроме как выдумать, больше никак реализовать нельзя!

Дело в том, что при построении прогнозной системы, мы в процессе её адаптации (обучения) должны руководствоваться неким функционалом, который и будем тем или иным способом минимизировать. Например, решая каждый раз в своей голове задачу о том, как перейти улицу, вы минимизируете возможный риск связанный с оживлённым движением на ней. Или, в другой ситуации, - длину пройденного пути. Это возможные функционалы. Для нас актуальным (правда невсегда) является минимизация растояния от прогнозной точки, до её точного значения (минимизация среднеквадратичной ошибки). В этом случае, приведённый вами пример абсурден, т.к. прогноз в 2 (два) раза отличается от реальности, и не важно, что в большую сторону. Важно, что в 2 раза!

Не нужно выдумывать монстра и затем ломать голову в раздумьях о возможном мире в котором он мог бы существовать.

P.S.

Нашёл формулу для определения погрешности тангенса угла наклона.

Пусть мы ищем приближение линейной функцией Y=a+bx, тогда b=(<xy>-<x><y>)/(<x^2>-<x>^2) и a=<y>-b<x> Это, как, собственно, найти коэффициенты линейной регрессии a и b если известно множество предсказаний ожидаемого приращения х[i] и множество фактических приращений цены у[i]. Треугольные скобки обозначают среднюю величину, которая определяется по формуле:

<x>=1/n*SUM(x[i]), где i пробегают значения от 1 до n, n - число экспериментальных точек.

Тогда, ошибка определеяется как:

delta=SQRT((SUM((y[i]-b*x[i]-a)^2))/(n-2)*SUM(x[i]^2-n<x>^2))

Выражение для тангенса угла наклона с учётом вышесказанного, принимает вид:
tan=b+/-delta

 
Neutron >>:

Нет. Это нонсенс.

Вы прогнозируете абсолютное значение цены или приращения цены? Если абсолютное значение, то всё верно - почти точный прогоноз (tan=1). Только вот незадача, нам для торговли важно "движение" цены после открытия позиции, а не её значение. Другими словами, нужно, например для случая "открылся-закрылся" на одном баре, построить ряд разностей Close-Open и ряд такого же числа значений, но из предыдущих Close-Open и у вас получится угол, где то ноль градусов.

Это и есть прогноз.

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

а это мысль

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