торговая стратегия на базе Волновой теории Эллиота - страница 23

 
Vladislav, как Вы считаете возможно ли применение расчёта параметра Хёрста к каналу, аппроксимированному квадратичной функцией? То есть в качестве S мы берём СКО оценённых ошибок аппроксимации канала, а вот в качестве R можно наверное взять либо традиционную разницу между максимумом и минимумом самого канала, или же что-то ещё? Например развернуть половину квадратичной функции относительно оси времени вниз, или вверх, чтобы получилось в случае если у нас канал например аппроксимирован параболой что-то типа y=-Ax^2 при x<0 и y=Ax^2 при x>0. И попробовать взять размах канала R уже вот от такой ускуственно организованной выборки. Как Вы считаете будет ли вот в этом хоть какой-то смысл? Или же коэффициент Хёрста ВСЕГДА можно считать лишь для канала линейной регрессии или например по мувингу согласно Вашим рекомендациям?
 
Vladislav, расчёт показателя Хёрста по мувингу мне кажется несколько сомнительным, так как неизвестно какое значение периода усреднения нужно брать. Я так предполагаю, что это значение для каждого конкретного расчёта в зависимости от количества точет должно как-то меняться. Поэтому я пока что остановился на канале линейной регрессии.


Сорри опять за поздние ответы. Жаль я раньше не глянул - сэкономил бы Вам время, но надеюсь оно не зря потрачено. И так - я не предлагал считать критерий Херста по мувингу - я предлагал взять алгоритм из стандартной поставки и подствить вместо значений мувинга то, что Вам нужно. В том алгоритме, что Вы выкладывали (последний еще не смотрел) присутствует одна переменная - медиана выборки. Скажите как Вы себе ее представляете ? Если канал идет горизонтально - тогда все ок и Вы получите то, что нужно, но в общем случае нет. То есть нужно брать разность действительной цены с проекцией этой цены на каждом баре. Попробую подробнее: если Вы аппроксимируете цену закрытия мувингом, то и берете разность значения мувинга и цены закрытия на каждом баре. Если нелинейную регрессию, то соответственно значение этой регрессии, если линейную, то значение линии регрессии, но все это для каждого бара. Я потому и написал, что у Вас как минимум должен быть массив проекций - для каждого бара своя проекция. Дальше Вы сможете оценить: берем не всю выборку, а только часть, строим интервал - если все еще внутри диапазона, берем всю выборку и строим проекцию в будущее (экстраполяцию).

Удачи и попутных трендов.
ЗЫ А подход это общий, что для линейных, что для нелинейных аппроксимаций.
 
В моём последнем варианте сначала строится линейная регрессия по выборке и разница считается между реальной ценой бара и уравнением линейной регрессии, построенной для всего канала сразу. Но я так понимаю, что Вы используете другую методику подсчёта?
То есть насколько я понял для случая расчёта параметра Хёрста по Вашей методике алгоритм должен быть следующим:
1. Берём выборку точек, для которой хотим получить показатель Хёрста. Например для определённости возьмём выборку от 0 до N.
2. Берём последовательно части выборки от 0 до M, где 0<M<=N. То есть теоретически мы располагаем N выборками, имеющих следующие диапазоны: 0-1, 0-2, 0-3, 0-4,...0-(N-1), 0-N.
3. Для каждой выборки строим канал линейной регрессии. Получаем массив каналов и их проекций в будущее.
4. Расчитываем разницу между ценой закрытия бара номер M и проекцией на этот бар канала линейной регрессии, построенного по выборке 0-(M-1). То есть при расчёте разницы берутся данные проекции линейной регрессии, построенные на ПРОШЛОМ, не включая текущий бар? Правильно?
5. Далее имеем вот такой вот массив разниц, из которого определяем СКО (S)
6. Находим R как разницу максимального и минимального значений выборки
7. Расчитываем параметр Хёрста.
Теперь я правильно понимаю как нужно считать параметр Хёрста или же нет?
Если я правильно понимаю Вашу идею, то мне кажется, что это СУЩЕСТВЕННОЕ дополнение к методу расчёта параметра Хёрста, указанного по формуле в книжке. На это обстоятельство расчёта никакого упора не делается.
 
Да, только сама выборка должна быть не менее определенного числа баров. То есть задаете минимальное число баров в выборке ( предельно мало - порядка 30, если меньше, то большая погрешность, а вообще то, есть критерий Пирсона). Дальше считаете регрессию на текущем баре. Дальше, если выборка > минимально допустимой, бежим сначала выборки до примерно 2\3 считаем СКО, строим интервал и смотрим где находимся сейчас. Если все еще в интервале - берем всю выборку сначала и до последнего бара опять считаем СКО (будет отличаться в общем случае). Строим интервал - при сходимости должен как минимум не увеличиваться ;). СКО - берем квадраты разностей от значения регресии (в данном случае или мувинга, если аппроксимируем мувингом или некоторой функции, которой аппроксимируем значение цен закрытия) и цен закрытия на каждом баре. Если все ок - считаем Херста. СКО уже есть, дальше определяем Макс и Мин отклонение. Логарифмируем..... дальше - техника. Как вариант это могут быть не цены закрытия, а профиты по сделкам, например - тогда Вы сможете оценить случайность получения профита данной стратегией ;).

