Saturday, 17 March 2018

Estratégia de negociação de pontuação z


Matemática na Negociação: Como Estimar os Resultados do Comércio.
Introdução: A matemática é a rainha das ciências.
Um certo nível de background matemático é requerido para qualquer trader, e esta declaração não precisa de provas. A questão é apenas: Como podemos definir esse nível mínimo exigido? No crescimento de sua experiência de trading, o trader freqüentemente amplia sua visão "single-handed", lendo posts em fóruns ou vários livros. Alguns livros requerem um nível mais baixo de conhecimento matemático dos leitores, outros, ao contrário, inspiram a pessoa a estudar ou retocar o conhecimento em um campo de ciências puras ou outro. Vamos tentar dar algumas estimativas e suas interpretações neste artigo único.
De dois males Escolha o menos.
Há mais matemáticos no mundo do que os comerciantes bem sucedidos. Este fato é freqüentemente usado como argumento por aqueles que se opõem a cálculos ou métodos complexos na negociação. Podemos dizer que a negociação não é apenas a capacidade de desenvolver regras de negociação (habilidades de análise), mas também a capacidade de observar essas regras (disciplina). Além disso, uma teoria que descreveria exatamente os preços nos mercados financeiros ainda não foi criada até agora (acho que nunca será criada). A criação da teoria (descoberta da natureza matemática) dos próprios mercados financeiros significaria a morte desses mercados, que é um paradoxo indecidível, em termos de filosofia. No entanto, se nos depararmos com a questão de ir ao mercado com uma descrição matemática não muito satisfatória do mercado ou sem qualquer descrição, escolhemos o mal mínimo: Escolhemos métodos de estimação de sistemas de negociação.
O que é anormalidade da distribuição normal?
Uma das noções básicas da teoria da probabilidade é a noção de distribuição normal (gaussiana). Por que é assim chamado? Muitos processos naturais acabaram sendo distribuídos normalmente. Para ser mais exato, os processos mais naturais, no limite, reduzem-se à distribuição normal. Vamos considerar um exemplo simples. Suponha que tenhamos uma distribuição uniforme no intervalo de 0 a 100. Distribuição uniforme significa que a probabilidade de cair qualquer valor no intervalo e probabilidade de que 3. 14 (Pi) cairá é a mesma que a da queda 77 (meu número favorito com dois setes). Computadores modernos ajudam a gerar uma boa seqüência de números pseudo-aleatórios.
Como podemos obter uma distribuição normal desta distribuição uniforme? Acontece que, se tomarmos cada vez vários números aleatórios (por exemplo, 5 números) de uma distribuição única e encontrarmos o valor médio desses números (isso é chamado de 'tirar uma amostra') e se a quantidade de tais amostras é ótimo, a distribuição recém-obtida tenderá ao normal. O teorema do limite central diz que isso se relaciona não apenas a amostras tiradas de distribuições únicas, mas também a uma classe muito grande de outras distribuições. Como as propriedades de distribuição normal foram estudadas muito bem, será muito mais fácil analisar os processos se eles forem representados como um processo com distribuição normal. No entanto, ver é acreditar, então podemos ver a confirmação desse teorema do limite central usando um simples indicador MQL4.
Vamos lançar este indicador em qualquer gráfico com diferentes valores de N (quantidade de amostras) e ver que a distribuição de freqüência empírica se torna mais suave e suave.
Figura 1. Indicador que cria uma distribuição normal de um uniforme.
Aqui, N significa quantas vezes tiramos a média de pilha = 5 números uniformemente distribuídos no intervalo de 0 a 100. Obtivemos quatro gráficos, muito semelhantes em aparência. Se os normalizarmos de alguma forma no limite (adjunto a uma única escala), obteremos várias realizações da distribuição normal padrão. A única mosca nesse unguento é que os preços nos mercados financeiros (para ser mais exato, incrementos de preço e outros derivativos desses incrementos), em geral, não se encaixam na distribuição normal. A probabilidade de um evento bastante raro (por exemplo, de preço decrescente de 50%) nos mercados financeiros é, embora baixa, mas ainda consideravelmente maior do que na distribuição normal. É por isso que devemos nos lembrar disso ao estimar riscos com base na distribuição normal.
Quantidade transforma-se em qualidade.
Até mesmo este exemplo simples de modelagem de distribuição normal mostra que a quantidade de dados a serem processados ​​conta muito. Quanto mais dados iniciais houver, mais preciso e válido será o resultado. O menor número na amostra é considerado como tendo que exceder 30. Isso significa que, se quisermos estimar os resultados das negociações (por exemplo, um Expert Advisor no Testador), a quantidade de negociações abaixo de 30 é insuficiente para tornar estatisticamente confiável conclusões sobre alguns parâmetros do sistema. Quanto mais negociações analisamos, menor a probabilidade de que esses negócios sejam apenas elementos felizes de um sistema de negociação pouco confiável. Assim, o lucro final em uma série de 150 negociações oferece mais motivos para colocar o sistema em serviço do que um sistema estimado em apenas 15 negociações.
Expectativa Matemática e Dispersão como Estimativa de Risco.
As duas características mais importantes de uma distribuição são a expectativa matemática (média) e a dispersão. A distribuição normal padrão tem uma expectativa matemática igual a zero. Nesse ponto, o centro de distribuição também está localizado em zero. A planicidade ou declividade da distribuição normal é caracterizada pela medida de propagação de um valor aleatório dentro da área de expectativa matemática. É a dispersão que nos mostra como os valores estão espalhados sobre a expectativa matemática do valor aleatório.
Expectativa matemática pode ser encontrada de uma forma muito simples: Para conjuntos contáveis, todos os valores de distribuição são somados, sendo a soma obtida dividida pela quantidade de valores. Por exemplo, um conjunto de números naturais é infinito, mas contável, uma vez que cada valor pode ser comparado com seu índice (número de pedido). Para conjuntos incontáveis, a integração será aplicada. Para estimar a expectativa matemática de uma série de negociações, resumiremos todos os resultados comerciais e dividiremos o montante obtido pela quantidade de negociações. O valor obtido mostrará o resultado médio esperado de cada negociação. Se a expectativa matemática é positiva, nós lucramos em média. Se for negativo, perdemos em média.
Figura 2. Gráfico de densidade de probabilidade da distribuição normal.
A medida de propagação da distribuição é a soma dos desvios quadrados do valor aleatório de sua expectativa matemática. Essa característica da distribuição é chamada de dispersão. Normalmente, a expectativa matemática para um valor distribuído aleatoriamente é denominada M (X). Então a dispersão pode ser descrita como D (X) = M ((X-M (X)) ^ 2). A raiz quadrada da dispersão é denominada desvio padrão. Também é definido como sigma (σ). É uma distribuição normal com expectativa matemática igual a zero e desvio padrão igual a 1 que é chamado de distribuição normal, ou gaussiana.
Quanto maior o valor do desvio padrão, mais variável é o capital comercial, maior é o risco. Se a expectativa matemática for positiva (uma estratégia lucrativa) e igual a $ 100 e se o desvio padrão for igual a $ 500, arriscamos uma quantia, que é várias vezes maior, para ganhar cada dólar. Por exemplo, temos os resultados de 30 negociações:
Para encontrar a expectativa matemática para essa sequência de negociações, vamos somar todos os resultados e dividir isso por 30. Obteremos o valor médio M (X) igual a $ 4,26. Para encontrar o desvio padrão, subtraia a média do resultado de cada negócio, faça um quadrado e encontre a soma dos quadrados. O valor obtido será dividido por 29 (a quantidade de negociações menos um). Assim, obteremos a dispersão D igual a 9 353.623. Tendo gerado a raiz quadrada da dispersão, obtém-se o desvio padrão, sigma, igual a $ 96,71.
Os dados do cheque são dados na tabela abaixo:
(Quadrado da diferença)
O que obtivemos é a expectativa matemática igual a US $ 4,26 e o ​​desvio padrão de US $ 96,71. Não é a melhor relação entre o risco e o comércio médio. Gráfico de lucro abaixo confirma isso:
Fig.3. Gráfico de saldo para negociações realizadas.
Eu troco aleatoriamente? Z-Score.
A suposição em si de que o lucro obtido como resultado de uma série de operações é aleatória soa ironicamente para a maioria dos traders. Tendo gasto muito tempo à procura de um sistema comercial bem sucedido e observado que o sistema encontrado já resultou em alguns lucros reais em um período de tempo bastante limitado, o trader supõe ter encontrado uma abordagem adequada ao mercado. Como ele pode assumir que tudo isso foi apenas uma aleatoriedade? Isso é um pouco grosso demais, especialmente para iniciantes. No entanto, é essencial estimar os resultados objetivamente. Neste caso, a distribuição normal, novamente, vem para o resgate.
Não sabemos qual será o resultado de cada negócio. Podemos apenas dizer que ou ganhamos lucro (+) ou nos encontramos com perdas (-). Lucros e perdas alternam de maneiras diferentes para diferentes sistemas de negociação. Por exemplo, se o lucro esperado for 5 vezes menor do que a perda esperada no acionamento do Stop Loss, seria razoável presumir que as negociações lucrativas (+ negociações) prevalecerão significativamente sobre as perdas (negociações). O Z - Score permite estimar com que frequência as negociações lucrativas são alternadas com as perdidas.
Z para um sistema de negociação é calculado pela seguinte fórmula:
N - quantidade total de negociações em uma série;
R - quantidade total de séries de negociações lucrativas e perdedoras;
W - quantidade total de negociações lucrativas na série;
L - quantidade total de negociações perdedoras na série.
Uma série é uma sequência de sinais positivos, seguidos uns dos outros (por exemplo, +++) ou minuses seguidos uns dos outros (por exemplo, -). R conta a quantidade de tais séries.
Fig.4. Comparação de duas séries de lucros e perdas.
Na Fig. 4, uma parte da sequência de lucros e perdas do Expert Advisor que ocupou o primeiro lugar no Campeonato de Negociação Automática 2006 é mostrada em azul. Z-score da sua conta de competição tem o valor de -3,85, a probabilidade de 99,74% é dada entre parênteses. Isso significa que, com uma probabilidade de 99,74%, os negócios nessa conta tiveram uma dependência positiva entre eles (o escore Z é negativo): um lucro foi seguido por um lucro, uma perda foi seguida por uma perda. É este o caso? Aqueles que estavam assistindo ao campeonato provavelmente se lembrariam que Roman Rich colocou sua versão do Expert Advisor MACD que freqüentemente abriu três negociações rodando na mesma direção.
Uma seqüência típica de valores positivos e negativos do valor aleatório na distribuição normal é mostrada em vermelho. Podemos ver que essas seqüências são diferentes. No entanto, como podemos medir essa diferença? Z-score responde a esta pergunta: Sua sequência de lucros e perdas contém mais ou menos tiras (lucrativas ou séries perdedoras) do que você pode esperar por uma sequência realmente aleatória sem qualquer dependência entre negociações? Se o escore Z for próximo de zero, não podemos dizer que a distribuição de negociações seja diferente da distribuição normal. Z-score de uma seqüência de negociação pode nos informar sobre a possível dependência entre negociações consecutivas.
Nisso, os valores de Z são interpretados da mesma forma que a probabilidade de desvio de zero de um valor aleatório distribuído de acordo com a distribuição normal padrão (média = 0, sigma = 1). Se a probabilidade de cair um valor aleatório normalmente distribuído dentro do intervalo de ± 3σ é 99,74%, a queda desse valor fora desse intervalo com a mesma probabilidade de 99,74% nos informa que esse valor aleatório não pertence a essa distribuição normal dada . É por isso que a "regra do 3-sigma" é lida da seguinte maneira: um valor aleatório normal se desvia da sua média por não mais de 3-sigma de distância.
O sinal de Z nos informa sobre o tipo de dependência. Além disso, significa que é muito provável que o comércio lucrativo seja seguido por um perdedor. Menos diz que o lucro será seguido por um lucro, uma perda será seguida por uma perda novamente. Uma pequena tabela abaixo ilustra o tipo e a probabilidade de dependência entre as negociações em comparação com a distribuição normal.
Uma dependência positiva entre negociações significa que um lucro causará um novo lucro, enquanto uma perda causará uma nova perda. Uma dependência negativa significa que um lucro será seguido por uma perda, enquanto a perda será seguida por um lucro. A dependência encontrada nos permite regular os tamanhos das posições a serem abertas (idealmente) ou até mesmo pular algumas delas e abri-las apenas virtualmente, a fim de observar sequências comerciais.
Rendimentos de períodos de espera (HPR)
Em seu livro, The Mathematics of Money Management, Ralph Vince usa a noção de HPR (holding period returns). Uma negociação resultou em lucro de 10% tem o HPR = 1 + 0,10 = 1,10. Um trade resultou em uma perda de 10% com o HPR = 1-0. 10 = 0,90. Você também pode obter o valor de HPR para uma negociação, dividindo o valor do saldo após o fechamento da negociação (BalanceClose) pelo valor do saldo na abertura da negociação (BalanceOpen). HPR = BalanceClose / BalanceOpen. Assim, todo comércio tem tanto um resultado em termos monetários quanto um resultado expresso em HPR. Isso nos permitirá comparar sistemas independentemente do tamanho dos contratos negociados. Um dos índices utilizados em tal comparação é a média aritmética, AHPR (retornos médios do período de retenção).
Para encontrar o AHPR, devemos somar todos os HPRs e dividir o resultado pela quantidade de negociações. Vamos considerar esses cálculos usando o exemplo acima de 30 negociações. Suponha que começamos a negociar com $ 500 na conta. Vamos fazer uma nova tabela:
AHPR será encontrado como a média aritmética. É igual a 1,0217. Em outras palavras, nós ganhamos medianamente (1,0217-1) * 100% = 2,17% em cada negociação. É este o caso? Se multiplicarmos 2,17 por 30, veremos que a receita deve chegar a 65,1%. Vamos multiplicar o valor inicial de $ 500 por 65,1% e obter $ 325,50. Ao mesmo tempo, o lucro real faz (627,71-500) /500 * 100% = 25,54%. Assim, a média aritmética de HPR nem sempre nos permite estimar um sistema adequadamente.
Juntamente com a média aritmética, Ralph Vince introduz a noção de média geométrica que chamaremos de GHPR (retornos de período de retenção geométrica), que é praticamente sempre menor que a AHPR. A média geométrica é o fator de crescimento por jogo e é encontrada pela seguinte fórmula:
N - quantidade de negociações;
BalanceOpen - estado inicial da conta;
BalanceClose - estado final da conta.
O sistema com o maior GHPR terá os maiores lucros se negociarmos com base no reinvestimento. O GHPR abaixo de um significa que o sistema perderá dinheiro se negociarmos com base no reinvestimento. Uma boa ilustração da diferença entre o AHPR e o GHPR pode ser o histórico da conta do sashken. Ele foi o líder do campeonato por um longo tempo. AHPR = 9,98% impressiona, mas o GHPR final = -27,68% coloca tudo em perspectiva.
Relação de Sharpe.
A eficiência dos investimentos é frequentemente estimada em termos de dispersão de lucros. Um desses índices é o índice de Sharpe. Este índice mostra como a AHPR diminuiu pela taxa livre de risco (RFR) relacionada ao desvio padrão (SD) da sequência HPR. O valor do RFR é geralmente considerado igual à taxa de juros em depósito no banco ou taxa de juros sobre obrigações do tesouro. No nosso exemplo, AHPR = 1,0217, SD (HPR) = 0,17607, RFR = 0.
AHPR - retornos médios do período de detenção;
RFR - taxa livre de risco;
SD - desvio padrão.
Proporção de Sharpe = (1,0217- (1 + 0)) / 0,17607 = 0,0217 / 0,17607 = 0,1232. Para distribuição normal, mais de 99% dos valores aleatórios estão dentro da faixa de ± 3σ (sigma = SD) sobre o valor médio M (X). Daqui resulta que o valor de Sharpe Ratio superior a 3 é muito bom. Na Figura 5 abaixo, podemos ver que, se os resultados de negociação são distribuídos normalmente e Índice de Sharpe = 3, a probabilidade de perda é inferior a 1% por negociação, de acordo com a regra 3-sigma.
Fig.5. Distribuição normal dos resultados comerciais com a probabilidade de perda inferior a 1%.
A conta do participante RobinHood confirma isso: sua EA fez 26 negociações no Automated Trading Championship 2006 sem perder nenhuma delas. Relação de Sharpe = 3,07!
Regressão Linear (LR) e Coeficiente de Correlação Linear (CLC)
Há também outra maneira de estimar a estabilidade dos resultados comerciais. Sharpe Ratio nos permite estimar o risco do capital está sendo executado, mas também podemos tentar estimar o grau de suavidade da curva de equilíbrio. Se impusermos os valores de saldo no fechamento de cada negociação, poderemos traçar uma linha quebrada. Esses pontos podem ser ajustados com uma certa linha reta que nos mostrará a direção média das mudanças de capital. Vamos considerar um exemplo dessa oportunidade usando o gráfico de equilíbrio do Expert Advisor Phoenix_4 desenvolvido por Hendrick.
Fig. 6. Gráfico de balanço de Hendrick, o participante do campeonato de negociação automatizado de 2006.
Temos que encontrar os coeficientes aeb de que esta linha vai o mais próximo possível dos pontos que estão sendo ajustados. No nosso caso, x é o número comercial, y é o valor do saldo no fechamento do negócio.
Os coeficientes de uma reta aproximada são geralmente encontrados pelo método dos mínimos quadrados (método dos mínimos quadrados). Suponha que tenhamos isso direto com os coeficientes conhecidos a e b. Para cada x, temos dois valores: y (x) = a * x + be balanço (x). O desvio do equilíbrio (x) de y (x) será denotado como d (x) = y (x) - balanço (x). O SSD (soma dos desvios quadrados) pode ser calculado como SD = Summ. Encontrar o método straight by LS significa procurar por aeb que o SD é mínimo. Essa reta também é chamada de regressão linear (LR) para a sequência dada.
Fig. 7. Desvio do valor do balanço da reta de y = ax + b.
Tendo obtido coeficientes da reta de y = a * x + b usando o método LS, podemos estimar o desvio do valor do balanço a partir da reta encontrada em termos monetários. Se calcularmos a média aritmética da sequência d (x), estaremos certos de que М (d (x)) está próximo de zero (para ser mais exato, é igual a zero a algum grau de precisão de cálculo). Ao mesmo tempo, o SSD de SD não é igual a zero e tem um certo valor limitado. A raiz quadrada de SD / (N-2) mostra a distribuição de valores no gráfico Balanço sobre a linha reta e permite estimar sistemas de negociação com valores idênticos do estado inicial da conta. Nós chamaremos este parâmetro LR Standard Error.
Abaixo estão os valores desse parâmetro para as primeiras 15 contas no Automated Trading Championship 2006:
No entanto, o grau de aproximação do gráfico de saldo a uma reta pode ser medido em termos monetários e absolutos. Para isso, podemos usar taxa de correlação. A taxa de correlação, r, mede o grau de correlação entre duas seqüências de números. Seu valor pode estar dentro do intervalo de -1 a +1. Se r = + 1, significa que duas seqüências têm comportamento idêntico e a correlação é positiva.
Fig. 8. Exemplo de correlação positiva.
Se r = -1, as duas seqüências mudam em oposição, a correlação é negativa.
Fig. 9. Exemplo de correlação negativa.
Se r = 0, significa que não há dependência encontrada entre as seqüências. Deve ser enfatizado que r = 0 não significa que não há correlação entre as seqüências, apenas diz que tal correlação não foi encontrada. Isso deve ser lembrado. No nosso caso, temos que comparar duas seqüências de números: одна последовательность из графика баланса, а вторая - соответствующие точки на прямой линейной регрессии.
Fig. 10. Valores de equilíbrio e pontos na regressão linear.
Abaixo está a representação da tabela dos mesmos dados:
Vamos denotar valores de equilíbrio como X e a seqüência de pontos na linha de regressão reta como Y. Para calcular o coeficiente de correlação linear entre as seqüências X e Y, é necessário encontrar os valores médios M (X) e M (Y) primeiro. Então, criaremos uma nova sequência T = (XM (X)) * (YM (Y)) e calcularemos seu valor médio como M (T) = cov (X, Y) = M ((XM (X)) * ( YM (Y))). O valor encontrado de cov (X, Y) é denominado covariância de X e Y e significa expectativa matemática do produto (X-M (X)) * (Y-M (Y)). Para nosso exemplo, o valor de covariância é 21 253 775,08. Por favor, note que M (X) e M (Y) são iguais e têm o valor de 21 382,26 cada. Isso significa que o valor médio do saldo e a média do ajuste são iguais.
Y - regressão linear;
M (X) - Valor médio do saldo;
M (Y) - LR valor médio.
A única coisa que resta a ser feita é o cálculo de Sx e Sy. Para calcular Sx, vamos encontrar a soma dos valores de (X-M (X)) ^ 2, ou seja, encontrar o SSD de X a partir do seu valor médio. Lembre-se como calculamos a dispersão e o algoritmo do método LS. Como você pode ver, todos estão relacionados. O SSD encontrado será dividido pela quantidade de números na sequência - no nosso caso, 36 (de zero a 35) - e extrair a raiz quadrada do valor resultante. Então nós obtivemos o valor de Sx. O valor de Sy será calculado da mesma maneira. No nosso exemplo, Sx = 5839. 098245 e Sy = 4610. 181675.
N - quantidade de negociações;
Y - regressão linear;
M (X) - Valor médio do saldo;
M (Y) - LR valor médio.
Agora podemos encontrar o valor do coeficiente de correlação como r = 21 253 775,08 / (5839, 098245 * 4610, 181675) = 0,789536583. Isso está abaixo de um, mas longe de zero. Assim, podemos dizer que o gráfico de saldo se correlaciona com a linha de tendência avaliada como 0,79. Em comparação com outros sistemas, aprenderemos gradualmente a interpretar os valores do coeficiente de correlação. Na página "Relatórios" do Campeonato, esse parâmetro é chamado de correlação LR. A única diferença feita para calcular este parâmetro dentro da estrutura do Campeonato é que o sinal da correlação LR indica a lucratividade comercial.
A questão é que podemos calcular o coeficiente de correlação entre o gráfico de balanço e qualquer linha reta. Para fins do Campeonato, foi calculado para a linha de tendência ascendente, portanto, se a correlação LR estiver acima de zero, a negociação é lucrativa. Se estiver abaixo de zero, está perdendo. Às vezes, um efeito interessante ocorre quando a conta aumenta o lucro, mas a correlação LR é negativa. Isso pode significar que a negociação está perdendo, de qualquer maneira. Um exemplo dessa situação pode ser visto no Aver's. O Lucro Líquido Total faz $ 2 642, enquanto que a correlação LR é -0,11. Provavelmente não há correlação, neste caso. Isso significa que não podemos julgar o futuro da conta.
MAE e MFE nos dirão muito.
Muitas vezes somos avisados: "Reduza as perdas e deixe o lucro crescer". Olhando para os resultados finais do comércio, não podemos tirar nenhuma conclusão sobre se as paradas de proteção (Stop Loss) estão disponíveis ou se a fixação do lucro é efetiva. Apenas vemos a data de abertura da posição, a data de encerramento e o resultado final - um lucro ou uma perda. Isso é como julgar uma pessoa por suas datas de nascimento e morte. Sem saber sobre lucros flutuantes durante a vida de cada negócio e sobre todas as posições como um todo, não podemos julgar a natureza do sistema de negociação. Quão arriscado é isso? Como foi alcançado o lucro? O lucro do papel foi perdido? As respostas a estas perguntas podem ser bem fornecidas pelos parâmetros MAE (Excursão Máxima Advertiva) e MFE (Excursão Máxima Favorável).
Cada posição aberta (até que esteja fechada) experimenta continuamente flutuações de lucro. Todo negócio atingiu seu lucro máximo e sua perda máxima durante o período entre sua abertura e fechamento. MFE mostra o movimento máximo do preço em uma direção favorável. Respectivamente, o MAE mostra o movimento máximo do preço em uma direção adversa. Seria lógico medir os dois índices em pontos. No entanto, se diferentes pares de moedas forem negociados, teremos que expressá-lo em termos monetários.
Todo comércio fechado corresponde ao seu resultado (retorno) e dois índices - MFE e MAE. Se o negócio resultou em lucro de US $ 100, atingindo o MAE - US $ 1000, isso não significa o melhor para esse negócio. A disponibilidade de muitos negócios resultou em lucros, mas com grandes valores negativos do MAE por negociação, nos informa que o sistema apenas "fica de fora" perdendo posições. Essa negociação está fadada ao fracasso mais cedo ou mais tarde.
Da mesma forma, os valores de MFE podem fornecer algumas informações úteis. Se uma posição foi aberta na direção certa, a MFE por negociação chegou a US $ 3.000, mas a negociação foi fechada resultando no lucro de US $ 500, podemos dizer que seria bom elaborar o sistema de proteção ao lucro não fixado. Isso pode ser Trailing Stop que podemos mover após o preço se este último se mover em uma direção favorável. Se lucros curtos são sistemáticos, o sistema pode ser significativamente melhorado. MFE nos dirá sobre isso.
Para que a análise visual seja mais conveniente, seria melhor usar a representação gráfica da distribuição de valores de MAE e MFE. Se impusermos cada negociação em um gráfico, veremos como o resultado foi obtido. Por exemplo, se tivermos outra olhada em "Relatórios" de RobinHood que não tiveram nenhum negócio perdedor, veremos que cada negociação teve um rebaixamento (MAE) de - $ 120 a - $ 2500.
Fig. 11. Distribuição de negociações no plano de MAExReturns.
Além disso, podemos desenhar uma linha reta para ajustar a distribuição Returns x MAE usando o método LS. Na Fig. 11, é mostrado em vermelho e tem uma inclinação negativa (os valores retos diminuem quando se move da esquerda para a direita). Correlação de Parâmetros (Lucros, MAE) = - 0,59 nos permite estimar o quão perto da reta os pontos estão distribuídos no gráfico. O valor negativo mostra inclinação negativa da linha de ajuste.
Se você examinar as contas de outros participantes, verá que o coeficiente de correlação geralmente é positivo. No exemplo acima, a inclinação descendente da linha nos diz que ela tende a obter mais e mais rebaixamentos para não permitir negociações perdidas. Agora podemos entender que preço foi pago pelo valor ideal do parâmetro LR Correlation = 1!
Da mesma forma, podemos construir um gráfico de distribuição de retornos e MFE, bem como encontrar os valores de Correlação (Lucros, MFE) = 0,77 e Correlação (MFE, MAE) = -0,59. Correlação (Lucros, MFE) é positiva e tende a um (0,77). Isso nos informa que a estratégia tenta não permitir lucros flutuantes "longos". É mais provável que o lucro não seja permitido crescer o suficiente e as transações são fechadas pelo Take Profit. Como você pode ver, as distribuições de MAE e MFE nos dão uma estimativa visual e os valores de Correlação (Lucros, MFE) e Correlação (Lucros, MAE) podem nos informar sobre a natureza da negociação, mesmo sem gráficos.
Valores de Correlação (MFE, MAE), Correlação (Lucros Normalizados, MAE) e Correlação (Lucros Normalizados, MFE) nos "Relatórios" dos Participantes do Campeonato são dados como informação adicional.
Normalização do Resultado do Comércio.
No desenvolvimento de sistemas de negociação, eles geralmente usam tamanhos fixos para posições. Isso permite uma otimização mais fácil dos parâmetros do sistema, a fim de encontrar os mais adequados em determinados critérios. No entanto, depois que as entradas foram encontradas, a pergunta lógica ocorre: Qual sistema de gerenciamento de dimensionamento (Money Management, MM) deve ser aplicado. O tamanho das posições abertas se relaciona diretamente com a quantia de dinheiro na conta, então não seria razoável negociar na conta com US $ 5.000 da mesma forma que com US $ 50.000. Além disso, um sistema MM pode abrir posições, que não são diretamente proporcionais. Quero dizer, uma posição aberta na conta com $ 50.000 não deve necessariamente ser 10 vezes mais do que a aberta em um depósito de $ 5.000.
Os tamanhos de posição também podem variar de acordo com a fase atual do mercado, com os resultados das últimas análises de vários negócios e assim por diante. Assim, o sistema de gerenciamento de dinheiro aplicado pode essencialmente alterar a aparência inicial de um sistema de negociação. Como podemos, então, estimar o impacto do sistema de gerenciamento de dinheiro aplicado? Foi útil ou apenas piorou os aspectos negativos da nossa abordagem de negociação? Como podemos comparar os resultados de negociação em várias contas com o mesmo tamanho de depósito no início? Uma solução possível seria a normalização dos resultados comerciais.
TradeProfit - lucro por comércio em termos monetários;
TradeLots - tamanho da posição (lotes);
MinimumLots - tamanho mínimo permitido da posição.
A normalização será realizada da seguinte forma: dividiremos o resultado de cada operação (lucro ou perda) pelo volume da posição e multiplicaremos pelo tamanho mínimo permitido da posição. Por exemplo, o pedido # 4399142 COMPRA 2.3 lotes USDJPY foi fechado com o lucro de $ 4 056. 20 + $ 118,51 (swaps) = $ 4 174,71. Este exemplo foi retirado do relato de GODZILLA (Nikolay Kositsin). Vamos dividir o resultado por 2,3 e multiplicar por 0,1 (o tamanho mínimo permitido da posição) e obter um lucro de US $ 4 056,20 / 2,3 * 0,1 = US $ 176,36 e swaps = US $ 5,15. estes seriam resultados para a ordem do tamanho de 0,1 lote. Vamos fazer o mesmo com os resultados de todas as negociações e, em seguida, obteremos lucros normalizados (NP).
a primeira coisa em que pensamos é encontrar valores de correlação (lucros normalizados, MAE) e correlação (lucros normalizados, MFE) e compará-los com a correlação inicial (lucros, MAE) e correlação (lucros, MFE). Se a diferença entre os parâmetros for significativa, o método aplicado provavelmente alterou essencialmente o sistema inicial. Eles dizem que a aplicação do MM pode "matar" um sistema lucrativo, mas não pode transformar um sistema perdedora em lucrativo. no Campeonato, a conta de TMR é uma exceção rara em que a mudança do valor de Correlação (Valores Normalizados, MFE) de 0,23 para 0,63 permitiu ao trader "fechar em preto".
Como podemos estimar a agressão da estratégia?
Podemos nos beneficiar ainda mais de negociações normalizadas na medição de como o método MM aplicado influencia a estratégia. É óbvio que os tamanhos crescentes de posições 10 vezes causarão que o resultado final se diferencie do inicial 10 vezes. E se mudarmos os tamanhos das transações não por um determinado número de vezes, mas dependendo dos desenvolvimentos atuais? Os resultados obtidos por empresas administradoras de confiança são geralmente comparados a um determinado modelo, geralmente - a um índice de ações. O Coeficiente Beta mostra quantas vezes o depósito da conta é alterado em comparação com o índice. Se tomarmos as negociações normalizadas como um índice, seremos capazes de saber quanto mais voláteis os resultados se tornam em comparação com o sistema inicial (negociações de 0,1 lote).
Assim, em primeiro lugar, calculamos covariância - cov (lucros, lucros normalizados). então calculamos a dispersão de negociações normalizadas nomeando a sequência de negociações normalizadas como NP. Para isso, calcularemos a expectativa matemática de negociações normalizadas denominadas M (NP). M (NP) mostra o resultado médio da negociação para negociações normalizadas. Então nós encontraremos o SSD de negociações normalizadas de M (NP), ou seja, nós somaremos (NP-M (NP)) ^ 2. O resultado obtido será dividido pela quantidade de negociações e nome D (NP). Esta é a dispersão de negociações normalizadas. Vamos dividir a covariância entre o sistema sob medição, Lucros e o índice ideal, lucros normalizados (lucros, lucros normalizados), pelo índice de dispersão D (NP). O resultado será o valor do parâmetro que nos permitirá estimar quantas vezes mais volátil é o capital do que os resultados de negociações originais (negociações no Campeonato) em comparação com negociações normalizadas. Esse parâmetro é denominado Composição financeira nos "Relatórios". Mostra o nível de agressão comercial em certa medida.
Lucros - resultados comerciais;
NP - resultados comerciais normalizados;
M (NP) - valor médio das negociações normalizadas.
Agora podemos revisar a forma como lemos a tabela dos participantes do Campeonato de Negociação Automatizada 2006:
The LR Standard error in Winners' accounts was not the smallest. At the same time, the balance graphs of the most profitable Expert Advisors were rather smooth since the LR Correlation values are not far from 1.0. The Sharpe Ratio lied basically within the range of 0.20 to 0.40. The only EA with extremal Sharpe Ratio=3.07 turned not to have very good values of MAE and MFE.
The GHPR per trade is basically located within the range from 1.5 to 3%. At that, the Winners did not have the largest values of GHPR, though not the smallest ones. Extreme value GHPR=12.77% says us again that there was an abnormality in trading, and we can see that this account experienced the largest fluctuations with LR Standard error=$9 208.08.
Z-score does not give us any generalizations about the first 15 Championship Participants, but values of |Z|>2.0 may draw our attention to the trading history in order to understand the nature of dependence between trades on the account. Thus, we know that Z=-3.85 for Rich's account was practically reached due to simultaneous opening of three positions. And how are things with ldamiani's account?
Finally, the last column in the above table, Money Compounding, also has a large range of values from 8 to 50, 50 being the maximal value for this Championship since the maximal allowable trade size made 5.0 lots, which is 50 times more than the minimal size of 0.1 lot. However, curiously enough, this parameter is not the largest at Winners. The Top Three's values are 17.27, 28.79 and 16.54. Did not the Winners fully used the maximal allowable position size? Yes, they did. the matter is, perhaps, that the MM methods did not considerably influence trading risks at general increasing of contract sizes. This is a visible evidence of that money management is very important for a trading system.
The 15th place was taken by payday. The EA of this Participant could not open trades with the size of more than 1. 0 lot due to a small error in the code. What if this error did not occur and position sizes were in creased 5 times, up to 5.0 lots? Would then the profit increase proportionally, from $4 588.90 to $22 944.50? Would the Participant then take the second place or would he experience an irrecoverable DrawDown due to increased risks? Would alexgomel be on the first place? His EA traded with only 1.0-лот trades, too. Or could vgc win, whose Expert Advisor most frequently opened trades of the size of less than 1.0 lot. All three have a good smooth balance graph. As you can see, the Championship's plot continues whereas it was over!
Conclusion: Don't Throw the Baby Out with the Bathwater.
Opinions differ. This article gives some very general approaches to estimation of trading strategies. One can create many more criteria to estimate trade results. Each characteristic taken separately will not provide a full and objective estimate, but taken together they may help us to avoid lopsided approach in this matter.
We can say that we can subject to a "cross-examination" any positive result (a profit gained on a sufficient sequence of trades) in order to detect negative points in trading. This means that all these characteristics do not so much characterize the efficiency of the given trading strategy as inform us about weak points in trading we should pay attention at, without being satisfied with just a positive final result - the net profit gained on the account.
Well, we cannot create an ideal trading system, every system has its benefits and implications. Estimation test is used in order not to reject a trading approach dogmatically, but to know how to perform further development of trading systems and Expert Advisors. In this regard, statistical data accumulated during the Automated Trading Championship 2006 would be a great support for every trader.
Traduzido do russo por MetaQuotes Software Corp.

