Торговые стратегии на основе цифровых фильтров - страница 55

 
dvarrin:
Значит, индикаторы, которые вы внедрили, основаны на MESA, и DFG тоже основан на MESA?

Да. Но я не знаю, какую предварительную обработку временных рядов выполняет DFG.

А количество баров, которое мы можем выбрать в DFG, такое же, как и количество баров, которые вы используете в своем индикаторе для спектрального анализа?

Да.

По поводу количества используемых баров. Почему вы хотите взять самую последнюю историю цен? Она выглядит очень шумной, в ней нет четко выраженного цикла. Что я делаю, так это беру все больше и больше баров, увеличивая их количество на 1000 или 2000, пока спектральный анализ не будет выглядеть почти одинаково. Это означает, что пики в этом спектре были значительными в течение длительного времени, а затем не должны быть такими плохими?

Вы находитесь в самом центре проблемы! И это главная причина, по которой я поделился своими индикаторами.

MESA практически идеально подходит для извлечения стационарных циклов из произвольного длинного временного ряда с гауссовым шумом (в то время как одним из ограничений БПФ является длина 2^n. Вы всегда можете обнулить свои временные ряды, но это обходной путь).

Когда дело доходит до реальных рыночных временных рядов, как вы знаете, у вас нет ни гауссова шума, ни стационарных циклов.

У вас есть "нечто", что можно назвать сигнал + шум. Сигнал имеет некоторое циклическое поведение. Тезис того, кто утверждает, что вы можете торговать циклами, заключается в том, что вы можете отделить сигнал от шума и что вы можете распознать циклы внутри сигнала и воспользоваться циклическим поведением с помощью какого-то прогноза. Это подход циклов NOXA, например, и части оригинальных торговых решений и индикаторов Элерса (MESA8).

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

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

Когда вы наблюдаете длинный временной ряд (2000 баров) с помощью MESA, то вы усредняете все циклы внутри этого временного ряда и выделяете полосы, в которых сосредоточена большая часть спектральной мощности. Если есть повторяющиеся хорошо известные циклы, то вы получаете чистые пики. Чаще всего, когда вы рассматриваете более длинные временные ряды, пики имеют тенденцию к расширению и снижению (таким образом, они сходятся, как вы говорите). Это означает, что вы можете иметь представление только о полосах, в которых у вас есть спектральная мощность, но не чистые циклы.

Если вы предпочитаете более реактивную адаптацию к меняющимся рынкам, или если вы хотите поймать временный четко определенный цикл, вам придется сократить окно наблюдения (что является моей специфической областью исследования, и для чего мне понадобился встроенный анализатор, а не оффлайн, как DFG)?

Проблема, возникающая при таком подходе, заключается в следующем: как меняется спектр от бара к бару и как ведет себя MESA при краткосрочном анализе?

Несмотря на то, что я убежден, что денуазирование и детрендинг не очень полезны в MESA (по крайней мере, в длинном окне наблюдений и с гауссовским шумом), я провожу некоторые испытания этого краткосрочного подхода на реальных временных рядах. Кажется, что детрендинг может помочь лучше уловить циклы средней длины (те, что между 60 и 150 барами), что может привести к лучшей кривой SATL.

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

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

Сдвигая окно наблюдения (т.е. с течением времени), пики перемещаются внутри спектра. Они не только меняют свой центр, но и становятся выше или ниже. Когда случается так, что старый преобладающий цикл превосходит по резкости новый, происходит скачок.

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

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

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

 

снова

richcap:
Кшиштоф,

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

Как видите, MESA прекрасно выделяет пики сигнала, даже без деноусификации или детрендинга, но бывает, что они слишком быстрые для торговой стратегии, основанной на циклах.

