Aqui dos comentários sobre o link da hrenfx 22.03.2011 00:43 gostou:
há uma correlação! :) isso não significa que uma seja conseqüência da outra. mas os fenômenos estão relacionados. (e então se pode começar a inventar explicações). mas não é essa a questão. A questão é que, em alguma perspectiva, é possível prever a relação de um com o outro. até certo ponto. ) é claro, uma compreensão clara do mecanismo da conexão permitirá prever quando a conexão terminará. mas... mas também apenas analisando constantemente a correlação - é possível prever quando ela terminará. )
Eu concordo em parte, mas de forma alguma com tudo. Se você quiser ter uma discussão substantiva sobre o assunto que levantou, primeiro terá que ler alguns de meus posts revelando minha opinião sobre o assunto. Tive que me repetir muito, por isso não vou mais fazer isso. Acabei de lhe enviar dois links para minhas mensagens via PM.
Em minha pesquisa, eu precisava avaliar qualitativamente a relação entre as séries, então decidi usar o coeficiente de correlação. As conclusões são decepcionantes - os métodos que as estatísticas clássicas sugerem utilizar são praticamente inúteis para encontrar relações não óbvias entre as séries. Por exemplo, tomemos um gráfico semanal de futuros de ouro e seu Open Interest:
Obviamente, existe uma correlação direta. Sim, não é muito forte e óbvio, mas quando o preço do ouro sobe, o valor de Open Interest dos futuros de ouro é maior, quando cai - menor.
Mais tarde, encontraremos os coeficientes de correlação entre o preço do ouro e seu OI. Mas antes, vamos considerar a fórmula de correlação Pearson mais comum:
Se você olhar com atenção, fica claro que a fórmula detrai os dados (x - x mediana), alinha as volatilidades por desvio padrão em toda a amostra, e então conta quanto tempo, ambas as séries estiveram na mesma direção. Obviamente, o cálculo requer as primeiras diferenças do formulário I(0), porque no caso do I(1) estamos diante de uma emboscada, porque as séries que estamos lidando são sempre positivas (o preço é sempre maior que zero), mas sobre isso também mais tarde.
Correlação Pearson: 0,02234314
Correlação Kendel: 0,002866038
Correlação Spearman: 0,00202046104
Ou seja, na verdade, não foi encontrada nenhuma correlação em todos os casos. Mas e os nossos olhos aguçados? Estamos imaginando tudo isso? E a correlação entre ouro e Open Interest é a mesma que a correlação entre as importações de bananas do Marrocos e a taxa de natalidade do país?
Talvez a razão seja o atraso de um indicador em relação ao outro. Os atrasos simplesmente não correspondem. E se o OI subir primeiro e só então o ouro o faz? - Oh, então poderia haver dinheiro a ser ganho com isso :) Vamos testar a idéia com uma função de correlação cruzada:
Um pouco pouco pouco convincente. Há cerca de dois valores que se destacam da amostra, em geral e aqui o quadro é como se não houvesse relação e, portanto, o atraso não tem nenhum papel.
OK. Vamos então tentar calcular a correlação na série I(1). Quem disse que isso não deveria ser feito em nenhum caso? Que haja uma superestimação do resultado - mas é melhor uma superestimação do que nenhum resultado. Para este fim, foi realizada uma experiência, vamos gerar 100 BPs e calcular a matriz de correlação para eles. O valor médio mostrará o quanto a estimativa será superestimada, e simplesmente ao trabalhar na série I(1), vamos levar isso em conta, ou não?
Aqui está um roteiro em R que faz tudo isso:
#
# corexp - эксперимент выявляющий особенности корреляционных функций при работе с I(1) рядами
# exp - количество экспериментов
# lenght - длинна каждой серии
# cortype - тип корреляции (pearson - КК Пирсона, kendall - КК Кендалла, spearman - КК Спирмана)
# retrange - Истина, если требуется сгенерировать I(1) ряды
#
corexp <- function(exp = 10, lenght = 1000, cortype = 'pearson', retrange = TRUE)
{
bp <- matrix(ncol = exp, nrow = lenght)
for(i in1:exp)
{
bp[,i] <- rnorm(lenght, mean = 0.000117, sd = 0.0048)
if(retrange == FALSE)
bp[,i] <- cumsum(bp[,i])
}
#Рассчитываем матрицу корреляций
mcor <- matrix(ncol=exp, nrow=exp)
for(k in1:exp)
{
for(i in1:exp)
{
mcor[k,i] <- cor(bp[,k], bp[,i], method = cortype)
}
}
return(mcor)
}
# Статистика корреляций
# При желании считаем здесь все что угодно
corstat <- function(m)
{
m[m == 1] <- NaN
mean(m, na.rm = TRUE)
}
Vejamos, na verdade, este "mau": 0,153359. Parece ótimo - é superestimado em tão pouco quanto 15%. Mas há outra armadilha. Analisamos a distribuição da matriz de correlação:
O valor médio neste caso não é definido de forma alguma, ou melhor, qualquer valor de correlação é tão freqüente quanto qualquer outro valor. Tudo se resume ao viés positivo de nossa BP, que é definido pelo parâmetro destacado em negrito. Afinal, todos os preços com os quais lidamos têm valores positivos, ou seja, estão na zona positiva.
1. Como você pode ver, a série I(1) não pode ser usada de forma alguma. Para séries cujo relacionamento não é óbvio e não é rigidamente funcional, os coeficientes de correlação são absolutamente inúteis.
2. A escolha de uma determinada implementação de um coeficiente de correlação não afeta fundamentalmente nada. Nenhum dos três coeficientes comuns foi capaz de revelar a relação entre o ouro e seu interesse aberto, embora seja óbvio que tal relação existe.
Aqui dos comentários sobre o link da hrenfx 22.03.2011 00:43 gostou:
há uma correlação! :)
isso não significa que uma seja conseqüência da outra.
mas os fenômenos estão relacionados.
(e então se pode começar a inventar explicações).
mas não é essa a questão.
A questão é que, em alguma perspectiva, é possível prever a relação de um com o outro. até certo ponto. )
é claro, uma compreensão clara do mecanismo da conexão permitirá prever quando a conexão terminará.
mas...
mas também apenas analisando constantemente a correlação - é possível prever quando ela terminará. )
Eu concordo em parte, mas de forma alguma com tudo. Se você quiser ter uma discussão substantiva sobre o assunto que levantou, primeiro terá que ler alguns de meus posts revelando minha opinião sobre o assunto. Tive que me repetir muito, por isso não vou mais fazer isso. Acabei de lhe enviar dois links para minhas mensagens via PM.
Boa tarde, tenho seguido seus fios e estou interessado em sua lógica,
Tenho uma pergunta - você tentou reescrever o indicador de correlação de recycle2 para mt5?
Em minha pesquisa, eu precisava avaliar qualitativamente a relação entre as séries, então decidi usar o coeficiente de correlação. As conclusões são decepcionantes - os métodos que as estatísticas clássicas sugerem utilizar são praticamente inúteis para encontrar relações não óbvias entre as séries. Por exemplo, tomemos um gráfico semanal de futuros de ouro e seu Open Interest:
Obviamente, existe uma correlação direta. Sim, não é muito forte e óbvio, mas quando o preço do ouro sobe, o valor de Open Interest dos futuros de ouro é maior, quando cai - menor.
Mais tarde, encontraremos os coeficientes de correlação entre o preço do ouro e seu OI. Mas antes, vamos considerar a fórmula de correlação Pearson mais comum:
Se você olhar com atenção, fica claro que a fórmula detrai os dados (x - x mediana), alinha as volatilidades por desvio padrão em toda a amostra, e então conta quanto tempo, ambas as séries estiveram na mesma direção. Obviamente, o cálculo requer as primeiras diferenças do formulário I(0), porque no caso do I(1) estamos diante de uma emboscada, porque as séries que estamos lidando são sempre positivas (o preço é sempre maior que zero), mas sobre isso também mais tarde.
Correlação Pearson: 0,02234314
Correlação Kendel: 0,002866038
Correlação Spearman: 0,00202046104
Ou seja, na verdade, não foi encontrada nenhuma correlação em todos os casos. Mas e os nossos olhos aguçados? Estamos imaginando tudo isso? E a correlação entre ouro e Open Interest é a mesma que a correlação entre as importações de bananas do Marrocos e a taxa de natalidade do país?
Talvez a razão seja o atraso de um indicador em relação ao outro. Os atrasos simplesmente não correspondem. E se o OI subir primeiro e só então o ouro o faz? - Oh, então poderia haver dinheiro a ser ganho com isso :) Vamos testar a idéia com uma função de correlação cruzada:
Um pouco pouco pouco convincente. Há cerca de dois valores que se destacam da amostra, em geral e aqui o quadro é como se não houvesse relação e, portanto, o atraso não tem nenhum papel.
OK. Vamos então tentar calcular a correlação na série I(1). Quem disse que isso não deveria ser feito em nenhum caso? Que haja uma superestimação do resultado - mas é melhor uma superestimação do que nenhum resultado. Para este fim, foi realizada uma experiência, vamos gerar 100 BPs e calcular a matriz de correlação para eles. O valor médio mostrará o quanto a estimativa será superestimada, e simplesmente ao trabalhar na série I(1), vamos levar isso em conta, ou não?
Aqui está um roteiro em R que faz tudo isso:
Vejamos, na verdade, este "mau": 0,153359. Parece ótimo - é superestimado em tão pouco quanto 15%. Mas há outra armadilha. Analisamos a distribuição da matriz de correlação:
O valor médio neste caso não é definido de forma alguma, ou melhor, qualquer valor de correlação é tão freqüente quanto qualquer outro valor. Tudo se resume ao viés positivo de nossa BP, que é definido pelo parâmetro destacado em negrito. Afinal, todos os preços com os quais lidamos têm valores positivos, ou seja, estão na zona positiva.
1. Como você pode ver, a série I(1) não pode ser usada de forma alguma. Para séries cujo relacionamento não é óbvio e não é rigidamente funcional, os coeficientes de correlação são absolutamente inúteis.
2. A escolha de uma determinada implementação de um coeficiente de correlação não afeta fundamentalmente nada. Nenhum dos três coeficientes comuns foi capaz de revelar a relação entre o ouro e seu interesse aberto, embora seja óbvio que tal relação existe.
Correlação Pearson: 0,02234314
Correlação Kendel: 0,002866038
Correlação Spearman: 0,00202046104
As filas originais não são salvas. Aqui está uma das gerações no formato CSV.