Z-Score.
O que é um 'Z-Score'
A Z-score is a numerical measurement of a value's relationship to the mean in a group of values. If a Z-score is 0, it represents the score as identical to the mean score.
Z-scores may also be positive or negative, with a positive value indicating the score is above the mean and a negative score indicating it is below the mean. Positive and negative scores also reveal the number of standard deviations that the score is either above or below the mean.
QUEBRANDO 'Z-Score'
Z-scores reveal to statisticians and traders whether a score is typical for a specified data set or if it is atypical. In addition to this, Z-scores also make it possible for analysts to adapt scores from various data sets to make scores that can be compared to one another accurately. Usability testing is one example of a real-life application of Z-scores.
The Z-score is more commonly known as the Altman Z-score. Edward Altman, a professor at New York University, developed and introduced the Z-score formula in the late 1960s as a solution to the time-consuming and somewhat confusing process investors had to undergo to determine how close to bankruptcy a company was. In reality, the Z-score formula Altman developed ended up providing investors with an idea of the overall financial health of a company.
The Altman Z-Score Formula.
The Altman Z-score is the output of a credit-strength test that helps gauge the likelihood of bankruptcy for a publicly traded manufacturing company. The Z-score is based on five key financial ratios that can be found and calculated from a company's annual 10-K report. The calculation used to determine the Altman Z-score is as follows:
Z-Score = 1.2A + 1.4B + 3.3C + 0.6D + 1.0E.
Nesta equação:
A = Working capital/total assets.
B = Retained earnings/total assets.
C = Earnings before interest and taxes (EBIT)/total assets.
D = Market value of equity/book value of total liabilities.
E = Sales/total assets.
Typically, a score below 1.8 indicates that a company is likely heading for or is under the weight of bankruptcy. Por outro lado, as empresas com pontuação acima de 3 são menos propensas à falência.
Shortfalls of the Z-Score.
Alas, the Z-score is not perfect and needs to be calculated and interpreted with care. For starters, the Z-score is not immune to false accounting practices. Since companies in trouble may be tempted to misrepresent financials, the Z-score is only as accurate as the data that goes into it.
The Z-score also isn't much use for new companies with little to no earnings. These companies, regardless of their financial health, will score low. Moreover, the Z-score doesn't address the issue of cash flows directly, only hinting at it through the use of the net working capital-to-asset ratio. After all, it takes cash to pay the bills.
Por fim, as pontuações Z podem variar de trimestre para trimestre, quando uma empresa registra baixas de uma só vez. These can change the final score, suggesting that a company that's really not at risk is on the brink of bankruptcy.
Alas, the Z-score is not perfect and needs to be calculated and interpreted with care. For starters, the Z-score is not immune to false accounting practices. As WorldCom demonstrates, companies in trouble may be tempted to misrepresent financials. The Z-score is only as accurate as the data that goes into it.
The Z-score also isn't much use for new companies with little or no earnings. These companies, regardless of their financial health, will score low. Moreover, the Z-score doesn't address the issue of cash flows directly, only hinting at it through the use of the net working capital-to-asset ratio. After all, it takes cash to pay the bills.
Por fim, as pontuações Z podem variar de trimestre para trimestre, quando uma empresa registra baixas de uma só vez. These can change the final score, suggesting that a company that's really not at risk is on the brink of bankruptcy.
Altman Z-Score Plus.
Altman developed and released the Altman Z-Score Plus in 2012. This formula is used to evaluate both public and private companies and can be used for non-manufacturing companies as well as manufacturing companies. The Z-Score Plus is suitable for companies in the United States as well as non-US companies, including those in emerging economies, such as China..

