Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Provavelmente, o melhor neste caso é encontrar a média aritmética de todos os X[i], subtraí-la dos próprios valores, calcular os coeficientes de regressão e corrigi-los novamente. Em princípio, nada impede que você faça o mesmo com Y[i]. Mas eu não tentei encontrar a fórmula, embora obviamente não seja difícil. Há obviamente algum truque com matrizes fracamente condicionadas.
P.S. Você também pode normalizar as séries de dados para aproximadamente a mesma ordem.
Provavelmente, o melhor neste caso é encontrar a média aritmética de todos os X[i], subtraí-la dos próprios valores, calcular os coeficientes de regressão e corrigi-los novamente. Em princípio, nada impede que você faça o mesmo com Y[i]. Mas eu não tentei encontrar a fórmula, embora obviamente não seja difícil. Há obviamente algum truque com matrizes fracamente condicionadas.
P.S. Você também pode normalizar as séries de dados para aproximadamente a mesma ordem.
E eu tenho e sugeri através do MOJ. Fórmula direta, sem necessidade de correção.
Agora você também pode colocar o ACF na base de código. Verificado novamente, tudo coincide com uma precisão de 8 caracteres, mas é mais provável que isso se deva à entrada nos valores do arquivo de ACF calculados em MQL.
Sergei, eu já tropecei nisto alguns anos atrás quando estava escrevendo meu LR. A saída é simples - ouça a recomendação do Candidato. A única coisa que eu especificaria nesta recomendação é subtrair não o Tempo [Bars-1], mas o tempo do primeiro valor X[]. Em primeiro lugar, ele torna o código de procedimento universal desde que o X de início é movido dentro do procedimento. Em segundo lugar, se houver muitas barras no gráfico (3 anos são 1000000 minutos, ou seja, 60000000 segundos), então, subtrair o tempo da primeira barra no gráfico não mudará fundamentalmente a situação. Em terceiro lugar, você poderá voltar a suas fórmulas originais sem nenhum MOs, o que significa que você será capaz de remover a repetição de ciclos, mantendo a precisão.
Mais uma coisa. Notei que seu X[] é a hora da ata. Ou seja, os X estão dispostos de forma equidistante. O que significa que você pode fugir completamente do tempo e usar o número da barra. Se você fizer esta transição, tudo será contado com precisão e rapidez. Você pode verificar. Isto também é preferível do ponto de vista de que seu LR trabalhará o mesmo em M1 e D1 (imagine como os valores X em D1 serão diferentes se for Tempo, e não número de barras).
Sergei...
Obrigado. Experimentei tudo.
Eu acabei de expor minha versão do cálculo, talvez alguém o considere útil. Eu não preciso mover nada. Não me sinto confortável em mudar X para 0. Eu uso esta função para calcular ACF, ela deve ser limitada no tempo (há algumas dependências).
Em geral, não há necessidade de mover o próprio X para o ponto 0. Para isso, é suficiente utilizar uma matriz interna deslocada por X[1] na função LR em vez do próprio X. Você pode até mesmo prescindir de uma matriz - basta subtrair o valor de X[1] no momento em que as somas são calculadas.
A propósito, se você tentou, isso não ajudou?
Em geral, não há necessidade de mover o próprio X para o ponto 0. Para isso, é suficiente utilizar uma matriz interna deslocada por X[1] na função LR em vez do próprio X. Você pode até mesmo prescindir de uma matriz - basta subtrair o valor de X[1] no momento em que as somas são calculadas.
A propósito, se você tentou, será que funcionou?
Eu tentei e parece funcionar. Mas existe uma nuança. Se o algoritmo der tal erro para um conjunto de 6 números, não temos nenhuma garantia de que o erro não se acumulará mesmo com uma compensação. A matriz com a qual eu trabalho é 7200 (minutos). Foi por isso que encontrei este algoritmo, e ele funciona corretamente. Eu tive que desistir do outro, porque não confio mais nele.
>> Eu não preciso de turnos.
Não há problema, Sergei, use o que você quiser. Quero apenas chamar sua atenção para um pequeno detalhe.
Como você certamente entende, o MO está entre o máximo e o mínimo para qualquer fila. Seu código na verdade significa mover a origem para [mo_X, mo_Y]. E para fazer isso, você percorre todos os seus 7200 valores. E então você subtrai, enquanto calcula as somas, as coordenadas do ponto zero das coordenadas da linha. Você pode também tomar qualquer ponto em uma série [Xm, Ym] como origem e realizar o cálculo do segundo ciclo, substituindo [mo_X, mo_Y] por [Xm, Ym].
O parâmetro A de uma regressão linear é invariante no que diz respeito às transferências de origem. MO não tem nada a ver com isso.
Você pode verificar este fato em 3 minutos no papel.
É por isso que o ciclo de cálculo de RI é desnecessário. Só precisamos trazer os valores de X e Y para fechar os pedidos.
Se o algoritmo der tal erro para um conjunto de 6 números, não há garantia de que o erro não se acumulará mesmo com uma compensação.
A questão aqui não é o número de números, mas o fato de que em cada um desses 6 se encontra como um aditivo permanente (inútil) 1216600000. Ela simplesmente não contém qualquer informação. Mas são 10 dígitos significativos. Que sejam 9, o último 0 não é informativo porque todos os 6 também estão presentes. Ao quadrado, este lixo irá bloquear 17 dígitos significativos da mantissa. E são apenas 15. Ou seja, ele despejará os dígitos mais baixos (pelo banheiro). Entretanto, são estes dígitos descartados que contêm as informações necessárias (eles contêm parte das informações sobre o componente variável X).
Então eu não inventei esta fórmula. Está nos livros. E dessa fórmula, que utiliza quadrados, esta é derivada (sem quadrados). Basta sentar-se com um lápis. Quando chegar ao scanner, postarei uma página de Tikhonov V.I. "Statistical Radio Engineering" p.446.