Если у вас период 8 баров (частота 0,125) или даже 13,3 бара (частота 0,075), это означает, что у вас есть 4 (6,5) бара для быстрого восходящего тренда и 4 (6,5) для быстрого нисходящего. Даже впечатляющий цифровой фильтр вносит некоторое запаздывание, скажем, не менее 2 баров. Таким образом, у вас есть только 2 (4,5) бара для торговли быстрым трендом. Суммируйте это с шумом, амплитуда которого больше, чем у сигнала (4 по отношению к 3), и вы получите совершенно нециклический сигнал.

Мне нравится идея тестирования сигнала с 2 или 3 синусоидами + DC компонент+линейный тренд+шум разных типов. Я бы предложил что-то вроде 20 баров (0.05 freq), 50 баров (0.02 freq), 100 баров (0.01 freq).

Вот он

t = (0:5000)';

f0 = 0.05;

ph0 = pi/6;

f1 = 0.02;

ph1 = -pi/6;

f2 = 0.01;

x = 10+0.1*t+2.5 * cos(2*pi*f0*t + ph0) + 3 * cos(2*pi*f1*t + ph1) + cos(2*pi*f2*t) + 4 * randn(size(t));

Посмотрите на спектр из MATLAB. Goertzel и FFT мертвы без детрендинга.

Кшиштоф

Файлы:
1_1.jpg  50 kb
2.jpg  49 kb
3.jpg  45 kb
4.jpg  51 kb
usdsek5.rar  60 kb
 
richcap:
Да. Но я не знаю, какую предварительную обработку выполняет DFG для временных рядов.

Да.

Вы находитесь в самом центре проблемы! И это главная причина, по которой я поделился своими индикаторами.

MESA почти идеально подходит для извлечения стационарных циклов из произвольного длинного временного ряда с гауссовым шумом (в то время как одним из ограничений БПФ является длина 2^n. Вы всегда можете обнулить свои временные ряды, но это обходной путь).

Когда дело доходит до реальных рыночных временных рядов, как вы знаете, у вас нет ни гауссова шума, ни стационарных циклов.

У вас есть "нечто", что можно назвать сигнал + шум. Сигнал имеет некоторое циклическое поведение. Тезис того, кто утверждает, что вы можете торговать циклами, заключается в том, что вы можете отделить сигнал от шума и что вы можете распознать циклы внутри сигнала и воспользоваться циклическим поведением с помощью какого-то прогноза. Это подход циклов NOXA, например, и части оригинальных торговых решений и индикаторов Элерса (MESA8).

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

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

Когда вы наблюдаете длинный временной ряд (2000 баров) с помощью MESA, то вы усредняете все циклы внутри этого временного ряда и выделяете полосы, в которых сосредоточена большая часть спектральной мощности. Если есть повторяющиеся хорошо известные циклы, то вы получаете чистые пики. Чаще всего, когда вы рассматриваете более длинные временные ряды, пики имеют тенденцию к расширению и снижению (таким образом, они сходятся, как вы говорите). Это означает, что вы можете иметь представление только о полосах, в которых у вас есть спектральная мощность, но не чистые циклы.

Если вы предпочитаете более реактивную адаптацию к меняющимся рынкам, или если вы хотите поймать временный четко определенный цикл, вам придется сократить окно наблюдения (что является моей специфической областью исследования, и для чего мне понадобился встроенный анализатор, а не оффлайн, как DFG)?

Проблема, возникающая при таком подходе, заключается в следующем: как меняется спектр от бара к бару и как ведет себя MESA при краткосрочном анализе?

Несмотря на то, что я убежден, что денуазирование и детрендинг не очень полезны в MESA (по крайней мере, в длинном окне наблюдений и с гауссовским шумом), я провожу некоторые испытания этого краткосрочного подхода на реальных временных рядах. Кажется, что детрендинг может помочь лучше уловить циклы средней длины (те, что между 60 и 150 барами), что может привести к лучшей кривой SATL.

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

При сдвиге окна наблюдения (т.е. с течением времени) пики перемещаются внутри спектра. Они не только меняют свой центр, но и становятся выше или ниже. Когда случается так, что старый преобладающий цикл превосходит по остроте новый, происходит скачок.

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

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

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