Удачи и попутных трендов.
 
Кстати хотел бы спросить ещё следующее. Мне так по первоначальным расчётам кажется, что лучше всего в качестве цены бара брать не какую-то определённую цену Open, Close, High или Low, а среднюю цену бара (O+C+H+L)/4. Тогда у нас все параметры будут более центрированы, то есть смещение вверх или вниз от истинного положения прогноза будет минимальна. Тогда можно будет на графике ошибок просто рисовать линии доверительных интервалов для средней цены баров выборки, а сами ошибки показывать двумя линиями. Одной линией - ошибки для выборки по ценам High, а другой линией - ошибки по ценам Low. Такое представление наверное сможет дать более удобное визуальное представление о текущем положении цены в доверительном интервале. Vladislav, а что на этот счёт думаете Вы? Или Вы просто однажды выбрали за точку отсчёта бара традиционную цену Close и это себя вполне уже зарекомендовало?
 
Vladislav, хотелось бы уточнить вот эту Вашу фразу с ветки http://forex.ua/forum/viewtopic.php?t=1634&postdays=0&postorder=asc&start=100
Уровни нужно еще будет уточнять, как всегда время достижения уровней существенно.

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

Vladislav, а какую ширину доверительного интервала Вы берёте конкретно для случая расчёта Хёрста, а также для общих поисков оптимальной выборки?
90%
95%
99%
99,9%
Или же Вы в общих поисках оптимальной выборки последовательно задаётесь разной шириной доверительного интервала? Например поискали выборку для 90% - нашли такую-то выборку, далее поискали для 95% - нашли ещё одну и так далее вплоть до 99,9%?
Или же Вы на основе экспериментов установили, что например выборки, полученные для доверительных интервалов больше 95% явяляются малопригодными для прогноза и их стоит отбрасывать при анализе?
А может быть Вы ориентируетесь только на факт того, что последующие построенные интервалы должны быть меньше первоначального, построенного на 2\3 выборки?
Строим интервал - при сходимости должен как минимум не увеличиваться ;).

Но всё равно ведь при построении первого интервала Вы должны задать его ширину?

И ещё один вопрос, касающийся последовательности расчётов (итогового вычислительного времени). Я так понимаю что в случае поиска канала линейной регрессии необходимо начинать брать выборки от текущего момента времени вглубь в прошлое. Допустим мы нашли набор выборок, которые удовлетворяют требованиям сходимости. Но непосчитанные бары у нас ещё имеются и мы считаем далее получая выпадающие за интервал выборки. Тогда какой критерий можно было бы взять за факт того, что дальнейшие расчёты являются бессмысленными и можно заканчивать цикл перебора выборок? Навскидку я так себе представляю что для этого достаточно посчитать ещё такое же количество баров, равное количеству баров в самой длинной успешной выборке? Или у Вас имеются какие-то другие варианты принятия решения? Например достаточно посчитать лишь 30% от самой длинной выбоки или ещё какое-то число баров? Или же Вы делаете оценку всего массива цен за последние полгода не зависимо от результатов и далее полученные в расчётах ошибки оцениваете на предмет апроксимации ценового ряда функциями других порядков? Например квадратичной, о которой Вы уже говорили.

Скажите, пожалуйста, а применяете ли Вы для аппроксимации ещё какие-нибудь функции? Например гармонические, экспоненциальные, логарифмические, степенные (выше второго порядка) и т.д.? Или же в применении к рынку Форекс для успешной работы на нём более чем достаточно применение всего лишь двух функций - линейной и квадратичной?
 
Кстати хотел бы спросить ещё следующее. Мне так по первоначальным расчётам кажется, что лучше всего в качестве цены бара брать не какую-то определённую цену Open, Close, High или Low, а среднюю цену бара (O+C+H+L)/4. Тогда у нас все параметры будут более центрированы, то есть смещение вверх или вниз от истинного положения прогноза будет минимальна.


Конечно можно.

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


Верно. Совпадение разворотной зоны с одним из разворотных уровней существенно повышает точность расчета.


а какую ширину доверительного интервала Вы берёте конкретно для случая расчёта Хёрста, а также для общих поисков оптимальной выборки?


Считаю, что выборка истинна, пока не пробит доверительный интервал в 99%. Учитываю еще 90 и 95% - оттуда часто происходит завершение откатов и восстановление тернда.

Но всё равно ведь при построении первого интервала Вы должны задать его ширину?


Обязательно - в стандартных отклонениях - самый универсальный способ.

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


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

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

Удачи и попутных трендов.
 