Z-Score Indicator.
Here's another look at Bollinger Bands.
The z - score ( z ) for a data item x measures the distance (in standard deviations σ) and direction of the item from its mean (μ):
A value of zero indicates that the data item x is equal to the mean μ, while positive or negative values show that the data item is above (x>μ) or below (x<μ) the mean, respectively. Values of +2 and -2 show that the data item is two standard deviations above or below the chosen mean, respectively, and over 95.5% of all data items are contained within these two horizontal references (see Figure 1).
Figure 1: Z - score indicator. Over 95.5% of all data are contained within + and -2 standard deviations.
CALCULATION OF Z-SCORE.
How can you apply this formula to stock prices? If you substitute x with the closing price C , the mean μ with simple moving average (SMA) of n periods ( n ), and σ with the standard deviation of closing prices for n periods, the above formula becomes:
(Computation of z - score, using Excel and MetaStock, for a series of closing prices, is explained in the sidebar, " Z - score calculation.")
HOW TO USE THE Z-SCORE INDICATOR.
Once the indicator is defined, the question is "What is the relationship between z - score and the well-known Bollinger Bands?" While Bollinger Bands applied to closing prices are displayed as D standard deviations above and below the mean, z - score shows how far the current closing price is from these bands.
Figure 2 displays Bollinger Bands for closing prices (20 periods and two standard deviations) and z - score for 20 days applied to the daily chart of the Dow Jones Industrial Average (DJIA).
Figure 2: Bollinger Bands and z - score. When prices touch the bands, the z-score reaches +2 or -2 standard deviation levels.
As expected, whenever the price touches the top band, the z - score reaches the +2. Conversely, when price touches the lower band, the z - score reaches -2 standard deviation levels.
In Figure 3 (top chart) you see the z - score indicator applied to the Nasdaq composite index. The horizontal levels at +2, 0, -2 offer a clear picture of expected resistance and support levels, as they are equivalent with top Bollinger Band, moving average, and bottom Bollinger Band, respectively.
Figure 3: Smoothing the z - score. This can result in very profitable trades.
Z - score applied to closing prices is an irregular curve that can be smoothed by applying moving averages. In Figure 3 (bottom chart), a simple three-day moving average has been applied to the z - score (20), and a simple five-day moving average is applied to the resulting average.
As you can see, good long tradable moves took place at:
when the three-day simple moving average crossed above the five-day simple moving average of the three-day simple moving average. Observe que há algumas boas oportunidades de shorting iniciadas quando a média móvel simples de três dias cruzou abaixo da média móvel simples de cinco dias da média móvel simples de três dias (3/12/02, 22/04/02, 21/5/21). 02 e 8/23/02).
CONCLUSIONS.
The z - score indicator is not new, but its use can be seen as a supplement to Bollinger Bands. It offers a simple way to assess the position of the price vis-à-vis its resistance and support levels expressed by the Bollinger Bands. In addition, crossings of z - score averages may signal the start or the end of a tradable trend. Traders may take a step further and look for stronger signals by identifying common crossing points of z - score, its average, and average of average.
In order to improve performance, traders can use different periods for the bands together with other periods for the moving averages.
Veronique Valcu is a senior at the American School of Paris, France, with an interest in the financial markets.
REFERENCES.
Elder, Alexander [1993]. Trading For A Living , John Wiley & Sons.
Evens, Stuart P. [1999]. "Bollinger Bands," Technical Analysis of STOCKS & COMMODITIES, Volume 17: March.
Murphy, John J [1999]. Technical Analysis Of Financial Markets , New York Institute of Finance.
animatedsoftware, Internet Glossary of Statistical Terms.
thinkquest, ThinkQuest: Biblioteca de Desafios da Internet.
TC2000 (data), MetaStock (Equis International)
SIDEBAR: Z-SCORE CALCULATION.
The Z - score formula applied to closing prices is.
In this example, n = 20 days, but other periods can be used.
Here is the calculation written for an Excel spreadsheet where n = 20 periods (daily bars). Closing prices are shown in column B for the Nasdaq Composite between July 1 and August 30, 2002.
In cell C21, compute the simple moving average for the first 20 closing prices:
In cell D21, the use of the Excel function STDEVP (standard deviation) defines the standard deviation of closing prices for the first 20 days:
In cell E21, insert the Z - score formula as:
Copy formulas in C21, D21, and E21 down to the bottom of the last row of the columns. Os resultados finais do escore Z aparecem na coluna E. Os valores nessa coluna podem ser plotados facilmente para visualizar o indicador do escore-Z.
You can download the spreadsheet here.
To create the same indicator using MetaStock 6.52, select Indicator Builder from Tools, select "New," assign " Z - score" as Name and enter the following code:
a := (C-Mov(C, Periods, S))/ Stdev(C, Periods ) ;
Press OK to save this code. Agora você está pronto para aplicar esse indicador a qualquer gráfico selecionado. V. V.
Current and past articles from Working Money, The Investors' Magazine, can be found at Working-Money.
Direitos autorais & copy; 1982 & ndash; 2018 Technical Analysis, Inc. Todos os direitos reservados. Leia nosso aviso de isenção de responsabilidade & amp; declaração de privacidade.

