Friday, 27 October 2017

Algoritmo Em Linha Médio Em Movimento


Eu quero implementar um algoritmo iterativo, que calcula a média ponderada. A lei do peso específico não importa, mas deve ser perto de 1 para os valores mais recentes e perto de 0 para os mais antigos. O algoritmo deve ser iterativo. Ou seja, não deve lembrar todos os valores anteriores. Deve saber apenas um valor mais recente e qualquer informação agregada sobre o passado, como valores anteriores da média, somas, contagens, etc. Por exemplo, o seguinte algoritmo pode ser: Ele dará um peso exponencial decrescente, o que pode não ser bom. É possível ter um peso decrescente ou algo assim. Os requisitos para a legislação de pesagem são os seguintes: 1) O peso diminui para o passado 2). Eu tenho alguma duração média ou característica, de modo que os valores mais antigos, essa duração, são muito menores do que os mais recentes. 3) Eu Deve ser capaz de definir esta duração, eu preciso do seguinte. Suponha que vi são valores, onde v1 é o primeiro. Suponhamos também que sejam pesos. Mas wO é o ÚLTIMO. Então, depois que o primeiro valor veio, eu tenho a primeira média. Depois do segundo valor v2, eu deveria ter média. Com o próximo valor, eu deveria ter Nota, esse perfil de peso está se movendo comigo, enquanto eu estou me movendo ao longo da seqüência de valores. Isto é, Cada valor não tem seu próprio peso o tempo todo. Meu objetivo é ter esse peso mais baixo enquanto vai para o passado. Gt Mas minha tarefa é ter uma média recalculada cada vez que um novo valor chega tendo valores antigos refletidos. OP Sua tarefa é quase sempre impossível, mesmo com esquemas de pontuação excepcionalmente simples. Você está pedindo, com memória O (1), médias de rendimento com um esquema de ponderação em mudança. Por exemplo, à medida que novos valores estão sendo transmitidos, para algumas seqüências de pesos que mudam arbitrariamente. Isso é impossível devido à injetividade. Depois de combinar os números juntos, você perde uma enorme quantidade de informações. Por exemplo, mesmo se você tivesse o vetor de peso. Você não conseguiu recuperar o vetor do valor original, ou vice-versa. Existem apenas dois casos em que posso pensar onde você poderia fugir com isso: pesos constantes como 2,2,2. 2: isso é equivalente a um algoritmo de média on-line, que você não quer porque os valores antigos não estão sendo ponderados. Os pesos relativos de respostas anteriores não mudam. Por exemplo, você poderia fazer pesos de 8,4,2,1. E adicione um novo elemento com peso arbitrário como. 1. mas você deve aumentar todo o anterior pelo mesmo fator multiplicativo, como 16,8,4,21. Assim, em cada etapa, você está adicionando um novo peso arbitrário e um novo arbitrário de atualização do passado, de modo que você tenha 2 graus de liberdade (apenas 1 se precisar manter seu produto ponto normalizado). Os vetores de peso que você obtém pareciam: Assim, qualquer esquema de ponderação que você pode fazer parece funcionar (a menos que você precise manter o item normalizado pela soma dos pesos, caso em que você deve dividir a nova média pelo novo Soma, que você pode calcular, mantendo apenas a memória O (1)). Simplesmente multiplique a média anterior pelo novo s (que irá distribuir implicitamente sobre o ponto-produto nos pesos) e abordar o novo wnewValue. Respondeu 29 de março às 21:27 Aqui estou supondo que você deseja que os pesos somem para 1. Enquanto você pode gerar um peso relativo sem que ele mude no futuro, você pode acabar com uma solução que imita esse comportamento. Ou seja, suponha que você definiu seus pesos como uma seqüência e definiu a entrada como seqüência. Considere a forma: soma (s0i0 s1i1 s2i2. Snin) soma (s0 s1 s2. Sn). Observe que é trivialmente possível calcular isso de forma incremental com alguns contadores de agregação: Claro, calculeWeightFromCounter () nesse caso não deve gerar pesos que somem a um - o truque aqui é que nós, na média, dividindo pela soma dos pesos De modo que no final, os pesos virtualmente parecem somar a um. O verdadeiro truque é como você calculaWeightFromCounter (). Você poderia simplesmente devolver o próprio contador, por exemplo, no entanto, note que o último número ponderado não estaria perto da soma dos contadores necessariamente, então você não pode acabar com as propriedades exatas que deseja. (É difícil dizer que, como mencionado, você deixou um problema bastante aberto.) Respondeu 28 de março às 21:45 O problema é que os pesos estão mudando com cada novo valor. No seu caso, eles não são. Ndash Suzan Cioc 29 de março 12 às 14:43 Os pesos reais utilizados estão mudando com cada valor novo - as quotweightsquot estão sendo divididas por um número sucessivamente maior, reforçando assim que os pesos reais utilizados sempre somem para 1. ndash Kaganar 29 de março 12 Às 14:45 Isso é muito longo para postar em um comentário, mas pode ser útil saber. Suponha que você tenha: w0vn. Wnv0 (bem, chame isso w0..nvn..0 para breve) Então o próximo passo é: w0vn1. Wn1v0 (e isso é w0..n1vn1..0 para baixo) Isso significa que precisamos de uma maneira de calcular w1..n1vn..0 de w0..nvn..0. É certamente possível que vn..0 seja 0. 0, z, 0. 0 onde z esteja em algum local x. Se não tivermos nenhum armazenamento extra, então f (zw (x)) zw (x 1) onde w (x) é o peso para a localização x. Reorganizando a equação, w (x 1) f (zw (x)) z. Bem, w (x 1) melhor ser constante para uma constante x, então f (zw (x)) z melhor ser constante. Portanto, f deve permitir que z se propague - isto é, f (zw (x)) zf (w (x)). Mas aqui novamente temos um problema. Observe que se z (que poderia ser qualquer número) pode se propagar através de f. Então w (x) certamente pode. Então f (zw (x)) w (x) f (z). Assim f (w (x)) w (x) f (z). Mas para uma constante x. W (x) é constante e, portanto, f (w (x)) melhor ser constante, também. W (x) é constante, então f (z) é melhor ser constante, de modo que w (x) f (z) seja constante. Assim, f (w (x)) w (x) c onde c é uma constante. Então, f (x) cx onde c é uma constante quando x é um valor de peso. Ou seja, cada peso é um múltiplo do anterior. Assim, os pesos assumem a forma w (x) mbx. Observe que isso pressupõe que a única informação que f tem é o último valor agregado. Note que, em algum momento, você será reduzido a este caso, a menos que esteja disposto a armazenar uma quantidade de dados não constantes que representem sua entrada. Você não pode representar um vetor de comprimento infinito de números reais com um número real, mas você pode aproximá-los de alguma forma em uma quantidade constante e finita de armazenamento. Mas isso seria apenas uma aproximação. Embora eu não tenha provado com rigor, é minha conclusão de que o que você quer é impossível fazer com um alto grau de precisão, mas você pode usar o log (n) espaço (o que também pode ser O (1) para muitos Aplicações práticas) para gerar uma aproximação de qualidade. Você pode usar ainda menos. Respondeu 29 de março às 23:01 Tentei praticamente codificar algo (em Java). Como já foi dito, seu objetivo não é possível. Você só pode contar a média de alguns dos últimos valores lembrados. Se você não precisa ser exato, você pode aproximar os valores mais antigos. Eu tentei fazê-lo lembrando os últimos 5 valores exatamente e os valores mais antigos somente SUMmed por 5 valores, lembrando as últimas 5 SUMs. Então, a complexidade é O (2n) para lembrar os últimos valores nnn. Esta é uma aproximação muito áspera. Você pode modificar os tamanhos de matriz lastValues ​​e lasAggregatedSums conforme desejado. Veja esta imagem de ascii-art tentando exibir um gráfico de últimos valores, mostrando que as primeiras colunas (dados mais antigos) são lembradas como valor agregado (não individualmente) e somente os 5 valores mais adiantados são lembrados individualmente. Desafio 1. O meu exemplo não conta com pesos, mas acho que não deveria ser um problema para você adicionar pesos adequados para o último. O único problema é que, se você quiser pesos mais baixos para valores mais antigos, seria mais difícil porque a matriz gira, então Não é direto saber qual peso para qual membro da matriz. Talvez você possa modificar o algoritmo para mudar sempre os valores na matriz em vez de girar. Em seguida, adicionar pesos não deve ser um problema. Desafio 2. As matrizes são inicializadas com 0 valores, e esses valores estão contando a média desde o início, mesmo quando não recebemos valores suficientes. Se você estiver executando o algoritmo por um longo período de tempo, você provavelmente não incomodará que esteja aprendendo por algum tempo no início. Se você o fizer, você pode postar uma modificação -) respondeu 21 de janeiro 14 às 15:59 Sua resposta 2017 Troca de pilha, Algoritmos IncOnline em comércio de alta freqüência Os desafios enfrentados pelos algoritmos HFT concorrentes Jacob Loveless, Sasha Stoikov e Rolf Waeber HFT ( Negociação de alta freqüência) emergiu como uma força poderosa nos mercados financeiros modernos. Apenas 20 anos atrás, a maior parte do volume de negócios ocorreu em trocas como a Bolsa de Valores de Nova York, onde os seres humanos vestidos com roupas de cores brilhantes gesticulariam e gritariam suas intenções comerciais. Hoje em dia, o comércio ocorre principalmente em servidores eletrônicos em data centers, onde os computadores comunicam suas intenções comerciais através de mensagens de rede. Essa transição de intercâmbios físicos para plataformas eletrônicas tem sido particularmente rentável para as empresas HFT, que investiram fortemente na infraestrutura deste novo ambiente. Embora o aspecto do local e seus participantes tenha mudado drasticamente, o objetivo de todos os comerciantes, eletrônicos ou humanos, permanece o mesmo: comprar um recurso de um operador de localização e vendê-lo para outro fornecedor de localização por um preço mais alto. A diferença decisiva entre um comerciante humano e um HFT é que o último pode reagir mais rápido, mais freqüentemente, e possui períodos de espera de carteira muito curtos. Um algoritmo HFT típico opera na escala de tempo de sub-milissegundos, onde os comerciantes humanos não podem competir, pois o piscar de olhos humanos leva aproximadamente 300 milissegundos. À medida que os algoritmos HFT compõem uns com os outros, eles enfrentam dois desafios: touro Eles recebem grandes quantidades de dados a cada microssegundo. Bull Eles devem ser capazes de agir de forma extremamente rápida nos dados recebidos, já que a rentabilidade dos sinais que eles observam decaça muito rapidamente. Os algoritmos on-line fornecem uma classe natural de algoritmos adequados para aplicações HFT. Em um problema on-line, novas variáveis ​​de entrada são reveladas sequencialmente. Depois de cada nova entrada, o algoritmo precisa fazer uma demonstração de decisão, por exemplo, para enviar ou não uma troca. Isso contrasta radicalmente com um problema offline, o que pressupõe que todos os dados de entrada estão disponíveis no momento da tomada de decisão. Muitos problemas de otimização prática abordados em pesquisas em ciência da computação e operações são problemas on-line. 1 Além de resolver um problema on-line, os algoritmos HFT também precisam reagir extremamente rápido às atualizações do mercado. Para garantir um tempo de reação rápido, o gerenciamento de memória eficiente é uma necessidade para um algoritmo de negociação ao vivo. Manter uma grande quantidade de dados na memória diminuirá qualquer CPU, por isso é importante que um algoritmo use apenas uma quantidade mínima de dados e parâmetros, que podem ser armazenados em memória acessível, como o cache L1. Além disso, esses fatores devem refletir o estado atual do mercado e devem ser atualizados em tempo real quando novos pontos de dados são observados. Em resumo, quanto menor for o número de fatores que precisam ser mantidos na memória e quanto mais simples for a computação necessária para atualizar cada fator, mais rápido um algoritmo pode reagir às atualizações do mercado. Com base no requisito de velocidade e na natureza on-line dos problemas de HFT, a classe de algoritmos de uma passagem é especialmente adequada para aplicações HFT. Esses algoritmos recebem um ponto de dados por vez e usam-no para atualizar um conjunto de fatores. Após a atualização, o ponto de dados é descartado e apenas os fatores atualizados são mantidos na memória. Três problemas podem surgir em algoritmos HFT. A primeira é a estimativa de uma média de liquidez que pode ser útil para uma HFT na determinação do tamanho de uma ordem que provavelmente será executada com sucesso em uma troca eletrônica específica. O segundo problema é uma estimativa de volatilidade em execução, que pode ajudar a quantificar o risco de curto prazo de uma posição. O terceiro problema é uma regressão linear correta, que pode ser usada em pares comerciais de ativos relacionados. Cada um desses problemas pode ser resolvido eficientemente usando um algoritmo de passagem única on-line. Neste artigo, recuperamos o desempenho de algoritmos de passagem única em dados de livro de pedidos limitados para ETFs altamente liquidos (fundos negociados em bolsa) e descrevemos como calibrar esses algoritmos na prática. Algoritmos on-line em HFT A única vantagem que a HFT tem sobre outros participantes do mercado é a velocidade de reação. As empresas HFT são capazes de ver todas as ações no marketmdash, ou seja, as informações contidas no livro de pedidos de limite e reagem dentro de microssegundos. Embora alguns algoritmos HFT possam basear suas ações em uma fonte de informações fora do mercado (por exemplo, analisando relatórios de notícias, medindo a temperatura ou avaliando o sentimento do mercado), a maioria baseia suas decisões exclusivamente nas mensagens que chegam ao mercado. Por algumas estimativas, existem aproximadamente 215.000 atualizações de cotações por segundo na Bolsa de Valores de Nova York. 4 O desafio para HFTs é processar esses dados de uma forma que lhes permita tomar decisões, como quando entrar em posições ou reduzir riscos. Os exemplos usados ​​neste artigo supõem que HFTs podem observar todas as atualizações nos melhores preços de lances e pedidos, incluindo os melhores tamanhos de lances e pedidos. Este subconjunto de informações contidas no livro de pedidos limite é muitas vezes referido como a informação do livro de pedidos do Nível I. Os seguintes três exemplos de algoritmos on-line, cada um motivado com um aplicativo em HFT, são descritos em detalhes neste artigo: algoritmo de média de Bull Online. Ilustrado pela construção de um fator que prevê a liquidez disponível, definida como a soma dos tamanhos na melhor oferta e a melhor pergunta, em um horizonte fixo no futuro. Essa quantidade pode ser útil para estimar o tamanho da ordem que provavelmente será executado com as melhores cotações em uma determinada latência. Algoritmo de variância on-line. Ilustrado por construir um fator que predisse a volatilidade realizada em um horizonte fixo no futuro. Essa quantidade pode ser útil para estimar o risco de curto prazo de manter o estoque. Toro Algoritmo de regressão online. Ilustrado por construir um fator que prevê o PNL esperado (lucros e perdas) de uma posição longa e curta em dois ativos relacionados. Isso pode ser útil na construção de um sinal indicando quando uma posição longa e curta provavelmente será lucrativa. Nos três casos, o algoritmo possui um único parâmetro, alfa, que controla a taxa na qual as informações antigas são esquecidas. A Figura 1 traça a medida de liquidez bruta (tamanho do lance mais o tamanho do pedido) em azul. Vermelho e verde representam o fator de liquidez online, com alfa0.9 e alpha0.99, respectivamente. Observe que, à medida que o alfa se aproxima de um valor de 1, o sinal fica mais suave e eficiente rastreia a tendência nos dados subjacentes. A Figura 2 traça a medida de volatilidade online para vários valores de alfa. Mais uma vez, observe que a medida é mais suave para alfa maior. Embora um alfa maior forneça um sinal mais suave, também fica mais atrasado por trás da tendência subjacente, pois dá muito peso aos dados mais antigos. Conforme discutido mais adiante, escolher um valor para o alfa se traduz em uma compensação entre um sinal suave e um atraso reduzido da tendência. Para ilustrar o algoritmo de regressão online, analisamos a série temporal de preços médios para SPY e SSO, dois ETFs altamente relacionados (SSO é a versão dupla alavancada do SPY). Conforme mostrado na figura 3, a relação entre os dois ativos parece muito próxima ao linear ao longo de um dia. A Figura 4 traça a média online e intercepta dois valores de alfa. Algoritmos de passagem única Como indicado pelo seu nome, um algoritmo de uma passagem lê cada variável de entrada exatamente uma vez e depois descarta-a. Este tipo de algoritmo é muito eficiente em termos de gerenciamento de memória, pois requer apenas uma quantidade mínima de dados a serem armazenados na memória. Esta seção apresenta três exemplos importantes de algoritmos de passagem única on-line: a média móvel exponencial, a variância exponencialmente ponderada e a regressão exponencialmente ponderada. A próxima seção descreve a aplicação desses algoritmos para HFT. Primeiro, olhe brevemente a média móvel simples de uma série de tempo. Esta é uma estimativa da média de uma série de tempo em uma janela em movimento de um tamanho fixo. Em finanças, muitas vezes é usado para detectar tendências de preço, em particular, comparando duas médias móveis simples: uma sobre uma janela longa e outra em uma janela curta. Em outro aplicativo, o volume negociado médio nos últimos cinco minutos pode servir como uma previsão do volume comercializado no próximo minuto. Em contraste com a média móvel exponencial, a média móvel simples não pode ser resolvida com um algoritmo de passagem única. Deixe (X t) t X 0, X 1, X 2. Seja a seqüência observada das variáveis ​​de entrada. Em qualquer momento t queremos prever o próximo resultado X t1. Para M gt ​​0 e t ge M. A média móvel simples com tamanho de janela M é definida como a média das últimas observações M na série temporal (X t) t mdash que é,. A média móvel também pode ser calculada através da seguinte recursão: Embora este seja um algoritmo on-line, não é um algoritmo de passagem única, pois precisa acessar cada ponto de dados de entrada exatamente duas vezes: uma vez para adicioná-lo à média móvel e, em seguida, Novamente para descartá-lo da estimativa da média móvel. Esse algoritmo é referido como um algoritmo de duas passagens e requer manter toda a matriz de tamanho M na memória. Exemplo 1: Média ponderada exponencial de uma passagem Em contraste com a média regular, a média ponderada exponencial atribui um peso exponencialmente decrescente às observações mais antigas: Aqui, o alfa é um parâmetro de ponderação escolhido pelo usuário e precisa satisfazer 0 lt alfa 1. Esta média ponderada exponencial dá mais importância a insumos mais recentes em comparação com pontos de dados mais antigos, muitas vezes é considerada uma boa aproximação da média móvel simples. Comparado com a média móvel simples, a média ponderada exponencial leva em conta todos os dados anteriores, e não apenas as últimas observações M. Para comparar a média móvel simples e a média ponderada exponencial, a figura 5 mostra quantos pontos de dados recebem 80, 90, 95, 99 e 99,9 por cento do peso na estimativa em função do alfa. Por exemplo, se alfa 0.95, os últimos pontos de dados observados M 90 contribuem para 99 por cento do valor estimado. Como aviso, se as séries temporais (X t) t tiverem caudas muito pesadas, então a média suavizada exponencial pode ser dominada por uma observação extrema, enquanto que a média móvel é menos propensa às observações extremas, pois estas, eventualmente, abandonam a janela de observação . O reinício freqüente do procedimento de estimativa pode resolver esse efeito de memória a longo prazo de suavização exponencial. O motivo para favorecer a média móvel exponencial sobre a média móvel simples em HFT é que ele pode ser resolvido eficientemente usando um algoritmo de passagem única, inicialmente introduzido em Brown (1956). 3 Esta fórmula também fornece uma interpretação simples do parâmetro alfa como controle de quanto peso é dado à observação mais recente, em comparação com todas as observações anteriores. Exemplo 2: Variância ponderada exponencial de uma passagem O alisamento exponencial descrito na seção anterior estima uma média móvel de uma série de tempo. Em finanças, a volatilidade de uma série temporal também é um fator importante. Em geral, a volatilidade deve capturar o quanto uma série de tempo flutua em torno de sua média. Não existe uma definição amplamente aceita de volatilidade para dados financeiros de alta freqüência. Esta seção considera a volatilidade como o desvio padrão (raiz quadrada da variância) de um ponto de dados na série temporal (X t) t. Semelhante à média móvel ponderada exponencialmente da seção anterior, pode ser construído um algoritmo de passagem única on-line que estima a volatilidade das séries temporais (X t) t com um esquema de ponderação exponencial. A variância de uma variável aleatória é definida como Var (X) E X - E X) 2. A estimativa da variância ponderada exponencial da série temporal requer dois estimadores: um que estima a média EX e uma que estima a variância: o desvio padrão do próximo ponto de medição X t1 é então estimado como. Novamente, o parâmetro de entrada alpha isin (0,1) é escolhido pelo usuário e reflete a quantidade de peso atribuída a pontos de dados mais antigos em comparação com a entrada de dados observada mais recente. Aqui, inicializamos o estimador da variância com 1, que é uma escolha bastante arbitrária. Outra maneira é ter um período inicial de gravação para o qual as séries temporais (X t) t são observadas e um estimador de variância padrão da série durante esta janela de tempo de queima pode ser usado para inicializar o estimador. Claro, um método semelhante pode ser usado para inicializar o estimador do estimador médio exponencialmente ponderado. Exemplo 3: Algoritmo de passagem única para regressão linear ponderada exponencialmente O último exemplo é um algoritmo de passagem única on-line para o modelo de regressão linear ponderada exponencialmente. Este modelo é semelhante à regressão linear comum, mas novamente dá mais importância (de acordo com uma ponderação exponencial) a observações recentes do que a observações mais antigas. Como já mostramos, esses métodos de regressão são muito úteis nas estratégias de HFT para estimar a relação de diferentes recursos, que podem, por exemplo, ser explorados na criação de estratégias de negociação par. Neste modelo, consideramos uma série de tempo bidimensional (X t, Y t) t e conjectura de que as variáveis ​​X e Y estão relacionadas através de uma relação linear corrompida por um termo de ruído epsilon t com média zero. Ou seja, a variável Y é referida como a variável de resposta, enquanto X é chamada de variável explicativa. Por simplicidade, vamos assumir apenas uma variável explicativa aqui, mas a extensão a várias variáveis ​​explicativas é direta. Na abordagem off-line padrão para regressão linear, os parâmetros beta 0 e beta 1 são calibrados após a observação de todos os pontos de dados. Estes pontos de dados são coletados em um vetor Y (Y 0. Y 1. Y t) T e uma matriz A coluna dos na matriz X corresponde à intercepção na equação 3. Se ainda escrevemos os parâmetros beta 0 e beta 1 Como um vectormdash, isto é, beta (beta 0, beta 1) T, enquanto a relação entre Y e X pode ser convenientemente escrita na notação matricial, onde epsilon é um vetor de termos de ruído estocástico e cada um desses termos de erro tem uma média zero. A abordagem mais comum para estimar o parâmetro beta está usando a estimativa de mínimos quadrados ordinários, ou seja, o beta é escolhido de tal forma que ele minimiza a soma dos resíduos quadrados. A solução para este problema de minimização é. Como nas estimativas de variância e média, os pontos de dados mais recentes devem ser mais importantes para a estimativa do parâmetro beta. Além disso, um algoritmo de uma passagem para beta é necessário para uma computação rápida. Em seguida, considere um método recursivo que atualiza o beta sequencialmente e minimiza novamente. O parâmetro alfa precisa estar no intervalo (0,1) e é escolhido pelo usuário. Os parâmetros beta 0 e beta 1 da estimativa dos mínimos quadrados ponderados podem ser calculados com um algoritmo de passagem única eficiente. Em cada etapa do algoritmo, uma matriz 2 vezes 2 M t e um vetor 2 vezes 1 V t precisam ser salvos na memória e atualizados com um novo ponto de dados de acordo com a seguinte recursão: quanto ao estimador médio e variância, a inicialização Da recursão pode ser feito usando um período de queimação. Finalmente, depois do tempo t. A melhor estimativa de beta é. Na literatura, esse método também é chamado de mínimos quadrados recursivos com esquecimento exponencial. 2 Estimativa de Alfa Como se decide o valor ótimo de alfa, um parâmetro de todos esses modelos online. Nossa abordagem para os três modelos é definir uma função de resposta que pretendemos prever e minimizar o erro quadrado entre a resposta ri e Nosso fator fi. Este método encontra o alfa ideal em uma série de tempo histórica. Outra abordagem seria estimar o alfa alfa ideal também. Isso, no entanto, exige mais trabalho e vai além do escopo deste artigo. Agora fornecemos os detalhes dos estimadores on-line descritos e estimamos o alfa ideal em um dado conjunto de dados. 1. O estimador médio de liquidez é definido como onde o índice i representa o tempo de cotação. A resposta é definida como a liquidez em 10 segundos: onde bs i (10) representa o tamanho do lance 10 segundos após a citação i-i. A execução de uma rotina de otimização sobre o alfa mostra que o alfa ideal para os dados dados é 0.97, exibido na figura 6 como um gráfico de dispersão do fator e a resposta. 2. O estimador de volatilidade é definido como onde o índice i representa o tempo real em segundos. A resposta é definida como a volatilidade realizada ao longo do próximo minuto. Novamente, a busca por diferentes valores de alfa produz um alfa ótimo de 0.985 para o dado conjunto de dados. A Figura 7 exibe um gráfico de dispersão do fator e a resposta. 3. O estimador de regressão de negociação de pares é definido como onde o índice i representa o tempo de cotação. O fator representa o valor de SPY em relação a SSOmdash, isto é, se a quantidade é positiva, então SPY é relativamente barato e um comércio que é longo SPY provavelmente será lucrativo. A resposta é definida como o PNL ao longo do próximo minuto de um comércio que é uma longa parcela de SPY e baixas ações beta do SSO: onde representa o preço de SPY 60 segundos depois. A resposta r i representa o PNL da seguinte estratégia long-short: Compre 1 ação da SPY e venda ações beta do SSO no instante I. Saia da posição após 60 segundos. No conjunto de dados analisados, o alfa ideal resulta ser 0.996. A Figura 8 é um gráfico de dispersão do fator e a resposta. Conclusão Os algoritmos one-pass on-line são fundamentais no comércio de alta freqüência, onde eles recebem grandes quantidades de dados em cada microssegundo e devem ser capazes de atuar de forma extremamente rápida nos dados recebidos. Este artigo abordou três problemas que enfrentam os algoritmos HFT: a estimativa de uma média de liquidez corrente, que pode ser útil para determinar o tamanho de uma ordem que provavelmente será executada com sucesso em uma troca eletrônica específica, uma estimativa de volatilidade em execução, o que pode ajudar Quantificar o risco de curto prazo de uma posição e uma regressão linear correta, que pode ser usada em pares comerciais de ativos relacionados. Os algoritmos one-pass on-line podem ajudar a resolver cada um desses problemas. Referências 1. Albers, S. 2003. Algoritmos on-line: uma pesquisa. Programação matemática 97 (1-2): 3-26. 2. Astrom, A. Wittenmark, B. 1994. Controle adaptativo, segunda edição. Addison Wesley. 3. Brown, R. G. 1956. Suavização exponencial para Previsão de Demanda. Arthur D. Little Inc. p. 15 AME-LHE, DEIE NÓS SABEMOS JACOB LOVELESS é o CEO da Lucera e ex-chefe da High Frequency Trading para Cantor Fitzgerald. O Sr. Loveless trabalhou para grupos comerciais de alta freqüência e trocas nos últimos 10 anos em quase todos os ativos eletrônicos. Antes de uma vida nas finanças, o Sr. Loveless era um contratante especial para o Departamento de Defesa dos EUA com foco na análise heurística sobre coisas que não podem ser discutidas. Antes disso, ele era o CTO e um dos fundadores da Data Scientific, um pioneiro na análise de sistemas distribuídos. SASHA STOIKOV é um associado de pesquisa sênior da Cornell Financial Engineering Manhattan (CFEM) e ex-vice-presidente do grupo de negociação de alta freqüência no Cantor Fitzgerald. Ele trabalhou como consultor no Galleon Group e Morgan Stanley e foi instrutor no Courant Institute da NYU e no departamento de Columbias IEOR. Ele possui um Ph. D. Da Universidade do Texas e um BS do MIT. ROLF WAEBER é um associado de pesquisa quantitativa da Lucera e anteriormente atuou como pesquisador quantitativo no Grupo Cantor Fitzgeralds High Frequency Trading. Ele participou de estudos sobre ajustes de risco de liquidez dentro dos quadros de regulamentação Basileia IIIII no Deutsche Bundesbank. Rolf ganhou seu Ph. D. Em Engenharia de Pesquisa e Informação da Universidade de Cornell em 2013. Ele possui um BS e um MS em Matemática da ETH Zurich, Suíça. Copiar 2013 ACM 1542-7730130800 10,00 Originalmente publicado em Queue vol. 11, não. 8 8212 veja este item na Biblioteca Digital ACM Ivar Jacobson, Ian Spence, Ed Seidewitz - Industrial Scale Agile - de Craft para Engineering Essence é fundamental para mover o desenvolvimento de software para uma verdadeira disciplina de engenharia. Andre Medeiros - Dinâmica da mudança: por que a reatividade domina a dinâmica da mudança centralizando cada preocupação em seu próprio módulo. Brendan Gregg - The Flame Graph Esta visualização da execução do software é uma nova necessidade para perfis de desempenho e depuração. Ivar Jacobson, Ian Spence, Brian Kerr - Use-Case 2.0 O Hub of Software Development você também troca Fri, 05 de agosto de 2016 19:07:59 UTC se você também estiver interessado em se juntar a você Brandon Sun, 08 de maio de 2016 21 : 39: 10 UTC Estou atualmente preso calculando os estimadores de média e variação usados ​​para calcular beta. O artigo diz que, em cada etapa do algoritmo, uma matriz de matriz 2 2 e um vetor 2 Vt precisam ser salvos na memória e atualizados com um novo ponto de dados de acordo com a seguinte recursão. Quanto ao estimador de média e variância, a inicialização da recursão pode ser feita usando um período de queima. O problema que estou tendo é que não tenho certeza de quais valores os parâmetros M e V devem ser inicializados para usar um período de queimação. Não tenho certeza de quais valores a matriz 2x2 ou o vetor 2x1 devem ser. Mperez Fri, 08 Jan 2016 21:47:19 UTC Por que, ao medir a volatilidade, eles calculam o desvio padrão em vez de apenas usar a variância. Eles perdem tempo enquanto calculam a raiz quadrada. Xxx Seg, 21 Out 2013 07:48:57 UTC Nome do Autor, Loveless. Tai diao le copy 2016 ACM, Inc. Todos os direitos reservados.6.2 Médias móveis ma 40 elecsales, ordem 5 41 Na segunda coluna desta tabela, uma média móvel da ordem 5 é mostrada, fornecendo uma estimativa do ciclo da tendência. O primeiro valor nesta coluna é a média das cinco primeiras observações (1989-1993), o segundo valor na coluna 5-MA é a média dos valores 1990-1994 e assim por diante. Cada valor na coluna 5-MA é a média das observações no período de cinco anos centrado no ano correspondente. Não há valores nos dois primeiros anos ou nos últimos dois anos porque não temos duas observações em ambos os lados. Na fórmula acima, a coluna 5-MA contém os valores de chapéu com k2. Para ver como se parece a estimativa do ciclo de tendência, nós o traçamos juntamente com os dados originais na Figura 6.7. Planilha 40 elesales, quot principal de vendas de eletricidade residencial, ylab quotGWhot. Xlab quotYearquot 41 linhas 40 ma 40 elecsales, 5 41. col quotredquot 41 Observe como a tendência (em vermelho) é mais suave que os dados originais e captura o movimento principal das séries temporais sem todas as pequenas flutuações. O método de média móvel não permite estimativas de T onde t é próximo das extremidades da série, portanto, a linha vermelha não se estende às bordas do gráfico de cada lado. Mais tarde, usaremos métodos mais sofisticados de estimativa do ciclo de tendência que permitem estimativas próximas aos pontos finais. A ordem da média móvel determina a suavidade da estimativa do ciclo da tendência. Em geral, uma ordem maior significa uma curva mais suave. O gráfico a seguir mostra o efeito de alterar a ordem da média móvel para os dados residenciais de vendas de eletricidade. As médias móveis simples, como estas, geralmente são de ordem ímpar (por exemplo, 3, 5, 7, etc.). É assim que são simétricas: em uma média móvel da ordem m2k1, há k observações anteriores, k observações posteriores e a observação do meio Que estão em média. Mas se eu fosse igual, não seria mais simétrico. Médias móveis das médias móveis É possível aplicar uma média móvel a uma média móvel. Um dos motivos para isso é fazer uma média móvel em ordem uniforme simétrica. Por exemplo, podemos tomar uma média móvel da ordem 4 e, em seguida, aplicar outra média móvel da ordem 2 aos resultados. Na Tabela 6.2, isso foi feito nos primeiros anos dos dados de produção de cerveja trimestral australiana. Beer2 lt - window 40 ausbeer, começar 1992 41 ma4 lt-ma 40 beer2, order 4. center FALSE 41 ma2x4 lt-ma 40 beer2, order 4. center TRUE 41 A notação 2times4-MA na última coluna significa 4-MA Seguido por um 2-MA. Os valores na última coluna são obtidos tomando uma média móvel da ordem 2 dos valores na coluna anterior. Por exemplo, os dois primeiros valores na coluna 4-MA são 451.2 (443410420532) 4 e 448.8 (410420532433) 4. O primeiro valor na coluna 2times4-MA é a média desses dois: 450.0 (451.2448.8) 2. Quando um 2-MA segue uma média móvel de ordem par (como 4), é chamado de média móvel centrada da ordem 4. Isso ocorre porque os resultados agora são simétricos. Para ver que este é o caso, podemos escrever o 2times4-MA da seguinte forma: comece o amplificador de amplificação. Bigfrac (y y y y) frac (y y y y) Grande amplificação fractura fractura fratão frac14y frac14y frac18y. Fim É agora uma média ponderada de observações, mas é simétrico. Outras combinações de médias móveis também são possíveis. Por exemplo, um 3x3-MA é freqüentemente usado e consiste em uma média móvel da ordem 3, seguida de outra média móvel da ordem 3. Em geral, uma ordem final MA deve ser seguida por uma ordem final MA para torná-la simétrica. Da mesma forma, uma ordem ímpar MA deve ser seguida por uma ordem ímpar MA. Estimando o ciclo de tendência com dados sazonais O uso mais comum de médias móveis centradas é estimar o ciclo de tendência a partir de dados sazonais. Considere o 2x4-MA: fractura de fractura e fractura fratura de fractura. Quando aplicado a dados trimestrais, cada trimestre do ano recebe peso igual à medida que o primeiro e o último termos se aplicam ao mesmo trimestre em anos consecutivos. Consequentemente, a variação sazonal será promediada e os valores resultantes do chapéu t terão pouca ou nenhuma variação sazonal restante. Um efeito semelhante seria obtido usando um 2x 8-MA ou um 2x 12-MA. Em geral, 2 vezes m-MA é equivalente a uma média móvel ponderada da ordem m1 com todas as observações tomando peso 1m, exceto para os primeiros e últimos termos que tomam pesos 1 (2m). Então, se o período sazonal é igual e de ordem m, use um 2-m-MA para estimar o ciclo da tendência. Se o período sazonal for estranho e de ordem m, use um m-MA para estimar o ciclo de tendências. Em particular, um 2x 12-MA pode ser usado para estimar o ciclo de tendência dos dados mensais e um 7-MA pode ser usado para estimar o ciclo de tendência dos dados diários. Outras opções para a ordem do MA geralmente resultarão em estimativas do ciclo de tendência sendo contaminadas pela sazonalidade nos dados. Exemplo 6.2 Fabricação de equipamentos elétricos A Figura 6.9 mostra um 2x12-MA aplicado ao índice de pedidos de equipamentos elétricos. Observe que a linha suave mostra nenhuma sazonalidade é quase o mesmo que o ciclo de tendência mostrado na Figura 6.2, que foi estimado usando um método muito mais sofisticado do que as médias móveis. Qualquer outra escolha para a ordem da média móvel (exceto 24, 36, etc.) teria resultado em uma linha suave que mostra algumas flutuações sazonais. Lote 40 elecequip, ylab quotNome ordem de pedidos. Quotgrayquot quotgrayquot principal quotEquipamento de equipamentos elétricos (área do euro) 41 linhas 40 ma 40 elecequip, ordem 12 41. col quotredquot 41 médias móveis ponderadas As combinações de médias móveis resultam em médias móveis ponderadas. Por exemplo, o 2x4-MA discutido acima é equivalente a um 5-MA ponderado com pesos dados por frac, frac, frac, frac, frac. Em geral, um m-MA ponderado pode ser escrito como hat t sum k aj y, onde k (m-1) 2 e os pesos são dados por a, pontos, ak. É importante que todos os pesos somem para um e que sejam simétricos para que aj. O m-MA simples é um caso especial em que todos os pesos são iguais a 1m. Uma grande vantagem das médias móveis ponderadas é que eles produzem uma estimativa mais suave do ciclo da tendência. Em vez das observações que entram e saem do cálculo em peso total, seus pesos aumentam lentamente e diminuem lentamente resultando em uma curva mais suave. Alguns conjuntos específicos de pesos são amplamente utilizados. Alguns destes são apresentados na Tabela 6.3.

No comments:

Post a Comment