Vladislav, в принципе поиск каналов, на основе линейной регрессии я уже доделал. И расчёт Хёрста теперь я сделал наверное в полном соответствии с Вашими рекомендациями (расчёт прогноза для каждого бара отдельно). И мне так кажется, что расчёт Хёрста по прогнозу на каждом баре несёт больше полезной информации, к которой я пока присматриваюсь, но уже пытаюсь применить на практике.
Сейчас мой скрипт находит каналы линейной регрессии, которые удовлетворяют принципу нерасходимости, то есть СКО на всей выборке канала, меньше СКО 2/3 выборки, и принципу невыпадения выборки на последней 1/3 за 99% доверительный интервал (всё согласно Вашим рекомендациям). Но сейчас возник небольшой технический вопросик. Поскольку существуют несколько условно говоря "истинных" каналов, которые работают в текущий момент времени, то соответственно для таких каналов существуют области рассеяния как и везде в статистике. То есть например пусть одним из "истинных" каналов является канал линейной регрессии, построенный на выборке от текущего времени до 200 бара назад на периоде H1. При варьировании выборки например в пределах 190-210 баров выполняются вышепреведённые 2 условия в полном объёме. Мы смотрим размер СКО для этих выборок и выбираем наименьшее значение. Согласно Вашей стратегии этот канал является применимым для прогноза.
Далее переходим на другой таймфрейм, например, на М15. Пытаемся найти похожий канал в этой же самой временной области. И получаем следующий результат. Оптимальным каналом (с минимумом СКО) на М15 получается канал линейной регрессии, полученный не на выборке в 800 баров (200*4) как было бы закономерно, а канал на выборке 640 баров! То есть временная область даёт у меня расхождение по выборке до 25% (это максимальный показатель - обычно меньше). Также из-за этого в текущий момент времени у нас имеются отличия в определении самих границ доверительных интервалов примерно в 5-10 пунктов. Вроде бы поскольку мы в качестве выборки берём среднюю цену бара (O+H+L+C)/4 и никоим образом не проводим каких-либо анализов паттернов, то по идее у нас временные рамки оптимального канала, построенные для одной и той же временной области на разных таймфреймах должны совпадать? Или же это не так и в данном случае также нужно применять статистические методы по оценке параметров? И временной интервал для оптимального канала тоже имеет свою дисперсию, которой и можно объяснить это расхождение выборок для оптимального канала на разных таймфреймах?

В соответствии с этим у меня имеется вопрос. А как Вы поступаете в такой же ситуации? На что Вы ориентируетесь в своих расчётах? То есть например берёте ли Вы за основу принятия решения канал, построенный на более мелком таймфрейме, или же к примеру делаете дополнительную оценку границ доверительных интервалов посредством усреднения границ канала, полученных на разных таймфреймах? То есть если просчитать тот же самый канал например на 4х таймфреймах (М5,М15,М30,H1), то наверное усреднённая оценка границ доверительных интервалов для одного и того же канала будет в 2 раза более достоверной? И на неё можно будет полагаться в большей степени, чем по отдельности на расчёты канала по одному какому-либо таймфрейму? А может быть Вы как-то по другому поступаете? Хотя Вы наверное в такой ситуации ничего не усредняете, а просто ищете ближайший подоходящий уровень Мюррея как уже ранее говорили?

На каком таймфрейме Вы производите основной расчёт? Вы говорили, что у Вас программа просчитывает данные за полгода за 30-40 секунд. Я так предполагаю, что для этого таймфрейм должен быть не мельче H1? Это так?
 
В моих алгоритмах std_dev[][] - это таблица СКО, расчитанных для выборок каналов и проекций. Сейчас уже вместо второго постоянного индекса используется переменный - тогда проекции строились только одним способом - сейчас несколькими. Какой лучше еще не знаю - пока решил оставить все.

Vladislav, подскажите, пожалуйста, по поводу этого массива std_dev[][]. Насколько я понимаю данный массив имеет размерность Nx2, где N - это количество рассчитанных каналов. Значения ячеек могут быть следующими:
std_dev[n][0] - значение СКО на 2/3 выборки в канале n
std_dev[n][1] - значение СКО для всей выборки канала n (СКО для проекции)
Или же я ошибаюсь и данный массив содержит что-то ещё? Например возможно наличие 3-й ячейки std_dev[n][2] , в которой был бы номер стартового бара для выборки.

Кстати говоря какие варианты могут быть построения проекций ещё кроме стандартного? Проекция ведь повторяет ту функцию, которая была взята в качестве аппроксимирующей + границы доверительных интервалов, которые повторяют аппроксимирующую функцию по форме? Что можно придумать ещё в этой области? Я например мог бы предположить, что можно производить построение проекции по данным, полученным на несколько баров назад. Так мне кажется даже более рационально поскольку если строить проекцию только по текущему моменту времени, то цена при подходе к зоне разворота разрушает некоторые каналы, которые её образовали несколько баров назад, а оставшийся канал перемещает свои границы интервалов в зону недостижения. То есть если мы видим разворотную зону и цена близка к ней, то ещё при небольшом движении цены в область разворота один из каналов, который считался "истинным" перестаёт отвечать одному из 2х условий, по которым он искался. А Вы как работаете с этой проблемой? Вы также при анализе текущей ситуации ориентируетесь на прогноз, сделанный несколько баров назад?
Причина обращения: