Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Вот АКF, посмотрите плиз. Надо только быть уверенным, что все правильно считается. Проверте.
Вот АКF, посмотрите плиз. Надо только быть уверенным, что все правильно считается. Проверте.
Сам по себе расчёт АКФ сделан по определению и это для начала правильно - код простой и прозрачный. Но интересно было бы сравнить скорость если считать через FFT. Кстати и этот код поддаётся заметному ускорению.
Вот АКF, посмотрите плиз. Надо только быть уверенным, что все правильно считается. Проверте.
Сам по себе расчёт АКФ сделан по определению и это для начала правильно - код простой и прозрачный. Но интересно было бы сравнить скорость если считать через FFT. Кстати и этот код поддаётся заметному ускорению.
Через FFT будет не точно, на 8-ой странице график ('Теория случайных потоков и FOREX'), красная линия АКФ по формуле, синая через FFT. синая кривая симметрична относительно центра. Хотя я может что то и не так зделал (сам файл прикреплён на той же странице чуть выше). lna01 Подскажи в формулах, как используя FFT правильно построить АКФ, я по памяти делал, может где и ошибся.
прямое ДПФ-> модуль+ ^2 -> обратное ДПФ -> выделение действительной части Re() -> нормировка
Вот АКF, посмотрите плиз. Надо только быть уверенным, что все правильно считается. Проверте.
Но интересно было бы сравнить скорость если считать через FFT.
Кстати и этот код поддаётся заметному ускорению.
АКФ через fft была симметрична скорее всего из-за недописывания нулей. А точность почему-то и правда сомнительна
Но что-то мне кажется, что форсированный под реалтайм "лобовой" расчёт должен быть побыстрее fft-варианта. Однако общий предполагаемый объём расчётов продолжает сильно смущать. В частности уже на данном этапе вызывает вопрос произвол в выборе длины линейной регрессии. Аналогичная проблема для каналов линейной регрессии по большому счёту так и осталась проблемой. Собственно ранее в этой теме я об этом уже писал.
Да, вопросов больше, чем ответов. Но стало уже интересно.
1. К-т корреляции вроде как не должен быть по модулю больше 1, а тут так получается.
2. Почему именно a*x+b, Prival? Ты именно так хочешь детрендировать график? Есть и другие способы, более точные. Например, та же линейная регрессия (аналог машки, тока запаздывание там поменьше). Вычитая из цены текущее значение ЛР, мы прекрасно избавляемся от трендов, в том числе и от нелинейных.
Можно просто брать первую разность цен (т.е. сформировать ряд returns), но так убираются только линейные составляющие трендов. Берем вторую разность - уберутся и квадратичные, и т.п.
Если хотим совсем без запаздывания (но с перерисовкой на истории), то можно сделать что-то типа Fourier MA, т.е. машку, основанную на преобразовании Фурье и отбрасывании высоких частот. Это у klot'a тоже есть.
1. К-т корреляции вроде как не должен быть по модулю больше 1, а тут так получается.
С FFT надо аккуратней: tnn (или nl в теле) должно быть степенью двойки, т.е. 2^n, где n - целое.
P.S. Неправильный исходник просто удалил, а правильный цепляю сюда.
P.P.S. На всякий случай подробнее о работе с данными: Размер исходного массива нужно увеличить 2 раза, после этого снова увеличить его до ближайшей степени двойки. Во все добавленные ячейки нужно записать нули. Массив спектральной плотности для обратного ффт должен также иметь расширенный размер, квадраты амплитуд записываются в ячейки для реальных компонент, в ячейки для мнимых записываются (естественно) нули. В качестве результата берём элементты от начала до исходного размера массива.
2 Prival: Как это точно воспроизвести в маткаде я не знаю, метод проб и ошибок должен в конце концов помочь. АКФ должны с разумной точностью совпадать.