Filtrar sin demora - página 3

 
Yurixx >>:

Это собственного производства или чей-то ?

А алгоритм ?


Tengo uno ya hecho de Matlab, es un filtro normal de dos pasos. No tengo ningún problema en hacer uno yo mismo, pero también tengo un interpolador delante. ¿Para qué sirve? Las garrapatas llegan de forma desigual en el tiempo, pueden ser una garrapata por minuto y pueden ser unas cuantas por segundo. No puedes alimentar el filtro con semejante desorden, primero debes llevarlos a la misma frecuencia de muestreo, yo probé con 1 Hz y 0,1 Hz. Es decir, en realidad aproximo los ticks de entrada mediante polinomios e inserto los ticks "virtuales" entre los reales. Todo esto es necesario porque me centro en el scalping y quiero trabajar con la velocidad de los ticks de entrada. Si trabajo en minutos y por encima, la aproximación no es necesaria IMHO.

Aquí se describe el filtro, su valor en distorsiones de fase cero

Después de filtrar los datos en la dirección de avance, filtfilt invierte la secuencia filtrada y la hace pasar de nuevo por el filtro. El resultado tiene las siguientes características:

  • Distorsión de fase cero

  • Una función de transferencia del filtro, que es igual a la magnitud al cuadrado de la función de transferencia del filtro original

  • Un orden de filtro que es el doble del orden del filtro especificado por b y a

Lo traduciré:

Después de filtrar los datos en dirección de avance, filtfilt invierte la secuencia filtrada y vuelve a filtrar. El resultado tiene las siguientes características:

* Distorsión de fase cero

Bueno, los detalles adicionales...

 
avatara >>:

а можно последние данные по евро-доллару показать?

минутки говорите, по тикам?

;)


¿Qué quiere decir con filtrarlos?

En http://ratedata.gaincapital.com/2010/ sólo se ha publicado hasta ahora la primera semana de enero. Tengo garrapatas alpri y broco en mis cuentas reales, puedo filtrarlas mañana. ¿Para qué sirve?

No predice el futuro)) Scalping, pipsing... Todavía no le veo ningún otro uso.

 

Вот тут еще интересные котировки , ща попробуем их формат BIN прочитать. Интересно, откуда берутся askVol & bidVol для тиков?

Cito:

"Cada bloque de bytes son datos de ticks registrados en una secuencia específica, a saber, hora, ask, bid, askVol, bidVol"

Y esas cifras son enormes, aquí para los eurobucks

15.01.2010 10:00:01.907,1.4415,1.44135,6400000,9200000 15.01.2010 10:00:02.357,1.44145,1.44135,1600000,9200000 15.01.2010 10:00:02.467,1.4414,1.4413,4000000,1800000 15.01.2010 10:00:02.707,1.4414,1.4413,4000000,2000000 15.01.2010 10:00:03.047,1.44145,1.4413,4000000,1600000

 
VDev >>:


Я из матлаба взял готовый, это обычный двухпроходный фильтр. Самому такой сделать без проблем, но перед ним еще у меня стоит интерполятор. Для чего он нужен? Тики приходят неравномерно по времени, может быть один тик в минуту, а может быть несколько в секунду. На фильтр такую кашу подавать нельзя, их надо сначала привести к единой частоте дискретизации, я пробовал 1 Гц и 0,1 Гц. То есть я фактически аппроксимирую полиномами входные тики и вставляю "виртуальные" тики между реальными.


¿Por qué no adoptar el concepto de tiempo no lineal?

¿Por qué llenar el tiempo entre dos garrapatas con basura? Podría aceptar un tiempo discreto de un tick. Y no importa el tiempo que haya entre ticks.

 
VDev писал(а) >>

¿Se refiere a la respuesta de fase-frecuencia?

Mira lo personal.

 
Zhunko >>:

Почему бы не принять концепцию нелинейного времени?

