Filtrar sem demora - página 3

 
Yurixx >>:

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

А алгоритм ?


Peguei um já pronto da Matlab, é um filtro normal de duas passagens. Eu mesmo não tenho problemas em fazer um, mas também tenho um interpolador na frente dele. Para que serve? As carrapatos chegam de forma desigual no tempo, pode haver um tique por minuto, e pode haver vários por segundo. Você não pode alimentar o filtro com tal bagunça, você deve primeiro levá-los à mesma taxa de amostragem, eu tentei 1 Hz e 0,1 Hz. Isto é, na verdade aproximo os carrapatos de entrada por polinômios e inseri os carrapatos "virtuais" entre os carrapatos reais. Tudo isso é necessário porque me concentro no escalpe e quero trabalhar com a velocidade dos tiquetaques de entrada. Se eu trabalho em minutos e acima, não é necessária uma aproximação IMHO.

Aqui está uma descrição do filtro, seu valor em distorção de fase zero

Depois de filtrar os dados na direção dianteira, filtfilt inverte a seqüência filtrada e a faz voltar através do filtro. O resultado tem as seguintes características:

  • Distorção em fase zero

  • Uma função de transferência do filtro, que é igual à magnitude quadrática da função de transferência do filtro original

  • Uma ordem de filtragem que é o dobro da ordem do filtro especificada por b e a

Vou traduzir:

Depois de filtrar os dados na direção da frente, filtfilt vira a seqüência filtrada e filtra novamente. O resultado tem as seguintes características:

* Distorção de fase zero

Bem, os detalhes adicionais...

 
avatara >>:

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

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

;)


O que você quer dizer - filtrá-los?

Em http://ratedata.gaincapital.com/2010/, até agora, apenas a primeira semana de janeiro foi publicada. Tenho carrapatos alpri e broco em minhas contas reais, posso filtrá-los amanhã. Para que serve?

Não prediz o futuro)) Escalpagem, pipsing... Ainda não vejo nenhum outro uso para ele.

 

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

Eu cito:

"Cada bloco de bytes é um registro de dados em uma seqüência específica, ou seja, tempo, perguntar, licitar, perguntarVol, licitarVol".

E tais números são enormes, aqui para o 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 que não abraçar o conceito de tempo não linear?

Por que preencher o tempo entre dois carrapatos com lixo? Você poderia aceitar um tempo discreto de um tique. E não importa quanto tempo haja entre os carrapatos.

 
VDev писал(а) >>

Você está se referindo à resposta de freqüência de fase?

Olhe para o pessoal.

 
Zhunko >>:

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

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



É fácil de verificar - Publicá-lo-ei mais tarde hoje
 
faa1947 >>:

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


Olhei para os espectros - brinquei com eles e fiquei desapontado
 
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 переворачивает отфильтрованную последовательность и фильтрует еще раз. Результат обладает след характеристиками:

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

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


O filtro que é calculado em Matlab é "não-causal", ou seja, não pode ser usado para cálculos em tempo real. O que é considerado por este filtro não é o valor atual do filtro a zero (a barra atual). Conseqüentemente, não há nenhuma latência zero de que se possa falar.

E "Distorção em fase zero"? Não há problema. Quando houver valores da futura metade/janela à frente.

 
begemot61 писал(а) >>

O filtro que é calculado em Matlab é "não-causal", ou seja, não pode ser usado para cálculos em tempo real. O que é considerado por este filtro não é o valor atual do filtro a zero (a barra atual). Da mesma forma, não podemos falar de nenhum atraso zero.

E "Distorção em fase zero"? Não há problema. Quando houver valores da futura metade/janela à frente.

Todos os filtros em discussão são de Fourier e o problema é que o filtro mais notável tem uma vida útil e esse é o problema. Melhoramos os filtros, envolvemos a Matlab para um mercado já morto. Quando, nesse momento, o filtro tiver terminado de funcionar, porque o mercado não tem mais as freqüências que deveria filtrar. Portanto, metade de uma janela ou apenas um quarto =- não importa. Por que ninguém discute os faylets que têm vida útil?

 
begemot61 >>:

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

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


Não entendo o que o impede de contar no tempo rl - o que o impede de contar no tempo rl? Outra coisa é como tratamos os dados resultantes. Naturalmente, não haverá milagre.

Não estou contando nenhum valor futuro, por exemplo, nesta figura os dados são filtrados na faixa 1:1.23e5, também há gráficos cortados. Outra coisa é que quando novos dados chegam, a resposta do filtro muda de forma.

Na verdade, eu não entendo do que todos aqui me acusam... Eu disse que tinha inventado um graal mágico? Dei uma das variantes do filtro para consideração e perguntei como ele poderia ser usado.