Backtesting Uma estratégia de pares de reversão média intradiária entre SPY e IWM.
Backtesting Uma estratégia de pares de reversão média intradiária entre SPY e IWM.
Neste artigo, vamos considerar nossa primeira estratégia de negociação intradiária. Ele estará usando uma idéia de negociação clássica, a de "pares de negociação". Neste caso, vamos utilizar dois Exchange Traded Funds (ETFs), o SPY e o IWM, que são negociados na Bolsa de Nova York (NYSE) e tentar representar os índices do mercado de ações dos EUA, o S & amp; P500 e o Russell 2000, respectivamente.
A estratégia cria, em geral, um "spread" entre o par de ETFs, desejando um e diminuindo um montante do outro. A proporção de longo para curto pode ser definida de várias maneiras, como a utilização de técnicas estatísticas de séries temporais de cointegração. Neste cenário, vamos calcular uma relação de hedge entre SPY e IWM por meio de uma regressão linear rolante. Isso nos permitirá criar um "spread" entre SPY e IWM, que é normalizado para um z-score. Os sinais de negociação serão gerados quando o z-score exceder certos limites, sob a crença de que o spread reverterá para a média.
A justificativa para a estratégia é que o SPY e o IWM estão caracterizando aproximadamente a mesma situação, a da economia de um grupo de empresas americanas de grande capitalização e de baixa capitalização. A premissa é que, se alguém tomar a propagação dos preços, ela deve reverter a média, já que eventos "locais" (no tempo) podem afetar os índices S & P500 ou Russell 2000 separadamente (como small-cap / large - diferenças de limite, datas de reequilíbrio ou operações em bloco), a série de preços de longo prazo dos dois provavelmente será cointegrada.
A estratégia.
A estratégia é executada nas seguintes etapas:
Dados - barras de 1 minuto de SPY e IWM são obtidas de abril de 2007 até fevereiro de 2014. Processamento - Os dados estão alinhados corretamente e as barras faltantes são descartadas mutuamente. Spread - A taxa de hedge entre os dois ETFs é calculada tomando uma regressão linear rolante. Isso é definido como o coeficiente de regressão $ \ beta $ usando uma janela de lookback que avança 1 barra e recalcula os coeficientes de regressão. Assim, a relação de hedge $ \ beta_i $, para bar $ b_i $, é calculada entre os pontos $ b_ $ a $ b_ $ para uma retrospectiva de $ k $ bars. Z-Score - A pontuação padrão do spread é calculada da maneira usual. Isso significa subtrair a média (amostra) do spread e dividir pelo desvio padrão (amostra) do spread. A justificativa para isso é tornar os parâmetros limiares mais simples de interpretar, já que o escore z é uma grandeza adimensional. Eu deliberadamente introduzi um viés antecipado nos cálculos, a fim de mostrar o quão sutil pode ser. Tente e olhe para fora para ele! Negociações - Sinais longos são gerados quando o escore z negativo cai abaixo de um limiar predeterminado (ou pós-otimizado), enquanto sinais curtos são o inverso disso. Sinais de saída são gerados quando o z-score absoluto cai abaixo de um limite adicional. Para esta estratégia eu escolhi (um pouco arbitrariamente) um limite de entrada absoluto de $ | z | = 2 $ e um limite de saída de $ | z | = 1 $. Assumindo comportamento de reversão à média no spread, esperamos capturar esse relacionamento e fornecer um desempenho positivo.
Talvez a melhor maneira de entender a estratégia em profundidade seja realmente implementá-la. A seção a seguir descreve um código Python completo (arquivo único) para implementar essa estratégia de reversão de média. Eu liberalmente comentou o código para ajudar a compreensão.
Implementação Python.
Como em todos os tutoriais de Python / pandas, é necessário configurar um ambiente de pesquisa em Python, conforme descrito neste tutorial. Uma vez configurado, a primeira tarefa é importar as bibliotecas necessárias do Python. Para este backtest matplotlib e pandas são necessários.
As versões de bibliotecas específicas que estou usando são as seguintes:
Vamos em frente e importar as bibliotecas:
A seguinte função create_pairs_dataframe importa dois arquivos CSV contendo as barras intraday de dois símbolos. No nosso caso, isso será SPY e IWM. Em seguida, ele cria pares de dataframe separados, que usam os índices de ambos os arquivos originais. Como seus timestamps provavelmente serão diferentes devido a negociações e erros perdidos, isso garante que teremos dados correspondentes. Esse é um dos principais benefícios de usar uma biblioteca de dados analíticos como pandas. O código "boilerplate" é tratado para nós de uma maneira muito eficiente.
O próximo passo é realizar a regressão linear de rolamento entre SPY e IWM. Neste caso, o IWM é o preditor ('x') e o SPY é a resposta ('y'). Eu defini uma janela de lookback padrão de 100 barras. Como discutido acima, este é um parâmetro da estratégia. Para que a estratégia seja considerada robusta, idealmente queremos ver um perfil de retorno (ou outra medida de desempenho) como uma função convexa do período de lookback. Assim, em um estágio posterior do código, realizaremos uma análise de sensibilidade variando o período de lookback em um intervalo.
Uma vez que o coeficiente beta rolante é calculado no modelo de regressão linear para SPY-IWM, nós o adicionamos aos pares DataFrame e soltamos as linhas vazias. Isto constitui o primeiro conjunto de barras igual ao tamanho do lookback como uma medida de corte. Em seguida, criamos o spread dos dois ETFs como uma unidade de SPY e $ - \ beta_i $ unidades de IWM. Claramente esta não é uma situação realista, pois estamos tomando quantidades fracionárias de IWM, o que não é possível em uma implementação real.
Finalmente, criamos o escore z do spread, que é calculado subtraindo a média do spread e normalizando pelo desvio padrão do spread. Note que há um viés lookahead bastante sutil que ocorre aqui. Deixei-a deliberadamente no código, pois queria enfatizar como é fácil cometer esse erro na pesquisa. A média e o desvio padrão são calculados para toda a série temporal distribuída. Se isso refletir a exatidão histórica verdadeira, essa informação não estaria disponível, pois implicitamente faz uso de informações futuras. Assim, devemos usar uma média móvel e stdev para calcular o escore z.
Em create_long_short_market_signals os sinais de negociação são criados. Estes são calculados com base no spread quando o escore Z excede negativamente o escore z e diminui o spread quando o escore z excede positivamente o escore z positivo. O sinal de saída é dado quando o valor absoluto do escore z é menor ou igual a outro (menor em magnitude) limiar.
Para alcançar essa situação, é necessário saber, para cada barra, se a estratégia está "dentro" ou "fora" do mercado. long_market e short_market são duas variáveis ​​definidas para acompanhar as posições de mercado longas e curtas. Infelizmente, isso é muito mais simples de codificar de uma maneira iterativa em oposição a uma abordagem vetorizada e, portanto, é lento para calcular. Apesar de barras de 1 minuto exigindo.
700.000 pontos de dados por arquivo CSV ainda é relativamente rápido para calcular na minha máquina desktop mais antiga!
Para iterar através de um DataFrame pandas (que admitidamente não é uma operação comum), é necessário usar o método iterrows, que fornece um gerador sobre o qual deseja iterar:
Nesta fase, atualizamos os pares para conter os sinais reais longos / curtos, o que nos permite determinar se precisamos estar no mercado. Agora precisamos criar um portfólio para acompanhar o valor de mercado das posições. A primeira tarefa é criar uma coluna de posições que combine os sinais longos e curtos. Isso conterá uma lista de elementos de $ (1,0, -1) $, com $ 1 $ representando uma posição longa / de mercado, $ 0 $ representando nenhuma posição (deve ser encerrada) e $ -1 $ representando uma posição curta / de mercado . As colunas sym1 e sym2 representam os valores de mercado das posições SPY e IWM no final de cada barra.
Uma vez que os valores de mercado do ETF foram criados, nós os somamos para produzir um valor total de mercado ao final de cada barra. Isso é então transformado em um fluxo de retorno pelo método pct_change para esse objeto Series. Linhas subseqüentes de código limpam as entradas ruins (elementos NaN e inf) e, finalmente, calculam a curva de capital total.
A função __main__ traz tudo junto. Os arquivos CSV intraday estão localizados no caminho datadir. Certifique-se de modificar o código abaixo para apontar para o seu diretório específico.
Para determinar a sensibilidade da estratégia ao período de lookback, é necessário calcular uma métrica de desempenho para um intervalo de lookbacks. Eu escolhi o retorno percentual total final do portfólio como a medida de desempenho e o intervalo de lookback em $ [50,200] $ com incrementos de 10. Você pode ver no código a seguir que as funções anteriores são agrupadas em um loop for por esse intervalo , com outros limiares mantidos fixos. A tarefa final é usar o matplotlib para criar um gráfico de linhas de lookbacks versus retornos:
O gráfico de período de lookback versus retornos agora pode ser visto. Observe que há um máximo "global" em torno de um lookback igual a 110 barras. Se tivéssemos visto uma situação em que o lookback era independente dos retornos, isso seria motivo de preocupação:
Análise de sensibilidade do período de lookback de hedge de razão de regressão linear SPY-IWM.
Nenhum artigo de backtesting estaria completo sem uma curva de capital inclinada para cima! Assim, se você deseja plotar uma curva dos retornos acumulados em relação ao tempo, você pode usar o seguinte código. Ele irá traçar o portfólio final gerado a partir do estudo do parâmetro de lookback. Assim, será necessário escolher o lookback dependendo de qual gráfico você deseja visualizar. O gráfico também mostra os retornos do SPY no mesmo período para ajudar na comparação:
O gráfico da curva de patrimônio a seguir é para um período de retrospectiva de 100 dias:
Análise de sensibilidade do período de lookback de hedge de razão de regressão linear SPY-IWM.
Note-se que o levantamento do SPY é significativo em 2009 durante o período da crise financeira. A estratégia também teve um período volátil neste estágio. Observe também que o desempenho se deteriorou um pouco no ano passado devido à natureza fortemente tendência do SPY nesse período, que reflete o índice S & P500.
Observe que ainda temos que levar em conta o viés de antecipação ao calcular o z-score do spread. Além disso, todos esses cálculos foram realizados sem custos de transação. Essa estratégia certamente teria um desempenho muito ruim, uma vez que esses fatores sejam levados em consideração. As taxas, spread bid / ask e slippage estão todos atualmente não contabilizados. Além disso, a estratégia está sendo negociada em unidades fracionárias de ETFs, o que também é muito irrealista.
Em artigos posteriores, criaremos um backtester orientado a eventos, muito mais sofisticado, que levará esses fatores em consideração e nos dará mais confiança em nossa curva de patrimônio e nas métricas de desempenho.
A Quantcademy.
Participe do portal de associação da Quantcademy que atende à crescente comunidade de traders de quantificação de varejo e aprenda como aumentar a lucratividade de sua estratégia.
Negociação Algorítmica Bem Sucedida.
Como encontrar novas ideias de estratégia de negociação e avaliá-las objetivamente para o seu portfólio usando um mecanismo de backtesting personalizado no Python.
Comércio Algorítmico Avançado.
Como implementar estratégias de negociação avançadas usando análise de séries temporais, aprendizado de máquina e estatísticas Bayesianas com R e Python.

