Múltiplas análises de regressão. Gerador de estratégia e testador em um.
Introdução.
Um conhecido meu quando participou de um curso de negociação Forex, uma vez que recebeu uma tarefa para desenvolver um sistema de negociação. Depois de ter problemas com isso por cerca de uma semana, ele disse que essa tarefa provavelmente era mais difícil do que escrever uma tese. Foi então que eu sugeri usar a análise de regressão múltipla. Como resultado, um sistema comercial desenvolvido a partir do zero durante a noite foi aprovado com sucesso pelo examinador.
O sucesso da utilização da regressão múltipla é a capacidade de encontrar rapidamente relações entre indicadores e preços. Os relacionamentos detectados permitem prever o valor do preço com base nos valores dos indicadores com um certo grau de probabilidade. O software estatístico moderno permite simultaneamente filtrar milhares de parâmetros ao tentar encontrar essas relações. Isso pode ser comparado ao ouro revelador industrial de cascalho.
Uma estratégia pronta para usar, bem como um gerador de estratégia, será desenvolvida ao carregar os dados do indicador na análise de regressão múltipla e na aplicação de manipulação de dados, respectivamente.
Este artigo irá demonstrar o processo de criação de uma estratégia comercial usando a análise de regressão múltipla.
1. Desenvolvendo um Robotrader - Piece of Cake!
A espinha dorsal do sistema comercial desenvolvido durante a noite como mencionado anteriormente era uma única equação:
onde se Reg & gt; 0, então nós compramos, e se Reg & lt; 0, nós vendemos.
A equação foi resultado da análise de regressão múltipla que usou a amostra de dados de indicadores padrão. Uma EA foi desenvolvida com base na equação. A parte do código responsável pelas decisões de negociação praticamente consistia apenas em 15 linhas. A EA com um código fonte completo está anexada (R_check).
A amostra de dados para a análise de regressão foi coletada em EURUSD H1 em dois meses, de 1º de julho de 2018 a 31 de agosto de 2018.
A Fig. 1 mostra os resultados de desempenho da EA durante o período de dados para o qual foi desenvolvido. É peculiar que o superprofit, que é frequentemente o caso no testador, não foi observado nos dados de treinamento. Deve ser um sinal de falta de re-optimização.
Fig. 1. Desempenho de EA durante o período de treinamento.
A Fig. 2 demonstra os resultados de desempenho de EA nos dados do teste (de 1 de setembro a 1º de novembro de 2018). Parece que os dados de dois meses eram suficientes para que a EA continuasse rentável por mais dois meses. Dito isto, o lucro obtido pela EA durante o período de teste foi o mesmo que durante o período de treinamento.
Fig. 2. Desempenho EA durante o período de teste.
Assim, com base na análise de regressão múltipla, uma EA bastante simples foi desenvolvida produzindo lucros além dos dados de treinamento. A análise de regressão pode, portanto, ser aplicada com sucesso ao construir sistemas de negociação.
No entanto, os recursos da análise de regressão não devem ser superestimados. Suas vantagens e desvantagens serão apresentadas abaixo.
2. Análise de Regressão Múltipla.
O propósito geral da regressão múltipla é a análise da relação entre várias variáveis independentes e uma variável dependente. No nosso caso, é a análise da relação entre valores de indicadores e movimento de preços.
Na sua forma mais simples, esta equação pode aparecer da seguinte maneira:
Mudança de preço = a * RSI + b * MACD + с.
Uma equação de regressão só pode ser gerada se houver uma correlação entre variáveis independentes e uma variável dependente. Uma vez que os valores dos indicadores estão, em geral, inter-relacionados, o contributo dos indicadores para a previsão pode variar sensivelmente se um indicador for adicionado ou removido da análise. Observe que uma equação de regressão é uma mera demonstração da dependência numérica e não uma descrição das relações causais. Coeficientes (a, b) indicam a contribuição feita por cada variável independente para sua relação com uma variável dependente.
Uma equação de regressão representa uma dependência ideal entre as variáveis. Isso é, no entanto, impossível no Forex e a previsão sempre será diferente da realidade. A diferença entre o valor previsto e o valor observado é chamado de residual. A análise dos resíduos permite identificar, inter alia, uma dependência não linear entre o indicador e o preço. No nosso caso, assumimos que existe apenas dependência não linear entre indicadores e preço. Felizmente, a análise de regressão não é afetada por pequenos desvios de linearidade.
Só pode ser usado para analisar parâmetros quantitativos. Os parâmetros qualitativos que não possuem valores de transição não são adequados para a análise.
O fato de que a análise de regressão pode processar qualquer número de parâmetros pode levar à tentação de incluir na análise o maior número possível de eles. Mas se o número de parâmetros independentes for maior do que o número de observações de sua interação com um parâmetro dependente, há uma ótima chance de obter equações produzindo boas previsões, porém, com base em flutuações aleatórias.
O número de observações deve ser 10-20 vezes maior do que o número de parâmetros independentes.
No nosso caso, o número de indicadores contidos na amostra de dados deve ser 10-20 vezes maior que o número de negócios em nossa amostra. A equação gerada será considerada confiável. A amostra com base na qual o Robotrader, conforme descrito na seção 1, foi desenvolvida, continha 33 parâmetros e 836 observações. Como resultado, o número de parâmetros foi 25 vezes maior do que o número de observações. Este requisito é uma regra geral nas estatísticas. Também é aplicável ao otimizador MetaTrader 5 Strategy Tester.
Além disso, cada valor dado do indicador no otimizador é de fato um parâmetro separado. Em outras palavras, ao testar 10 valores de indicadores, estamos lidando com 10 parâmetros independentes que devem ser levados em consideração para evitar a re-optimização. Um relatório do otimizador provavelmente deve incluir outro parâmetro: número médio de trades / número de valores de todos os parâmetros otimizados. Se o valor do indicador for inferior a dez, as chances são de que a re-optimização será necessária.
Outra coisa a ser considerada é outliers. Eventos raros ainda poderosos (nos picos de preço do nosso caso) podem adicionar dependências falsas à equação. Por exemplo, seguindo as notícias inesperadas, o mercado respondeu com movimentos substanciais que duraram algumas horas. Os valores dos indicadores técnicos, neste caso, seriam de pouca importância na previsão, eles seriam considerados altamente significativos na análise de regressão, pois houve uma marcada mudança de preço. Por conseguinte, é aconselhável filtrar os dados da amostra ou verificá-lo para possíveis valores anormais.
3. Criando sua própria estratégia.
Nós abordamos a parte chave onde veremos como gerar uma equação de regressão com base em seus próprios dados. A implementação da análise de regressão é semelhante à da análise discriminante estabelecida anteriormente. A análise de regressão inclui:
Preparação de dados para a análise; Seleção das melhores variáveis a partir dos dados preparados; Obtendo uma equação de regressão.
A análise de regressão múltipla faz parte de numerosos produtos de software avançados destinados à análise de dados estatísticos. Os mais populares são Statistica (por StatSoft Inc.) e SPSS (pela IBM Corporation). Vamos considerar ainda mais a aplicação da análise de regressão usando Statistica 8.0.
3.1. Preparação de dados para a análise.
Devemos gerar uma equação de regressão onde o comportamento do preço na próxima barra pode ser previsto com base nos valores dos indicadores na barra atual.
A mesma EA que foi usada para a preparação de dados de análise discriminante será usada para coletar dados. Nós expandiremos sua funcionalidade adicionando uma função para salvar valores de indicadores com outros períodos. Um conjunto extenso de parâmetros será usado para otimização de estratégia com base na análise dos mesmos indicadores, mas com diferentes períodos.
Para carregar dados na Statistica, você deve ter um arquivo CSV com uma estrutura a seguir. As variáveis devem ser organizadas em colunas onde cada coluna corresponde a um determinado indicador. As linhas devem conter medições consecutivas (casos), ou seja, valores de indicadores para certas barras. Em outras palavras, os cabeçalhos de tabela horizontal contêm indicadores, os cabeçalhos de tabela verticais contêm barras consecutivas.
Os indicadores a serem analisados são:
Toda linha de dados do nosso arquivo conterá:
Alterações no preço na barra entre abrir e fechar; Valores dos indicadores observados na barra anterior.
Assim, geraremos uma equação descrevendo o comportamento futuro do preço com base nos valores dos indicadores conhecidos.
Além do valor do indicador absoluto, precisamos salvar a diferença entre os valores absoluto e anterior para ver a direção da mudança nos indicadores. Os nomes de tais variáveis no exemplo fornecido terão prefixo 'd'. Para indicadores de linha de sinal, é necessário salvar a diferença entre a linha principal e de sinal, bem como sua dinâmica. O nome dos dados coletados por indicadores com outros períodos termina com '_p'.
Para demonstrar a otimização, apenas um período foi adicionado, sendo o dobro do período padrão do indicador. Além disso, economize o tempo da nova barra e o valor da hora relevante. Salve a diferença entre Abrir e Fechar para a barra onde os indicadores são calculados. Isso será necessário para filtrar outliers. Como resultado, 33 parâmetros serão analisados para gerar uma equação de regressão múltipla. A coleta de dados acima é implementada no EA R_collection anexado ao artigo.
O arquivo MasterData. CSV será criado após o início do EA no diretório_data_data / MQL5 / Arquivos. Ao iniciar o EA no Testador, ele estará localizado no diretório_data_data / testador / Agente-127.0.0.1-3000 / MQL5 / Arquivos. O arquivo como obtido pode ser usado na Statistica.
Um exemplo desse arquivo pode ser encontrado no MasterDataR. CSV. Os dados foram coletados para o EURUSD H1 de 3 de janeiro de 2018 a 11 de novembro de 2018 usando o Strategy Tester. Apenas os dados de agosto e setembro foram utilizados na análise. Os dados restantes foram salvos em um arquivo para você praticar.
Para abrir o arquivo. CSV no Statistica, faça o seguinte.
Em Statistica, vá para o menu Arquivo & gt; Abra, selecione o tipo de arquivo 'Arquivos de dados' e abra seu arquivo. CSV. Deixe Delimitado na janela Tipo de importação de arquivo de texto e clique em OK. Ative os itens sublinhados na janela aberta. Tenha em mente colocar o ponto decimal no campo do caractere do separador decimal independentemente de já estar lá ou não.
Fig. 3. Importando o arquivo para o Statistica.
Clique em OK para obter a tabela que contém os dados que estão prontos para a análise de regressão múltipla. Um exemplo do arquivo obtido a ser usado no Statistica pode ser encontrado no MasterDataR. STA.
3.2. Seleção automática de indicadores.
Execute a análise de regressão (Estatística - & gt; Regressão múltipla).
Fig. 4. Executando a análise de regressão.
Na janela aberta, vá para a guia Avançado e ative os itens marcados. Clique no botão Variáveis.
Selecione a variável Dependente no primeiro campo e as variáveis independentes com base nas quais a equação será gerada - no segundo campo. No nosso caso, selecione o parâmetro Preço no primeiro campo e Preço 2 para dWPR - no segundo campo.
Fig. 5. Preparação para seleção de parâmetros.
Clique no botão Selecionar casos (Fig. 5).
Uma janela será aberta para a seleção de casos (linhas de dados) que serão usados na análise. Habilite itens como mostrado na Fig. 6.
Fig. 6. Seleção de casos.
Especifique os dados relativos a julho e agosto que serão utilizados na análise. Estes são casos de 3590 a 4664. Os números de casos são definidos através da variável V0. Para evitar o efeito de outliers e picos de preços, adicione filtragem de dados por preço.
Inclua na análise apenas os valores dos indicadores para os quais a diferença entre Abrir e Fechar na última barra não é superior a 250 pontos. Ao especificar aqui as regras para a seleção de casos para a análise, estabelecemos uma amostra de dados para geração de equações de regressão. Clique em OK aqui e na janela para preparar a seleção de parâmetros (Fig. 5).
Uma janela com opções dos métodos de seleção automática de dados será aberta. Selecione o método Forward Stepwise (Fig. 7).
Fig. 7. Seleção do método.
Clique OK. E uma janela abrirá informando que a análise de regressão foi concluída com sucesso.
Fig. 8. Janela dos resultados da análise de regressão.
A seleção automática de parâmetros diz respeito apenas àqueles que contribuem materialmente para a correlação múltipla entre os parâmetros (variáveis independentes) e a variável dependente. No nosso caso, um conjunto de indicadores será selecionado, o melhor preço determinante. Com efeito, a seleção automática atua como um gerador de estratégia. A equação gerada consistirá apenas nos indicadores que são confiáveis e descrevem melhor o comportamento dos preços.
A parte superior da janela de resultados (Fig. 8) contém características estatísticas da equação gerada enquanto os parâmetros incluídos na equação estão listados na parte inferior. Preste atenção às características sublinhadas. O R múltiplo é o valor da correlação múltipla entre o preço e os indicadores incluídos na equação. "p" é o nível de significância estatística dessa correlação.
Um nível inferior a 0,05 é considerado estatisticamente significativo. "Número de casos" é o número de casos utilizados na análise. Os indicadores cuja contribuição é estatisticamente significativa são exibidos em vermelho. Idealmente, todos os indicadores devem estar marcados em vermelho.
As regras usadas na Statistica para incluir parâmetros na análise nem sempre são ótimas. Por exemplo, um grande número de parâmetros insignificantes pode ser incluído em uma equação de regressão. Portanto, devemos usar nossa criatividade e ajudar o programa na seleção de parâmetros.
Se a lista contiver parâmetros insignificantes, clique em Resumo: Resultados da regressão.
Uma janela abrirá exibindo os dados em cada indicador (Fig. 9).
Fig. 9. Relata os parâmetros incluídos na equação de regressão.
Encontre um parâmetro insignificante com o nível p máximo e lembre-se do nome. Volte para o passo em que os parâmetros foram incluídos na análise (Fig. 7) e remova este parâmetro da lista dos parâmetros selecionados para a análise.
Para retornar, clique em Cancelar na janela dos resultados da análise e repita a análise. Tente excluir todos os parâmetros insignificantes dessa maneira. Ao fazê-lo, procure o valor de correlação múltipla obtido (Multiple R), uma vez que não deve ser consideravelmente inferior ao valor inicial. Parâmetros insignificantes podem ser removidos da análise um a um ou todos de uma vez, sendo a primeira opção mais aconselhável.
Como resultado, a tabela agora contém apenas os parâmetros significativos (Fig. 10). O valor de correlação diminuiu 20%, o que provavelmente é devido a coincidências aleatórias. Uma série numérica infinitamente longa é conhecida por ter um número infinito de coincidências aleatórias.
Uma vez que as amostras de dados que processamos são bastante grandes, coincidências aleatórias e relacionamentos aleatórios são frequentemente o caso. Portanto, é importante usar parâmetros estatisticamente significativos em suas estratégias.
Fig. 10. A equação inclui apenas os parâmetros significativos.
Se seguir a seleção dos parâmetros, um grupo de vários indicadores significativamente correlacionados com o preço não pode ser formado, é provável que o preço contenha pouca informação sobre os eventos passados. Os negócios baseados em qualquer análise técnica devem, em casos como este, ser muito prudentes ou até mesmo suspensos por completo.
No nosso caso, apenas cinco dos 33 parâmetros demonstraram ser efetivos no desenvolvimento de uma estratégia com base na equação de regressão. Esta qualidade da análise de regressão é de grande benefício ao selecionar indicadores para suas próprias estratégias.
3.3. Equação de regressão e sua análise.
Então, corremos a análise de regressão e obtivemos a lista dos indicadores "certos". Vamos agora transformar tudo em uma equação de regressão. Os coeficientes de equação para cada indicador são mostrados na coluna B dos resultados da análise de regressão (Fig. 10). O parâmetro Intercept na mesma tabela é um membro independente da equação e está incluído nela como um coeficiente independente.
Vamos gerar uma equação baseada na tabela (Fig. 10), tendo os coeficientes da coluna B.
Preço = 22,7 + 205,2 * dDemarker - 41686,2 * dAC - 139,3 * DeMarker + 22468.8 * Touros - 14619.5 * Ursos.
Esta equação foi estabelecida anteriormente na seção 1 como um código MQL5 juntamente com os resultados de desempenho obtidos do Tester para a EA desenvolvido com base nesta equação. Como pode ser visto, a análise de regressão foi adequada quando usada como testador de estratégia. A análise trouxe uma certa estratégia e selecionou indicadores relevantes da lista proposta.
Caso deseje analisar ainda mais a estabilidade da equação, você deve verificar:
Outliers na equação; Normalidade da distribuição dos resíduos; Efeito não linear produzido por parâmetros individuais dentro da equação.
Essas verificações podem ser realizadas usando a análise residual. Para prosseguir para a análise, clique em OK na janela de resultados (Fig. 8). Depois de realizar as verificações acima em relação à equação gerada, você verá que a equação não parece ser sensível a um pequeno número de outliers, pequeno desvio da distribuição normal de dados e uma certa não-linearidade dos parâmetros.
Se houver uma não-linearidade significativa de relacionamento, um parâmetro pode ser linearizado. Para este fim, a Statistica oferece uma análise de regressão não linear fixa. Para iniciar a análise, vá para o menu: Estatísticas - & gt; Modelos lineares / não lineares avançados - & gt; Regressão não linear linear. Em geral, as verificações realizadas comprovaram que a análise de regressão múltipla não é sensível a uma quantidade moderada de ruído nos dados analisados.
4. Análise de regressão como otimizador de estratégia.
Uma vez que a análise de regressão é capaz de processar milhares de parâmetros, ela pode ser usada para otimizar estratégias. Assim, se 50 períodos para um indicador precisam ser processados, eles podem ser salvos como 50 parâmetros individuais e enviados para a análise de regressão, de uma só vez. Uma tabela na Statistica pode caber 65536 parâmetros. Ao processar 50 períodos para cada indicador, cerca de 1300 indicadores podem ser analisados! É muito além das capacidades do MetaTrader 5 Standard Tester.
Vamos otimizar os dados usados no nosso exemplo da mesma maneira. Conforme mencionado na seção 4.1 acima, para demonstrar a otimização, os valores dos indicadores com um período de duas vezes o comprimento do padrão foram adicionados aos dados. O nome desses parâmetros nos arquivos de dados termina com '_p'. Nossa amostra agora contém 60 parâmetros, incluindo os indicadores do período padrão. Seguindo as etapas descritas na seção 3.2, obteremos uma tabela da seguinte maneira (Fig. 11).
Fig. 11. Resultados da análise dos indicadores com diferentes períodos.
A equação de regressão compreendeu 11 parâmetros: seis dos indicadores do período padrão e cinco dos indicadores do período prolongado. A correlação dos parâmetros com o preço aumentou em um quarto. Os parâmetros do indicador MACD para ambos os períodos pareciam estar incluídos na equação.
Uma vez que os valores do mesmo indicador para diferentes períodos são tratados como parâmetros diferentes na análise de regressão, a equação pode compreender e combinar valores dos indicadores para diferentes períodos. Por exemplo. a análise pode descobrir que o valor RSI (7) está associado ao aumento de preço e o valor RSI (14) está associado com a diminuição do preço. A análise feita pelo testador padrão nunca é tão detalhada.
A equação de regressão gerada com base na análise estendida (Fig. 11) é a seguinte:
Preço = 297 + 173 * dDemarker - 65103 * dAC - 177 * DeMarker + 28553 * Bulls_p - 24808 * AO - 1057032 * dMACDms_p + 2.41 * WPR_p - 2.44 * Stoch_m_p + 125536 * MACDms + 18.65 * dRSI_p - 0.768 * dCCI.
Deixe-nos ver os resultados que esta equação irá renderizar na EA. A Fig. 12 mostra os resultados do teste da EA usando os dados de 1 de julho a 1 de setembro de 2018 que foram aplicados na análise de regressão. O gráfico ficou mais suave e a EA produziu mais lucro.
Fig. 12. Desempenho de EA durante o período de treinamento.
Deixe-nos testar a EA durante o período de teste de 1 de setembro a 1 de novembro de 2018. A tabela de lucros tornou-se pior do que no caso da EA com indicadores de período padrão apenas. A equação como gerada pode ser verificada quanto à normalidade e a não-linearidade dos indicadores internos.
Como a não-linearidade foi observada em indicadores de período padrão, poderia tornar-se crítica ao longo do período prolongado. Nesse caso, o desempenho da equação pode ser melhorado ao linearizar os parâmetros. De qualquer forma, a EA não foi uma crise total durante o período de teste, simplesmente não se beneficiou. Isso qualifica a estratégia desenvolvida como bastante estável.
Fig. 13. Desempenho de EA durante o período de teste.
Deve-se notar que o MQL5 suporta a saída de apenas 64 parâmetros em uma linha de um arquivo. Uma análise em grande escala de indicadores em vários períodos exigirá a fusão das tabelas de dados que podem ser feitas em Statistica ou MS Excel.
Conclusão.
Um pequeno estudo apresentado no artigo mostrou que a análise de regressão oferece uma oportunidade de selecionar entre uma variedade de indicadores os mais significativos em termos de previsão de preços. Também demonstrou que a análise de regressão pode ser usada para pesquisar períodos de indicadores que são ótimos dentro de uma determinada amostra.
Note-se que as equações de regressão são facilmente transformadas em linguagem MQL5 e sua aplicação não requer alta proficiência em programação. Assim, a análise de regressão múltipla pode ser empregada no desenvolvimento da estratégia comercial. Dito isto, uma equação de regressão pode servir como uma espinha dorsal para uma estratégia comercial.
Traduzido do russo pela MetaQuotes Software Corp.
Análise de regressão e estratégias de negociação quantitativas
Woody Creek, Colorado, junho de 2018.
& # 8220; & # 8230; uma imagem de litografia que se voltou para a parede & # 8230; & # 8221;
O livro está aqui.
W. W. Norton & # 8217; s edição de bolso de Dry Bones no Vale está disponível nos EUA a partir de 6 de abril de 2018. Ele vai caber em um grande bolso e é adequado para viagens, leitura, insetos e outros usos. Os links para revendedores podem ser encontrados na página do livro.
Em boa companhia.
Na semana passada, assisti ao Prêmio e Festival de Livros do Los Angeles Times. De dia, as jacarandas estavam em flor; Eu nunca vi árvores que eram roxas antes. Sábado à noite, os prodígios nunca cessarão sob as estrelas do céu, Dry Bones no Vale tomou o prêmio na categoria Mistério / Suspense. Na cerimônia, o quarteto de cordas UCF jogou os vencedores dentro e fora do palco. Eu não costumo corro sobre o livro nesta página em particular, mas oi, sentiu e ainda se sente tão estranho e sonhador quanto qualquer outra coisa. # 8230;
Céu antes da pintura do céu.
"Para aqueles de nós que escrevemos poesia, a vida de Stanley Kunitz e sua obra nos lembram que, apesar de ter nascido em um mundo cruel que nos diz que somos duros e separados, é nosso chamado a dançar para a alegria da sobrevivência na borda da estrada. Devemos ter fé em que mudamos, e ainda assim devemos permanecer modestos. A poesia é um fenômeno necessário e natural, nem superior ao trabalho da larva do besouro da tartaruga nem menos maravilhoso. Devemos escolher o amor antes da história de amor, o céu antes da pintura do céu, as flores de gentiana antes do poema, mesmo que essas escolhas possam levar a desgosto. Devemos ser gentis. Devemos estar presentes. Kunitz nos lembra que não negligenciamos a vida humilde que morre em nossos poemas, e não é menos luminosa para ser comum ".
- "Dançar para a alegria de sobreviver: as meditações de Stanley Kunitz sobre a vida escrita" por Dante Di Stefano. Crônica do escritor, setembro de 2017.
Confira a capa na Faber & amp; Faber & # 8217; s edition (UK).
"Uma noite brilhante e iluminada pela lua, como um dos filhos do fazendeiro que morava em LLwyn On em Nant y Bettws iria pagar seus endereços para uma garota em Clogwyn y Gwin, ele viu o Tylwyth Teg se divertindo em pleno andamento em um prado perto de Cwellyn Lake. Ele se aproximou deles, e, pouco a pouco, ele foi conduzido pela doçura encantadora de sua música e pela vivacidade de seus jogos até que ele entrou em seu círculo. Em breve, uma espécie de feitiço passou por ele, de modo que perdeu seu conhecimento do lugar e encontrou-se em um país, o mais lindo que já havia visto, onde todos passavam seu tempo com alegria e alegria. Ele tinha estado lá sete anos, e ainda assim ele parecia-lhe, mas o sonho de uma noite; Mas uma fraca lembrança veio a sua mente sobre o negócio em que ele tinha saído de casa, e ele sentiu vontade de ver seu amado. Então ele foi e pediu permissão para voltar para casa, o que lhe foi concedido, juntamente com uma série de atendentes para levá-lo ao seu país; e, de repente, ele se viu, como se estivesse acordando de um sonho, no banco onde ele vira a família justa divertindo-se. Ele virou-se para casa, mas lá, ele encontrou tudo mudado: seus pais estavam mortos, seus irmãos não podiam reconhecê-lo, e seu coração estava casado com outro homem. Em consequência de tais mudanças, ele morreu de coração partido em menos de uma semana depois de voltar. "
Como foi dito a John Rhys, autor do Celtic Folklore, Welsh & amp; Manx, Volume One (1901)
A Regressão Linear de Tempo e Preço.
Analistas técnicos e quantitativos aplicaram princípios estatísticos ao mercado financeiro desde a sua criação. Algumas tentativas têm sido muito bem-sucedidas, enquanto algumas foram qualquer coisa além disso. A chave é encontrar uma maneira de identificar tendências de preços sem a falibilidade e o viés da mente humana. Uma abordagem que pode ser bem sucedida para os investidores e está disponível na maioria das ferramentas de gráficos é a regressão linear.
A regressão linear analisa duas variáveis separadas para definir uma relação única. Na análise de gráfico, isso se refere às variáveis de preço e tempo. Investidores e comerciantes que usam gráficos reconhecem os altos e baixos do preço impresso horizontalmente do dia a dia, minuto a minuto ou semana a semana, dependendo do prazo avaliado. As diferentes abordagens do mercado são o que torna a análise de regressão linear tão atraente. (Saiba mais sobre análise quantitativa na Análise Quantitativa de Fundos de Hedge.)
Os estatísticos usaram o método da curva do sino, também conhecido como distribuição normal, para avaliar um determinado conjunto de pontos de dados. A Figura 1 é um exemplo de uma curva de sino, que é denotada pela linha azul escuro. A curva do sino representa a forma das várias ocorrências de pontos de dados. A maior parte dos pontos ocorre normalmente em direção ao meio da curva do sino, mas ao longo do tempo, os pontos se desviam ou se desviam da população. Pontos incomuns ou raros às vezes estão bem fora da população "normal".
Figura 1: Uma curva de sino, distribuição normal.
Como ponto de referência, é comum a média dos valores para criar um escore médio. A média não representa necessariamente o meio dos dados e, em vez disso, representa a pontuação média, incluindo todos os pontos de dados externos. Depois que um meio é estabelecido, os analistas determinam a frequência com que o preço se desvia da média. Um desvio padrão para um lado da média geralmente é 34% dos dados, ou 68% dos pontos de dados, se olharmos para um desvio padrão positivo e um negativo, que é representado pela seta de laranja. Dois desvios padrão incluem aproximadamente 95% dos pontos de dados e as seções de laranja e rosa são adicionadas. As ocorrências muito raras, representadas pelas setas roxas, ocorrem nas caudas da curva do sino. Como qualquer ponto de dados que aparece fora de dois desvios padrão é muito raro, muitas vezes é assumido que os pontos de dados voltarão para a média ou regredir. (Para ler mais, veja o Modern Portfolio Theory Stats Primer.)
Preço de estoque como um conjunto de dados.
Imagine se tomarmos a curva do sino, apontei para o lado e aplicamos a um gráfico de ações. Isso nos permitiria ver quando uma segurança é sobrecompra ou sobrevenda e está pronta para reverter para a média. Na Figura 2, o estudo de regressão linear é adicionado ao gráfico, dando aos investidores o canal externo azul e a linha de regressão linear no meio de nossos pontos de preço. Este canal mostra aos investidores a tendência atual do preço e fornece um valor médio. Usando uma regressão linear variável, podemos definir um canal estreito com um desvio padrão, ou 68%, para criar canais verdes. Embora não haja uma curva de sino, podemos ver que o preço agora reflete as divisões da curva do sino, observadas na Figura 1.
Figura 2: Ilustração da negociação da reversão média usando quatro pontos.
Negociando a Reversão Média.
O n. º 2 fornece um ponto de parada em caso de que a causa dos outliers continue a afetar negativamente o preço. Definir a ordem stop-loss facilmente define o valor do risco do comércio.
Serão estabelecidos dois objectivos de preços em No.3 e No.4 para saídas rentáveis. Nossa primeira expectativa com o comércio foi reverter para a linha média, e na Figura 2, o plano é sair da metade da posição perto de US $ 26,50 ou o valor médio atual. O segundo alvo funciona sob o pressuposto de uma tendência contínua, então outro alvo será definido na extremidade oposta do canal para a outra linha de desvio padrão, ou US $ 31,50. Este método define a possível recompensa de um investidor.
Figura 3: Preenchendo o preço médio.
Ao longo do tempo, o preço irá subir e descer e o canal de regressão linear experimentará mudanças à medida que os preços antigos caem e novos preços aparecem. No entanto, os alvos e as paradas devem permanecer iguais até o preenchimento do preço médio (ver Figura 3). Neste ponto, um lucro foi bloqueado e a parada-perda deve ser movida até o preço de entrada original. Supondo que seja um mercado eficiente e líquido, o restante do comércio deve ser sem risco. (Saiba mais em Trabalhar através da Hipótese do Mercado Eficiente).
Figura 4: Preenchendo o preço médio.
Lembre-se, uma segurança não precisa fechar a um preço específico para o seu pedido de preenchimento; Só precisa alcançar o preço intradiário. Você pode ter sido preenchido no segundo alvo durante qualquer uma das três áreas na Figura 4.
Técnicos e comerciantes de quant muitas vezes trabalham um sistema para uma determinada segurança ou estoque e acham que os mesmos parâmetros não funcionarão em outros títulos ou ações. A beleza da regressão linear é que o preço e o período de tempo da segurança determinam os parâmetros do sistema. Use estas ferramentas e as regras definidas neste artigo sobre vários títulos e prazos e você ficará surpreso com sua natureza universal. (Para ler mais, veja Melhorando o seu portfólio com questões Alpha e Beta e estilo na modelagem financeira.)
Análise de regressão.
6. Demonstrações Financeiras 7. Rácios Financeiros 8. Ativos 9. Passivos 10. Red Flags.
16. Investimentos alternativos 17. Gestão de carteira.
Uma regressão linear é construída ajustando uma linha através de um gráfico de dispersão de observações pareadas entre duas variáveis. O esboço abaixo ilustra um exemplo de uma linha de regressão linear desenhada através de uma série de observações (X, Y):
Uma linha de regressão linear geralmente é determinada quantitativamente por um procedimento de melhor ajuste, como mínimos quadrados (isto é, a distância entre a linha de regressão e cada observação é minimizada). Na regressão linear, uma variável é plotada no eixo X e a outra na Y. A variável X é dita ser a variável independente e o Y é dito ser a variável dependente. Ao analisar duas variáveis aleatórias, você deve escolher qual variável é independente e dependente. A escolha de independentes e dependentes segue a hipótese - para muitos exemplos, essa distinção deve ser intuitiva. O uso mais popular da análise de regressão é sobre os retornos dos investimentos, onde o índice de mercado é independente, enquanto a segurança individual ou o fundo mútuo é dependente do mercado. Em essência, a análise de regressão formula uma hipótese de que o movimento em uma variável (Y) depende do movimento no outro (X).
A equação de regressão descreve a relação entre duas variáveis e é dada pelo formato geral:
Onde: Y = variável dependente; X = variável independente,
a = intercepção de linha de regressão; b = inclinação da linha de regressão
Tirar conclusões sobre a variável dependente exige que façamos seis pressupostos, os pressupostos clássicos em relação ao modelo de regressão linear:
A relação entre a variável dependente Y e a variável independente X é linear na inclinação e os parâmetros de interceptação a e b. Este requisito significa que nenhum parâmetro de regressão pode ser multiplicado ou dividido por outro parâmetro de regressão (por exemplo, a / b) e que ambos os parâmetros são criados para o primeiro poder somente. Em outras palavras, não podemos construir um modelo linear onde a equação era Y = a + b 2 X + & epsilon ;, uma vez que as mudanças de unidade em X teriam um efeito b 2 sobre a, e a relação seria não linear. A variável independente X não é aleatória. O valor esperado do termo de erro "& epsilon;" é 0. As suposições # 2 e # 3 permitem que o modelo de regressão linear produza estimativas para a inclinação b e intercepte a. A variância do termo de erro é constante para todas as observações. A suposição # 4 é conhecida como a "suposição de homossexia". Quando uma regressão linear é heterossegástica, os termos de erro variam e o modelo pode não ser útil na predição de valores da variável dependente. O termo de erro & epsilon; não está correlacionado em todas as observações; em outras palavras, a covariância entre o termo de erro de uma observação eo termo de erro do outro é assumida como 0. Esta suposição é necessária para estimar as variâncias dos parâmetros. A distribuição dos termos de erro é normal. A suposição # 6 permite que os métodos de teste de hipóteses sejam aplicados aos modelos de regressão linear. Erro padrão de estimativa.
Abreviada SEE, esta medida dá uma indicação de quão bem um modelo de regressão linear está funcionando. Ele compara os valores reais na variável dependente Y com os valores previstos que resultariam se Y tivesse seguido exatamente a partir da regressão linear. Por exemplo, tome um caso em que o analista financeiro da empresa desenvolveu um modelo de regressão que relaciona o crescimento anual do PIB com o crescimento das vendas da empresa pela equação Y = 1,4 + 0,8X.
Para encontrar o erro padrão da estimativa, tomamos a soma de todos os termos residuais quadrados e dividimos por (n - 2) e, em seguida, retire a raiz quadrada do resultado. Neste caso, a soma dos resíduos quadrados é 0,09 + 0,16 + 0,64 + 2,25 + 0,04 = 3,18. Com cinco observações, n - 2 = 3 e SEE = (3,18 / 3) 1/2 = 1,03%.
Como o erro padrão, esta estatística dá uma indicação de quão bem um modelo de regressão linear serve como um estimador de valores para a variável dependente. Ele funciona medindo a fração da variação total na variável dependente que pode ser explicada pela variação na variável independente.
Variação total da variação total.
Para o coeficiente de regressão (interceptar a, ou inclinação b), um intervalo de confiança pode ser determinado com a seguinte informação:
Um valor de parâmetro estimado de uma amostra Erro padrão da estimativa (SEE) Nível de significância para a distribuição t Graus de liberdade (que é tamanho de amostra - 2)
Para um coeficiente de declive, a fórmula para o intervalo de confiança é dada por b & plusmn; t c * SEE, onde t c é o valor t crítico no nosso nível significativo escolhido.
Os coeficientes de regressão são freqüentemente testados usando o procedimento de teste de hipóteses. Dependendo do que o analista pretenda provar, podemos testar um coeficiente de inclinação para determinar se explica chances na variável dependente e na medida em que explica mudanças. Betas (coeficientes de inclinação) podem ser determinados acima ou abaixo de 1 (mais voláteis ou menos voláteis do que o mercado). Alphas (o coeficiente de intercepção) pode ser testado em uma regressão entre um fundo mútuo e o índice de mercado relevante para determinar se há evidência de um alfa suficientemente positivo (sugerindo valor agregado pelo gerente do fundo).
De nossa amostra, tínhamos estimado b de 1,18 e erro padrão de 0,147. Nossa estatística de teste é calculada com esta fórmula: t = coeficiente estimado - coeficiente de hipótese. / erro padrão = (1.18 - 1.0) /0.147 = 0.18 / 0.147, ou t = 1.224.
O exame CFA provavelmente dará as estatísticas resumidas de uma regressão linear e pedirá interpretação. Para ilustrar, assuma as seguintes estatísticas para uma regressão entre um fundo de crescimento de pequena capitalização e o índice Russell 2000:
O que cada um desses números nos conta?
A variação no fundo é de cerca de 75%, explicada por mudanças no índice Russell 2000. Isso é verdade porque o quadrado do coeficiente de correlação, (0.864) 2 = 0.746, nos dá o coeficiente de determinação ou R-quadrado. O fundo subjugará ligeiramente o índice quando os retornos do índice forem planos. Isso resulta do valor da intercepção sendo -0.417. Quando X = 0 na equação de regressão, a variável dependente é igual à intercepção. O fundo será em média mais volátil do que o índice. Este fato segue da inclinação da linha de regressão de 1,317 (ou seja, por cada alteração de 1% no índice, esperamos que o retorno do fundo a mudança seja de 1,317%). O fundo superará em períodos de mercado fortes e apresentará desempenho inferior em mercados fracos. Esse fato segue da regressão. O risco adicional é compensado com uma recompensa adicional, sendo o contrário verdadeiro nos mercados abaixo. Os valores previstos do retorno do fundo, dado um retorno para o mercado, podem ser encontrados solucionando para Y = -0.417 + 1.317X (X = retorno Russell 2000). Análise de Variância (ANOVA)
A análise de variância, ou ANOVA, é um procedimento no qual a variabilidade total de uma variável aleatória é subdividida em componentes para que ela possa ser melhor compreendida ou atribuída a cada uma das várias fontes que fazem com que o número varie.
A fórmula para a estatística F em uma regressão com uma variável independente é dada pelo seguinte:
F = soma de regressão média de quadrados / erro quadrático médio.
As duas abreviaturas para entender são RSS e SSE: RSS, ou a soma de regressão de quadrados, é a quantidade de variação total na variável dependente Y que é explicada na equação de regressão. O RSS é calculado calculando cada desvio entre um valor Y predito e o valor Y médio, esquadrinhando o desvio e somando todos os termos. Se uma variável independente explica nenhuma das variações em uma variável dependente, então os valores previstos de Y são iguais ao valor médio, e RSS = 0. SSE, ou a soma do erro quadrado dos resíduos, é calculada encontrando o desvio entre um Y predito e um Y real, quadrando o resultado e somando todos os termos. TSS, ou variação total, é a soma de RSS e SSE. Em outras palavras, esse processo ANOVA quebra a variância em duas partes: uma que é explicada pelo modelo e um que não é. Essencialmente, para que uma equação de regressão tenha alta qualidade preditiva, precisamos ver um RSS elevado e um SSE baixo, o que tornará a relação (RSS / 1) / [SSE / (n - 2)] alta e (com base em uma comparação com um F-valor crítico) estatisticamente significativo. O valor crítico é retirado da distribuição F e é baseado em graus de liberdade.
Os modelos de regressão são freqüentemente usados para estimar as estatísticas econômicas, como a inflação e o crescimento do PIB. Suponha que a seguinte regressão seja feita entre a inflação anual estimada (X ou variável independente) e o número real (Y, ou variável dependente):
As previsões baseadas neste modelo parecem funcionar melhor para estimativas de inflação típicas e sugerem que estimativas extremas tendem a exagerar a inflação - por exemplo, an actual inflation of just 4.46 when the estimate was 4.7. The model does seem to suggest that estimates are highly predictive. Though to better evaluate this model, we would need to see the standard error and the number of observations on which it is based. If we know the true value of the regression parameters (slope and intercept), the variance of any predicted Y value would be equal to the square of the standard error.
Where: s 2 is the squared standard error of the estimate, n is number of observations, X is the value of the independent variable used to make the prediction, X is the estimated mean value of the independent variable, and s x 2 is the variance of X.
Multiple Regression Analysis. Strategy Generator and Tester in One.
Introdução.
An acquaintance of mine when attending a Forex trading course, once received an assignment to develop a trading system. After having trouble with it for about a week, he said, that this task was probably more difficult than writing a thesis. It was then that I suggested using the multiple regression analysis. As a result, a trading system developed from scratch overnight was successfully approved by the examiner.
The success of using the multiple regression is in the ability to quickly find relationships between indicators and price. The relationships detected allow to predict the price value based on the indicator values with a certain degree of probability. Modern statistical software allows to simultaneously filter thousands of parameters in trying to find these relationships. This can be compared to industrial sifting gold from gravel.
A ready to use strategy as well as a strategy generator will be developed by loading the indicator data into the multiple regression analysis and applying data manipulation, respectively.
This article will demonstrate the process of creating a trading strategy using the multiple regression analysis.
1. Developing a Robotrader - Piece of Cake!
The backbone of the trading system developed overnight as mentioned earlier was one sole equation:
where if Reg >0, then we buy, and if Reg < 0, we sell.
The equation was an outcome of the multiple regression analysis that used the data sample from standard indicators. An EA was developed on the basis of the equation. The piece of code in charge of trading decisions virtually consisted of 15 lines only. The EA with a complete source code is attached (R_check).
The data sample for the regression analysis was collected on EURUSD H1 over two months from July 1, 2018 to August 31, 2018.
Fig. 1 shows the EA performance results over the data period for which it was developed. It is peculiar that superprofit, which is often the case in the Tester, was not observed on the training data. It must be a sign of lack of reoptimization.
Fig. 1. EA performance over the training period.
Fig. 2 demonstrates the EA performance results on the test data (from September 1 to November 1, 2018). It appears that the two-month data was sufficient for the EA to remain profitable for another two months. That said, the profit made by the EA over the testing period was the same as over the training period.
Fig. 2. EA performance over the testing period.
Thus, based on the multiple regression analysis a fairly simple EA was developed yielding profit beyond the training data. The regression analysis can therefore be successfully applied when building trading systems.
However, resources of the regression analysis should not be overestimated. Its advantages and disadvantages will be set forth further below.
2. Multiple Regression Analysis.
The general purpose of the multiple regression is the analysis of the relationship between several independent variables and one dependent variable. In our case, it is the analysis of the relationship between values of indicators and the price movement.
In its simplest form, this equation may appear as follows:
Price change = a * RSI + b * MACD + с.
A regression equation can only be generated if there is a correlation between independent variables and a dependent variable. Since values of indicators are as a rule interrelated, the contribution made by indicators to the forecast may appreciably vary if an indicator is added or removed from the analysis. Please note that a regression equation is a mere demonstration of the numerical dependence and not a description of causal relationships. Coefficients (a, b) indicate the contribution made by every independent variable to its relationship with a dependent variable.
A regression equation represents an ideal dependence between the variables. This is however impossible in Forex and the forecast will always differ from the reality. Difference between the predicted and observed value is called the residual. Analysis of residuals allows to identify inter alia a nonlinear dependence between the indicator and price. In our case, we assume that there is only nonlinear dependence between indicators and price. Fortunately, the regression analysis is not affected by minor deviations from linearity.
It can only be used to analyze quantitative parameters. Qualitative parameters that do not have transitional values are not suitable for the analysis.
The fact that the regression analysis can process any number of parameters may lead to the temptation to include into analysis as many of them as possible. But if the number of independent parameters is bigger than the number of observations of their interaction with a dependent parameter, there is a great chance of getting equations producing good forecasts which are however based on random fluctuations.
The number of observations shall be 10-20 times bigger than the number of independent parameters.
In our case, the number of indicators contained in the data sample shall be 10-20 times bigger than the number of trades in our sample. The equation generated will then be considered reliable. The sample based on which the Robotrader as described in section 1 was developed, contained 33 parameters and 836 observations. As a result, the number of parameters was 25 times bigger than the number of observations. This requirement is a general rule in statistics. It is also applicable to the MetaTrader 5 Strategy Tester optimizer.
Furthermore, every given value of the indicator in the optimizer is in fact a separate parameter. In other words, when testing 10 indicator values, we are dealing with 10 independent parameters which shall be taken into consideration in order to avoid reoptimization. A report of the optimizer should probably include another parameter: average number of trades/number of values of all optimized parameters . If the indicator value is less than ten, chances are that reoptimization will be required.
Another thing to be considered is outliers. Rare yet powerful events (in our case price spikes) may add false dependencies to the equation. For example, following the unexpected news, the market responded with substantial movements lasting for a few hours. The values of technical indicators would in this case be of little importance in the forecast yet they would be considered highly significant in the regression analysis as there was a marked price change. It is therefore advisable to filter the sample data or check it for possible outliers.
3. Creating Your Own Strategy.
We have approached the key part where we will see how to generate a regression equation based on your own data. Implementation of the regression analysis is similar to that of the discriminant analysis set forth earlier on. Regression analysis includes:
Preparation of data for the analysis ; Selection of the best variables from the prepared data; Obtaining a regression equation.
Multiple regression analysis is a part of numerous advanced software products intended for statistical data analysis. The most popular are Statistica (by StatSoft Inc.) and SPSS (by IBM Corporation). We will further consider the application of the regression analysis using Statistica 8.0.
3.1. Preparation of Data for the Analysis.
We are to generate a regression equation where the price behavior on the next bar can be predicted based on the indicator values on the current bar.
The same EA that was used for the discriminant analysis data preparation will be used for collecting data. We will expand its functionality by adding a function for saving indicator values with other periods. An extended set of parameters will be used for strategy optimization based on the analysis of the same indicators but with different periods.
To load data in Statistica, you should have a CSV file with a following structure. Variables shall be arranged in columns where every column corresponds to a certain indicator. The rows shall contain consecutive measurements (cases), i. e. values of indicators for certain bars. In other words, the horizontal table headers contain indicators, the vertical table headers contain consecutive bars.
Indicators to be analyzed are:
Every data row of our file will contain:
Changes in price on the bar between Open and Close; Values of indicators observed on the preceding bar.
Thus, we will generate an equation describing the future price behavior based on the known indicator values.
Apart from the absolute indicator value, we need to save the difference between the absolute and the preceding values in order to see the direction of the change in indicators. The names of such variables in the example provided will have prefix 'd'. For signal line indicators, it is necessary to save the difference between the main and signal line as well as its dynamics. The names of the data collected by indicators with other periods end with '_p'.
In order to demonstrate the optimization, only one period was added, being twice the length of the standard period of the indicator. In addition, save the time of the new bar and the relevant hour value. Save the difference between Open and Close for the bar where the indicators are calculated. This will be required to filter outliers. As a result, 33 parameters will be analyzed to generate a multiple regression equation. The above data collection is implemented in the EA R_collection attached to the article.
The MasterData. CSV file will be created after starting the EA in terminal_data_directory/MQL5/Files. When starting the EA in the Tester, it will be located in terminal_data_directory/tester/Agent-127.0.0.1-3000/MQL5/Files. The file as obtained can be used in Statistica.
An example of such file can be found in MasterDataR. CSV. The data was collected for EURUSD H1 from January 3, 2018 to November 11, 2018 using the Strategy Tester. Only the August and September data was used in the analysis. The remaining data was saved in a file for you to practice.
In order to open the. CSV file in Statistica, do as follows.
In Statistica, go to menu File > Open, select the file type 'Data files' and open your. CSV file. Leave Delimited in the Text File Import Type window and click OK. Enable the underlined items in the opened window. Bear in mind to put the decimal point in the Decimal separator character field regardless of whether it is already there or not.
Fig. 3. Importing the file into Statistica.
Click OK to get the table containing our data which is ready for the multiple regression analysis. An example of the obtained file to be used Statistica can be found in MasterDataR. STA.
3.2. Automatic Selection of Indicators.
Run the regression analysis (Statistics->Multiple Regression).
Fig. 4. Running the regression analysis.
In the opened window, go to the Advanced tab and enable the marked items. Click the Variables button.
Select the Dependent variable in the first field and Independent variables based on which the equation will be generated - in the second field. In our case, select the Price parameter in the first field and Price 2 to dWPR - in the second field.
Fig. 5. Preparation to selection of parameters.
Click the Select Cases button (Fig. 5).
A window will open for selection of cases (data rows) which will be used in the analysis. Enable items as shown in Fig. 6.
Fig. 6. Selection of cases.
Specify the data pertaining to July and August that will be used in the analysis. These are cases from 3590 to 4664. The numbers of cases are set via the variable V0. In order to avoid the effect of outliers and price spikes, add data filtering by price.
Include in the analysis only those indicator values for which the difference between Open and Close on the last bar is not more than 250 points. By specifying here the rules for selecting cases for the analysis, we have set a data sample for regression equation generation. Click OK here and in the window for preparation to selection of parameters (Fig. 5).
A window with options of the automatic data selection methods will open. Select the Forward Stepwise method (Fig. 7).
Fig. 7. Method selection.
Clique OK. And a window will open informing you that the regression analysis was successfully completed.
Fig. 8. Window of results of the regression analysis.
Automatic selection of parameters concerns only those that contribute materially to the multiple correlation between the parameters (independent variables) and the dependent variable. In our case, a set of indicators will be selected, best determining price. In effect, the automatic selection acts as a strategy generator. The generated equation will only consist of the indicators that are reliable and best describe the price behavior.
The upper part of the window of results (Fig. 8) contains statistical characteristics of the generated equation while the parameters included in the equation are listed at the bottom. Please pay attention to the underlined characteristics. Multiple R is the value of multiple correlation between the price and indicators included in the equation. "p" is the level of statistical significance of such correlation.
A level of less than 0.05 is considered statistically significant. "No. of cases" is the number of cases used in the analysis. The indicators whose contribution is statistically significant are displayed in red. Ideally, all indicators shall be marked in red.
The rules used in Statistica for including parameters in the analysis are not always optimal. For example, a great number of insignificant parameters may get included in a regression equation. We should therefore use our creativity and assist the program in selecting parameters.
If the list contains insignificant parameters, click Summary: Regression results.
A window will open displaying the data on every indicator (Fig. 9).
Fig. 9. Report on the parameters included in the regression equation.
Find an insignificant parameter with the highest p-level and remember its name. Go back to the step where the parameters were being included in the analysis (Fig. 7) and remove this parameter from the list of the parameters selected for the analysis.
To return, click Cancel in the window of the analysis results and repeat the analysis. Try to exclude all insignificant parameters in this manner. In so doing, look out for the obtained multiple correlation value (Multiple R) as it should not be considerably lower than the initial value. Insignificant parameters can be removed from the analysis one by one or all at once, the first option being more advisable.
As a result, the table now only contains the significant parameters (Fig. 10). The correlation value has decreased by 20% which is probably due to random coincidences. An infinitely long numerical series is known to have an infinite number of random coincidences.
Since data samples we process are quite large, random coincidences and random relationships are often the case. It is therefore important to use statistically significant parameters in your strategies.
Fig. 10. The equation includes the significant parameters only.
If following the selection of the parameters, a group of several indicators significantly correlating with the price cannot be formed, the price is likely to contain little information on the past events. Trades based on any technical analysis should in cases like this be very prudent or even suspended altogether.
In our case, only five out of 33 parameters have proven to be effective in developing a strategy on the basis of the regression equation. This quality of the regression analysis is of great benefit when selecting indicators for your own strategies.
3.3. Regression Equation and its Analysis.
So we ran the regression analysis and obtained the list of the 'right' indicators. Let us now transform it all into a regression equation. The equation coefficients for every indicator are shown in column B of the regression analysis results (Fig. 10). The Intercept parameter in the same table is an independent member of the equation and is included in it as an independent coefficient.
Let us generate an equation based on the table (Fig. 10), taking coefficients from column B.
Price = 22.7 + 205.2*dDemarker - 41686.2*dAC - 139.3*DeMarker + 22468.8*Bulls - 14619.5*Bears.
This equation was set forth earlier in section 1 as an MQL5 code along with the performance results obtained from the Tester for the EA developed on the basis of this equation. As can be seen, the regression analysis was adequate when used as a strategy tester. The analysis brought forward a certain strategy and selected relevant indicators from the proposed list.
In case you wish to further analyze the stability of the equation, you should check for:
Outliers in the equation; Normality of distribution of the residuals; Nonlinear effect produced by individual parameters within the equation.
These checks can be carried out using the residual analysis. To proceed to the analysis, click OK in the window of results (Fig. 8). After carrying out the above checks with regard to the generated equation, you will see that the equation does not appear to be sensitive to a small number of outliers, small deviation from the normal distribution of data and a certain nonlinearity of the parameters.
If there is a significant nonlinearity of relationship, a parameter can be linearized. For this purpose, Statistica offers a fixed nonlinear regression analysis. To start the analysis, go to the menu: Statistics -> Advanced Linear/Nonlinear Models -> Fixed Nonlinear Regression. In general, the performed checks have proven that the multiple regression analysis is not sensitive to a moderate amount of noise in the analyzed data.
4. Regression Analysis as a Strategy Optimizer.
Since the regression analysis is capable of processing thousands of parameters, it can be used to optimize strategies. Thus, if 50 periods for an indicator need to be processed, they can be saved as 50 individual parameters and sent to the regression analysis, all at once. A table in Statistica can fit 65536 parameters. When processing 50 periods for every indicator, around 1300 indicators can be analyzed! It is far beyond the capabilities of the MetaTrader 5 Standard Tester.
Let us optimize the data used in our example in the same way. As mentioned in section 4.1 above, in order to demonstrate the optimization, the indicator values with a period being twice the length of the standard one were added to the data. The names of these parameters in the data files end with '_p'. Our sample now contains 60 parameters including the standard period indicators. Following the steps as set forth in section 3.2, we will get a table as follows (Fig. 11).
Fig. 11. Results of the analysis of the indicators with different periods.
The regression equation has comprised 11 parameters: six from the standard period indicators and five from the extended period indicators. The correlation of the parameters with the price increased by a quarter. Parameters of the MACD indicator for both periods appeared to be included in the equation.
Since values of the same indicator for different periods are treated as different parameters in the regression analysis, the equation may comprise and combine values of the indicators for different periods. Por exemplo. the analysis may discover that the RSI(7) value is associated with the price increase and RSI(14) value is associated with the price decrease. The analysis by the Standard Tester is never so detailed.
The regression equation generated on the basis of the extended analysis (Fig. 11), is as follows:
Price = 297 + 173*dDemarker - 65103*dAC - 177*DeMarker + 28553*Bulls_p - 24808*AO - 1057032*dMACDms_p + 2.41*WPR_p - 2.44*Stoch_m_p + 125536*MACDms + 18.65*dRSI_p - 0.768*dCCI.
Let us see the results this equation will yield in the EA. Fig. 12 shows the results of testing the EA using the data from July 1 to September 1, 2018 that was applied in the regression analysis. The chart has got smoother and the EA has yielded more profit.
Fig. 12. EA performance over the training period.
Let us test the EA over the testing period from September 1 to November 1, 2018. The profit chart has become worse than it was in case with the EA with standard period indicators only. The equation as generated might need to be checked for normality and nonlinearity of internal indicators.
Since nonlinearity was observed in standard period indicators, it could become critical over the extended period. In this case, the equation performance can be improved by linearizing the parameters. Either way, the EA was not a total meltdown over the testing period, it simply did not profit. This qualifies the developed strategy as quite stable.
Fig. 13. EA performance over the testing period.
It should be noted that MQL5 supports the output of only 64 parameters in one line of a file. A large-scale analysis of indicators over various periods will require merging the data tables which can be done in Statistica or MS Excel.
Conclusão.
A small study presented in the article has shown that the regression analysis provides an opportunity to select from a variety of indicators the most significant ones in terms of price prediction. It has also demonstrated that the regression analysis can be used to search for indicator periods that are optimal within a given sample.
It should be noted that regression equations are easily transformed into MQL5 language and their application does not require high proficiency in programming. Thus, the multiple regression analysis can be employed in trading strategy development. That said, a regression equation can serve as a backbone for a trading strategy.
Traduzido do russo pela MetaQuotes Software Corp.
Comments
Post a Comment