Как вы торгуете, используя сигналы ACTF? Есть ли у нас открытая позиция более чем на два бара? Я бы хотел увидеть график со входами и какой индикатор говорит нам войти. Например, SATL может иметь большую задержку, и цена может продвинуться очень далеко, прежде чем SATL выровняется. А если мы будем следовать FATL, то можем ошибиться. Было бы здорово увидеть график с такими входами по ACTF.

 

нестационарный CHIRP ??

richcap:

MESA почти идеально подходит для извлечения стационарных циклов из произвольной длинной временной серии с гауссовым шумом (в то время как одним из ограничений БПФ является длина 2^n. Вы всегда можете обнулить свои временные ряды, но это обходной путь).

Мне нравится этот вопрос о стационарности/нестационарности. CHIRP является стационарным или нестационарным? Он меняет частоту и амплитуду, поэтому как процесс нестационарен, но MESA все равно работает... Может быть, когда вы сделаете DF-тест, он покажет, что он стационарен.

Кшиштоф

 
fajst_k:
Мне нравится это понятие "стационарный/нестационарный". CHIRP - это стационарный или нестационарный сигнал? Он изменяет частоту и амплитуду, поэтому как процесс нестационарен, но MESA все равно работает... Может быть, когда вы сделаете тест DF, он покажет, что он стационарен. Кшиштоф.

Привет, Кшиштоф,

Вы даже не представляете, как мне нравится наш мозговой штурм (или, возможно, Вы разделяете мое удовольствие ;-) ).

Да, ваш сигнал чириканья определенно нестационарен, но...

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