Z score trading strategy


Eu encontrei alguns problemas ao implementar um algoritmo de troca de pares simples, imaginando se alguém poderia me ajudar com alguns dos meus códigos. O algoritmo é fácil, eu detectei sid (27809) e sid (28145) foram altamente correlacionados para o primeiro semestre (01 de janeiro - 31 de julho). O que eu quero fazer contém 3 etapas:
Etapa 1: normalizou o preço de cada ação, dividindo o preço de cada dia no primeiro dia (1º de janeiro).
Etapa 2: obtenha a diferença entre as diferenças de preço dessas duas ações, como diff (stock1 - stock2), vamos chamar essa linha por diff-line.
Step 3: get two Bollinger bands (one with 1 times variation, the other with 2 times variation) of the diff-line, when diff-line gets above the 2 times upper band, long stock2 short stock1 by same amount of money, and when abs-line touch the 1 times upper bank, end the investment. E use da mesma maneira quando a linha diff tiver bandas mais baixas.
Eu tentei implementar da seguinte forma, de acordo com uma estratégia de negociação de pares anteriores neste site, mas infelizmente não familiarizado com a biblioteca em Quantopian. Espero que alguém possa me ajudar, obrigado antecipadamente.
Eu criei uma estratégia semelhante de negociação de pares no link abaixo.
A única diferença que fiz foi que olhei para um período médio de 20 dias para calcular a média e o desvio padrão. Eu também defino negociações estreitas no momento da compra. Então, por exemplo, se eu comprasse o estoque1 e vendesse o estoque2 com uma razão de 0,5, eu os decidiria no fechamento da negociação, quando o índice ultrapassasse algum limite (por exemplo, 0,6).
Eu acho que você pode usar isso como base.
Obrigado Branko, é muito gentil de sua parte, vou tentar.
Acho que faz mais sentido considerar uma relação entre os dois preços das ações, como Branko fez, em vez de olhar para a diferença absoluta nos dois preços. No entanto, para referência futura, aqui está uma maneira de registrar o preço de uma garantia no início da negociação:
Além disso, confira esta parte do código de Branko (é muito legal):
A transformação em lote é uma ótima ferramenta em Quantopian. É um decorador (que é um conceito que eu achei um pouco confuso na primeira vez que vi um, então se a minha explicação for totalmente desnecessária, me perdoe). Basicamente, o que os decoradores fazem é pegar uma função como argumento e retornar uma nova função. Então, no Quantopian, o decorador de transformação de lote permite que você realmente defina com facilidade os dados para uma determinada janela de tempo, em vez de um período de tempo mais curto. Quando você está trabalhando com Bollinger Bands, isso é muito útil!
Desculpe, algo deu errado. Tente novamente ou entre em contato enviando feedback.
Você enviou com sucesso um ticket de suporte.
Nossa equipe de suporte entrará em contato em breve.
O material deste site é fornecido apenas para fins informativos e não constitui uma oferta de venda, uma solicitação de compra ou uma recomendação ou endosso para qualquer segurança ou estratégia, nem constitui uma oferta para fornecer serviços de consultoria de investimento pela Quantopian.
Além disso, o material não oferece opinião com relação à adequação de qualquer investimento específico ou de segurança. Nenhuma informação aqui contida deve ser considerada como uma sugestão para se envolver ou se abster de qualquer ação relacionada ao investimento, já que nenhuma das empresas da Quantopian ou de suas afiliadas está prestando consultoria de investimento, atuando como consultora de qualquer plano ou entidade sujeita a o Employee Retirement Income Security Act de 1974, conforme alterado, conta de aposentadoria individual ou anuidade de aposentadoria individual, ou dar conselhos em uma capacidade fiduciária com relação aos materiais aqui apresentados. Se você for um investidor individual ou outro investidor, entre em contato com seu consultor financeiro ou outro fiduciário não relacionado com a Quantopian sobre se qualquer ideia, estratégia, produto ou serviço de investimento descrito aqui pode ser apropriado para suas circunstâncias. Todos os investimentos envolvem risco, incluindo perda de principal. Quantopian makes no guarantees as to the accuracy or completeness of the views expressed in the website. As opiniões estão sujeitas a alterações e podem ter se tornado não confiáveis ​​por várias razões, incluindo mudanças nas condições de mercado ou circunstâncias econômicas.
O material deste site é fornecido apenas para fins informativos e não constitui uma oferta de venda, uma solicitação de compra ou uma recomendação ou endosso para qualquer segurança ou estratégia, nem constitui uma oferta para fornecer serviços de consultoria de investimento pela Quantopian.
Além disso, o material não oferece opinião com relação à adequação de qualquer investimento específico ou de segurança. Nenhuma informação aqui contida deve ser considerada como uma sugestão para se envolver ou se abster de qualquer ação relacionada ao investimento, já que nenhuma das empresas da Quantopian ou de suas afiliadas está prestando consultoria de investimento, atuando como consultora de qualquer plano ou entidade sujeita a o Employee Retirement Income Security Act de 1974, conforme alterado, conta de aposentadoria individual ou anuidade de aposentadoria individual, ou dar conselhos em uma capacidade fiduciária com relação aos materiais aqui apresentados. Se você for um investidor individual ou outro investidor, entre em contato com seu consultor financeiro ou outro fiduciário não relacionado com a Quantopian sobre se qualquer ideia, estratégia, produto ou serviço de investimento descrito aqui pode ser apropriado para suas circunstâncias. Todos os investimentos envolvem risco, incluindo perda de principal. Quantopian makes no guarantees as to the accuracy or completeness of the views expressed in the website. As opiniões estão sujeitas a alterações e podem ter se tornado não confiáveis ​​por várias razões, incluindo mudanças nas condições de mercado ou circunstâncias econômicas.