Зачем заполнять мусором время между двумя тиками? Можно принять дискрет в один тик. И не важно сколько там времени прошло между тиками.



Es fácil de comprobar - lo publicaré más tarde hoy
 
faa1947 >>:

Посмотрите личку.


Miré sobre los espectros - jugué con ellos y me decepcionó
 
VDev >>:


Я из матлаба взял готовый, это обычный двухпроходный фильтр. Самому такой сделать без проблем, но перед ним еще у меня стоит интерполятор. Для чего он нужен? Тики приходят неравномерно по времени, может быть один тик в минуту, а может быть несколько в секунду. На фильтр такую кашу подавать нельзя, их надо сначала привести к единой частоте дискретизации, я пробовал 1 Гц и 0,1 Гц. То есть я фактически аппроксимирую полиномами входные тики и вставляю "виртуальные" тики между реальными. Все это нужно потому, что я ориентируюсь на скальпинг и хочу работать со скоростью входного потока тиков. Если работать на минутках и выше, аппроксимация уже не нужна ИМХО.

Вот описание фильтра, его ценность в нулевых фазовых искажениях

After filtering the data in the forward direction, filtfilt reverses the filtered sequence and runs it back through the filter. The result has the following characteristics:

  • Zero-phase distortion

  • A filter transfer function, which equals the squared magnitude of the original filter transfer function

  • A filter order that is double the order of the filter specified by b and a

Я переведу:

После фильтрации данных в прямом направлении filtfilt переворачивает отфильтрованную последовательность и фильтрует еще раз. Результат обладает след характеристиками:

* Нулевые фазовые искажения

ну дальше подробности ..


El filtro que se calcula en Matlab es "no causal", es decir, no puede utilizarse para cálculos en tiempo real. Lo que considera este filtro no es el valor actual del filtro en la barra cero (la actual). Por lo tanto, no se puede hablar de latencia cero.

¿Y "distorsión de fase cero"? No hay problema. Cuando hay valores de la mitad/ventana futura por delante.

 
begemot61 писал(а) >>

El filtro que se calcula en Matlab es "no causal", es decir, no puede utilizarse para cálculos en tiempo real. Lo que considera este filtro no es el valor actual del filtro en la barra cero (la actual). En consecuencia, no podemos hablar de ningún retraso cero.

¿Y "distorsión de fase cero"? No hay problema. Cuando hay valores de la mitad/ventana futura por delante.

Todos los filtros que se discuten son sobrepasos de Fourier y el problema es que el filtro más notable tiene una vida útil y ese es el problema. Mejoramos los filtros, involucramos a Matlab para un mercado ya muerto. Cuando, en ese momento el filtro ha terminado de funcionar, porque el mercado ya no tiene las frecuencias que se supone que debe filtrar. Por lo tanto, media ventana o sólo un cuarto =- no importa. ¿Por qué nadie habla de los faylets que tienen toda la vida?

 
begemot61 >>:

Фильтр, который считается в Матлабе-"non-causal", т.е. он не может использоваться для расчетов в реальном времени. То что считается этим фильтром не является текущим значением фильтра на нулевом (текущем) баре. Соответственно, ни о какой нулевой задержке говорить не приходится.

Ну а "Zero-phase distortion"? Нет проблем. Когда есть значения из будущего на пол/окна вперед.


No entiendo lo de rltime: ¿qué le impide contar en rltime? Otra cosa es cómo tratamos los datos resultantes. Por supuesto, no habrá ningún milagro.

No estoy contando ningún valor del futuro, por ejemplo en esta figura los datos se filtran en el rango 1:1.23e5, ahí también se cortan las gráficas. Otra cosa es que cuando entran nuevos datos, la respuesta del filtro cambia de forma.

En realidad, no entiendo de qué me acusan todos aquí. ¿Dije que había inventado un grial mágico? Le di una de las variantes de filtro para que la considerara y le pregunté cómo podía utilizarla.