Если у меня есть окно в 400 баров, в котором частота сигнала чирпа (или наоборот: период) меняется от 260 до 220 баров, MESA без проблем выдаст довольно чистый пик на уровне между 220 и 260 (см. пост #496).

Если вы возьмете большее окно, вы получите менее определенный пик, учитывая тот факт, что частоты распределены по более широкому диапазону (см. пост #495).

Это примерно тот компромисс между резкостью и стабильностью спектра, о котором говорил dvarrin.

Чем короче окно, тем больше квазистационарность сигнала.

 
fajst_k:
Вот он

t = (0:5000)';

f0 = 0.05;

ph0 = pi/6;

f1 = 0.02;

ph1 = -pi/6;

f2 = 0.01;

x = 10+0.1*t+2.5 * cos(2*pi*f0*t + ph0) + 3 * cos(2*pi*f1*t + ph1) + cos(2*pi*f2*t) + 4 * randn(size(t));

Посмотрите на спектр из MATLAB. Goertzel и FFT мертвы без детрендинга.

Кшиштоф

Я применил ту же простую стратегию, которая использовалась ранее. У вас есть две основные частоты для торговли (с периодом 20 и 50 баров, а та, что с периодом 100 баров, имеет очень маленькую амплитуду по отношению к шуму и едва ли пригодна для торговли).

На первом рисунке вы видите стратегию, примененную к медленной линии тренда (50 баров), а на втором - к быстрой линии тренда.

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

Как всегда, когда у вас есть основной тренд (в данном случае восходящий), выгоднее торговать только вверх.

Файлы:
 
dvarrin:
Как вы торгуете, используя сигналы ACTF? Есть ли у нас открытая позиция более чем на два бара? Я бы хотел увидеть график с входами и то, какой индикатор говорит нам войти. Например, SATL может иметь большую задержку, и цена может продвинуться очень далеко, прежде чем SATL выровняется. А если мы будем следовать FATL, то можем ошибиться. Было бы очень здорово увидеть график с этими входами ACTF.

Позвольте процитировать ответ на аналогичный вопрос, заданный мне по электронной почте:

Привет G.,

Я только сказал, что меня интересуют средние короткие окна (200), потому что я хочу, чтобы мои фильтры менялись, как только меняется рынок. Но вы можете использовать индикаторы и для более длинных окон. Я рад, что вы экспериментируете. Единственным ограничением является лошадиная сила вашего компьютера (даже если для степени есть максимум 500, но вы можете изменить константу, определяющую ее, в библиотеке, если хотите) и тот факт, что степень должна быть меньше длины, иначе MESA не сможет найти полюса.

Вы можете поиграть с параметрами и понять, что они означают:

Max (80) и satlmin (15) означают, что вас не интересуют пики с периодом больше 80 и меньше 15 для вашего satl.

Min (10) означает, что вас не интересуют пики с периодом меньше 10 для вашего fatl.

Я полагаю, что вы дали недостаточно пространства между satl min и fatl min, но, возможно, вы правы.Я редко меняю параметр степени, но, конечно, вы можете попробовать. Именно в этом процессе проб и ошибок я вижу беспроигрышную ситуацию в том, чтобы поделиться кодом (если вы, конечно, поделитесь своими результатами).

Обратите внимание, что если алгоритму не удается найти важные пики при заданных вами ограничениях, для расчета fatl и satl используются настройки по умолчанию. Всегда просматривайте результаты на вкладке экспертов в окне терминала.

Riccardo

G. написал:

> Здравствуйте снова, я пробовал много конфигураций для ваших адаптивных индикаторов для работы в H1 я получил то, что я хочу более или менее, но я прочитал в вашем последнем сообщении на TSD, что лучше использовать небольшой параметр длины, почему? также я хотел бы знать, как что делает параметр степени.

> Я изменял параметр начального времени и не видел никаких изменений в линиях.

>

> Что я могу сделать, чтобы получить FATL и RSTL, как в оригинале?

>

> Лучший набор, который я нашел, для h1 выглядит следующим образом:

> степень 100

> длина 1000

> max 80

> min 10

> saltmin 15

>

> С уважением
 

методика

На первом рисунке вы видите стратегию, примененную к медленной линии тренда (50 баров), а на втором - к быстрой линии тренда.

They are both profitable. I must say that this noise is helping because after a cross between trendlline and it's reference there is a high probability of getting a noisy and profitable price arrival on the other side to ride the trend.

Здравствуйте,

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

Как всегда, когда у вас есть основной тренд (в данном случае вверх), было бы выгоднее торговать только вверх.

В этом и заключается проблема. 'Режим цикла' и 'Режим тренда', используя терминологию Элерса.

Мы можем попытаться избавиться от этого, но, возможно, позже.

Может быть, вы сделаете детренд по разнице лога, и мы увидим, улучшилась ли производительность.

Затем я сделаю тест для CSSA на тех же данных, посмотрим.

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

результаты также на этих данных.

Кшиштоф

 

Идея заключается в следующем:

Степень - это как множитель значения длины.

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

Правильно ли это?

 
richcap:
Я применил ту же простую стратегию, которая использовалась ранее. У вас есть две основные частоты для торговли (с периодом 20 и 50 баров, а та, что с периодом 100 баров, имеет очень маленькую амплитуду по отношению к шуму и едва ли пригодна для торговли).

На первом рисунке вы видите стратегию, примененную к медленной линии тренда (50 баров), а на втором - к быстрой линии тренда.

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

Как всегда, когда у вас есть основной тренд (в данном случае восходящий), выгоднее торговать только вверх.

Richcap,

Если я не ошибаюсь, я полагаю, что вы торгуете изменениями наклона FTLM и STLM в их развитом, но оптимизированном состоянии, что может быть очень хорошо на самом деле прибыльным (Это способ, которым я торгую ATCF). Интересно, что произойдет, если торговать ими в сочетании друг с другом.

У меня все еще не было возможности по-настоящему вникнуть в те инди, которые вы выложили (J.O.B.), но лучше поверить, что я их тоже не забыл. Вы, ребята, на высоте. Я сделаю все возможное, чтобы выкладывать больше (хотя у меня не так много того, о чем я могу думать, чтобы внести свой вклад). Еще раз спасибо всем за то, что поддерживаете эту тему.

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