Using the Z Score to Determine Trade Size and Boost Performance.
Suppose that we have a trading method which gives us great confidence, produces satisfactory results over a long time, and which refined through a long period of study and experimentation. We are aware of the risks of high leverage, and do not gamble by entering trades which do not fully meet our requirements. We are pleased with our results, but still unsure about how much we should risk. What can we do to solve this problem?
What does a streak of wins or losses mean?
One of the major issues with any trading method is the length and frequency of streaks of wins or losses. A win streak is a period during which consecutive gains are registered in an account, and a loss streak is the opposite. What kind of bearing do these series of wins and losses have for trade sizes? Obviously, if a style generates wins and losses in streaks, the results are not independent of each other. A profitable trade is suggesting the likelihood that there will be more gains in case the trader increases his position size. Conversely, if a loss warns us that it will be followed by more losses, and we should discard our original approach and seek our wealth at other occasions. In other words, heads in one flip tells us that following coin tosses will bring us more heads, and tails will lead to more tails in subsequent trials. This knowledge may allow us to increase the size of our position with reasonable confidence, or to eliminate it in the case of loss.
The z-score.
Z-score is the mathematical tool used for calculating the capability of a trading system for generating wins and losses in streaks. The simple formula allows us to test our performance, and to check if the streaks generated present a random pattern or not. If the pattern is random, or at a non-significant confidence level, our results are independent of each other, and there’s no point in trying to scale in, or build up a position in successive trades. On the other hand, if our strategy is prone to generating streaks in a non-random fashion, we can use this knowledge to maximize our profits.
The formula of the z-score is.
N – total number of trades in a series (for example, in a string of (+++—-++—-++) we have 15 trades (++++), and the N is 15 )
R – total number of series of profitable and losing trades (if we have a run for our method, and we have a string of (+++—-++—-++), there are five series S1(+++), S2(—), S3(++), S4(—-), S5(++). So R is 5)
W – total number of profitable trades in the series;
L – total number of losing trades in the series.
A series is simply an unbroken string of wins or losses. For examples, (++++) is a series, as is (—), but (+-+) is not.
So all that we need to do, in order to understand if our strategy allows us to repeat our profits or losses in a non-random way, is to check its z-score, and to compare this to a series of numbers which we will call the confidence level. The confidence level is simply the normal distribution equivalent of the z-score we receive from our tests. If this sounds complicated, all that the trader needs to know is that in order to be considered suitable for profit maximization in money management methods our test must produce results that are greater than 1.96 or less than -1.96 (corresponding to the 95 percentile of normal distribution).
Let’s calculate the z-score for the above string of trades (+++—-++—-++).
We check the result on the above table and see that 1.64 corresponds to a 90 percent confidence level. This means that our results, while good, are not ideal in statistical terms, and we should be cautious in applying money management strategies to maximize our profits.
An example with a good z-score.
Below, we examine the case of a good z-score, and how it compares with an ordinary method.
Change in total.
In this example we examine the hypothetical returns of two different traders, one of who employs a z-score strategy, while the other uses a simple scaling-in method. We also suppose that the string of trades are part of a larger sample that has a good enough z-score. The (+, or -) simplify the kind of trade that would return a profit in that period. For example, if the trader gives a buy order, and the trade is a +, or if the order is a sell, and the trade is a (-) the trader will have a profit. If the trader gives a sell order, and the trade is +, the result will be a loss.
As we see, the z-score trader has greater confidence in following up with his trades, because he expects them to concatenate losses and gains. If he sees a string of three gains, he is confident that he can continue betting in the same direction and expect a profit, and similarly, on seeing consecutive losses he’s able to reverse direction or exit. The trader who doesn’t use the z-score is not able to decide the direction of his bets with confidence, and he has difficulty in determining when to scale in, or stop. In our example, the z-score trader is able to gain double what his competitor gains due simply to the fact that he can build up his trades confidently.
Declaração de Risco: Negociar Câmbio na margem carrega um alto nível de risco e pode não ser adequado para todos os investidores. Existe a possibilidade de você perder mais do que o seu depósito inicial. O alto grau de alavancagem pode funcionar contra você e também para você.

No comments:

Post a Comment