Sunday 11 March 2018

Como criar e testar uma estratégia de Opções Binárias com o MetaTrader 4 Strategy Tester



Índice.
Este artigo mostra como criar uma estratégia de Opções Binárias e testá-lo no Strategy-Tester of Metatrader 4 com o utilitário Binary-Options-Strategy-Tester. Por padrão Strategy-Tester of Metatrader 4 pode testar Expert Advisors e Indicadores contra dados históricos, mas não pode lidar com opções binárias com horário de vencimento. Como eu preciso de uma possibilidade de testar estratégias de Opções Binárias automatizadas no Strategy-Tester do MetaTrader 4, o Binary-Options-Strategy-Tester foi criado como um utilitário para atender a essas necessidades.
O conceito contém as seguintes partes:
Este é um exemplo passo a passo sobre como criar uma estratégia de Opções Binárias armazenada em um Indicador (marcado como vermelho na imagem acima) para se comunicar através da Biblioteca de Opções-Estratégias Binárias (marcado como verde na imagem acima) com as Opções Binárias - Strategy-Tester (marcado como azul na imagem acima), para colocar ordens virtuais e contar seus resultados com backtests e testes de reencaminhamento.
Tenha em mente: Backtesting com dados históricos nunca representará o futuro real, mas pode dar-lhe um valor aproximado para tornar sua estratégia mais estável.
A qualidade do seu backtest depende dos seus dados históricos. Portanto, é altamente recomendável usar um conjunto de dados de alta qualidade!
Baixe e compre o utilitário Binary-Options-Strategy-Tester do mercado:
Test-Framework para testar estratégias de Opções Binárias no Strategy-Tester do MetaTrader 4.
Por que uma versão adquirida do utilitário Binário-Opções-Estratégia-Tester é necessária?
Uma estratégia de opções binárias tem que chamar uma função do Binário-Opções-Estratégia-Tester (via Binário-Opções-Estratégia-Biblioteca) para colocar os negócios virtuais. Relacionado ao conceito de licença do MQL4, isso só funciona se o produto tiver uma licença de trabalho. Portanto, você precisa comprar o produto para testar estratégias de Opções Binárias ou este exemplo.
Baixe o BinaryOptionsStrategyLibrary. mqh e coloque-o na pasta \ Include ([caminho para o MetaTrader 4] \ MQL4 \ Include):
A biblioteca gratuita fornecerá várias funções para construir sua estratégia de Opções Binárias facilmente e se comunicar com o Binary-Options-Strategy-Tester. Veja Biblioteca de opções de opções binárias para obter mais detalhes da biblioteca.
Baixe o indicador KVO. mq4 gratuito e coloque-o (e o arquivo KVO. ex4 compilado) na pasta \ Indicators \ Downloads ([caminho para o MetaTrader 4] \ MQL4 \ Indicators \ Downloads):
O indicador KVO é usado como exemplo para mostrar o acesso de indicadores externos e ex4 arquivos na seção "3.2.6 Uso de indicadores externos (arquivos ex4)". Veja mql5 / pt / code / 8677 para obter mais detalhes sobre o indicador.
Agora você pode ir mais longe com a seção "3. Exemplo de estratégia de opções binárias" e criar o código de exemplo por você mesmo ou simplesmente baixar o código deste exemplo abaixo.
Faça o download opcional do BinaryOptionsStrategyExample. mq4 e coloque-o (e o arquivo BinaryOptionsStrategyExample. ex4 compilado) na pasta \ Indicadores ([caminho para o MetaTrader 4] \ MQL4 \ Indicators):
Baixe o código deste exemplo de estratégia de Opções Binárias para deixá-lo funcionar sem construir por você mesmo.
Para compilar os arquivos. ex4 necessários, abra os arquivos. mq4 (KVO. mq4 e BinaryOptionsStrategyExample. mq4 - NOT Binary-Options-Strategy-Library. mqh) no MetaQuotes Language Editor e clique no botão "Compilar" ou apenas reinicie seu MetaTrader 4 depois esses arquivos são armazenados nas pastas descritas e o MetaTrader 4 irá fazer isso automaticamente para você.
3. Exemplo de estratégia de opções binárias.
As etapas a seguir irão guiar-lhe um exemplo de como criar um exemplo de Estratégia de Opções Binárias armazenada em um Indicador para se comunicar com o Binary-Options-Strategy-Tester. Você pode construí-lo sozinho ou simplesmente baixe o código do BinaryOptionsStrategyExample. mq4.
Por favor, note: Esta estratégia não é uma estratégia de Opções Binary lucrativa! É apenas um exemplo de como construir uma estratégia em um indicador para se comunicar com o utilitário Binary-Options-Strategy-Tester. Claro que você tem que construir uma estratégia lucrativa sozinha. Mas, como você verá, este utilitário irá ajudá-lo a testar e aprimorar sua estratégia de Opções Binárias.
3.1 Definir estratégia de opções binárias.
Em primeiro lugar, temos que definir a estratégia e os valores variáveis ​​(parâmetros de entrada). A documentação MQL4 mostra todos os indicadores técnicos, que podem ser abordados na interface iCustom: docs. mql4 / indicadores.
Digamos que nós gostamos de criar uma estratégia de cruzamento de Moving Average simples com uma média móvel "rápida" e uma "lenta" para negociar na próxima vela após terem se cruzado. A documentação diz, como podemos obter o valor de uma única Média de Mudança: docs. mql4 / indicators / ima.
Digamos ainda, nós gostamos de escolher valores para "período de média de MA" (rápido e lento) e para "preço aplicado", bem como para o "método de média". Outros valores (como símbolo, período de tempo e mudança) dependem da placa de teste (por exemplo, o símbolo que o testador executa) e deve ser configurado automaticamente. Portanto, basicamente, precisamos das seguintes variáveis ​​para uma Média em Movimento:
Como precisamos de duas médias móveis para verificar suas cruzes, precisamos dos seguintes parâmetros de entrada para o exemplo da estratégia com alguns valores padrão:
int period_slow = 10;
int method_both = 0;
int aplicado_price_both = 0;
3.2 Criar estratégia de Opções Binárias.
Você precisa criar um indicador que armazene sua estratégia de Opções Binárias para arrastá-lo no gráfico em que o Binary-Options-Strategy-Tester está sendo executado.
Open MetaQuotes Language Editor (no MetaTrader 4 clique em "Tools" - & gt; "MetaQuotes Language Editor" ou simplesmente pressione F4) e clique em "New":
O MQL Wizard aparecerá. Selecione "Indicador personalizado" para criar um indicador vazio e clique em "Avançar":
Digite o nome, os direitos autorais e o link da estratégia, bem como os parâmetros de entrada com seus tipos e valores padrão (valores iniciais), clicando em "Adicionar" - Botão e pressione "Próximo":
Nos manipuladores de eventos de tabulação, marque a caixa de seleção "OnCalculate", pois precisamos deste evento para verificar nossa estratégia em todos os tiques. Pressione "Próximo":
Nas propriedades do desenho da guia, marque a caixa de seleção "Indicador na janela separada", pois precisamos de uma janela separada para imprimir os valores de depuração. Pressione "Concluir":
O código inicial do seu indicador aparecerá:
// | Copyright 2016, __martin__ |
#propriedade de direitos autorais "Copyright 2016, __martin__"
#property link "mql5 / en / users / __ martin__"
#property version "1.00"
input int period_fast = 5;
input int period_slow = 10;
input int method_both = 0;
input int applied_price_both = 0;
// | Função de inicialização do indicador personalizado |
// --- mapeamento de buffers indicadores.
// | Função de iteração do indicador personalizado |
int OnCalculate (const int rates_total,
const int prev_calculated,
const datetime & amp; time [],
const double & amp; open [],
const double & amp; high [],
const double & amp; low [],
const double & amp; close [],
const long & amp; tick_volume [],
const long & amp; volume [],
const int & amp; spread [])
3.2.1 Parâmetros de entrada.
Os parâmetros de entrada iniciais são criados com o MQL Wizard (ver 3.2 Criar Estratégia de Opções Binárias) e os aprimoraremos com as seguintes etapas.
Para evitar ter que inserir valores int para o preço aplicado e o método de média das Médias Móveis para os parâmetros de entrada, o tipo para method_both e applied_price_both é alterado de int para o tipo de enumeração com um valor padrão.
Além disso, os comentários para os parâmetros de entrada são adicionados para mostrar os comentários como rótulos em vez de nomes de variáveis:
input int period_fast = 5; // Valor MA rápido.
input int period_slow = 10; // Valor MA lento.
introduza ENUM_MA_METHOD method_both = MODE_SMA; // Método MA.
entrada ENUM_APPLIED_PRICE applied_price_both = PRICE_CLOSE; // preço aplicado MA.
Com estas modificações, os parâmetros de entrada fornecem um menu suspenso com os valores disponíveis para selecionar, assim como "etiquetas" para os parâmetros de entrada:
3.2.2 Incluir binário-Opções-Estratégia-Biblioteca.
Se você baixou e armazenou a biblioteca (veja 2. Instalação) na pasta \ Include ([caminho para o MetaTrader 4] \ MQL4 \ Include), você pode incluir a biblioteca como esta:
// | Copyright 2016, __martin__ |
#propriedade de direitos autorais "Copyright 2016, __martin__"
#property link "mql5 / en / users / __ martin__"
#property version "1.00"
Não é necessário alterar o conteúdo da biblioteca.
Binary-Options-Strategy-Library aumentará os parâmetros de entrada com dois novos parâmetros:
Coloque apenas uma VENDA ou uma compra de comércio por vela Verifique apenas no início de uma nova vela para a estratégia.
3.2.3 Adicionar CallStrategy ()
Adicione uma chamada para CallStrategy () - funcione em OnCalculate () do seu indicador de estratégia para chamar a estratégia de cada novo tiquetaque. CallStrategy () é fornecido pela biblioteca de Opções-Estratégias Binárias que você incluiu como descrito acima:
// | Função de iteração do indicador personalizado |
int OnCalculate (const int rates_total,
const int prev_calculated,
const datetime & amp; time [],
const double & amp; open [],
const double & amp; high [],
const double & amp; low [],
const double & amp; close [],
const long & amp; tick_volume [],
const long & amp; volume [],
const int & amp; spread [])
Portanto, você deve implementar a função CheckMyRules () no seu indicador de estratégia de Opções Binárias.
3.2.4 Implementar CheckMyRules () e helper-function.
Na função CheckMyRules () -, que é chamado através da Biblioteca Binário-Opções-Estratégia, as condições para a estratégia são implementadas e as negociações são colocadas através da função LocalTrade () - função da biblioteca. Os valores de ambas as médias móveis são temporariamente armazenados em variáveis ​​para compará-las em condições if enquanto os valores das médias móveis são retirados da função auxiliar GetValuesForMA ():
input int period_fast = 5; // Valor MA rápido.
input int period_slow = 10; // Valor MA lento.
introduza ENUM_MA_METHOD method_both = MODE_SMA; // Método MA.
entrada ENUM_APPLIED_PRICE applied_price_both = PRICE_CLOSE; // preço aplicado MA.
// | Coloque suas Regras de Negociação aqui - veja o exemplo abaixo. |
// | O StrategyTester chamará essa função para fazer negócios. |
// | - Adicionar parâmetros de função, p. CheckMyRules (int a) |
// | - Alterar o tipo de retorno da função, p. int CheckMyRules () |
// chamar função auxiliar GetValueForMA () para obter o valor - veja as funções auxiliares abaixo.
double emaSlow_Current = GetValueForMA (period_slow, 0);
double emaFast_Current = GetValueForMA (period_fast, 0);
// chamar função auxiliar GetValueForMA () para obter o valor - veja as funções auxiliares abaixo.
double emaSlow_Past = GetValueForMA (period_slow, 1);
double emaFast_Past = GetValueForMA (period_fast, 1);
& amp; amp; emaFast_Current & lt; emaSlow_Past) // Verifique se MA lento e MA rápido cruza.
PlaceTrade (OP_SELL); // Place SELL-Trade for Strategy-Tester, a função está localizada em BinaryOptionsStrategyFunctions. mqh.
& amp; amp; emaFast_Current & gt; emaSlow_Past) // Verifique se MA lento e MA rápido cruza.
PlaceTrade (OP_BUY); // Place BUY-Trade for Strategy-Tester, a função está localizada em BinaryOptionsStrategyFunctions. mqh.
// | Coloque suas funções auxiliares aqui, veja o exemplo abaixo |
// | Obtenha valores de MA por período, método, preço aplicado e mudança. |
// | Para detalhes do iMA (), veja docs. mql4 / indicators / ima |
Double GetValueForMA (int _period, int _shift)
retornar iMA (NULL, 0, _period, 0, method_both, applied_price_both, _shift);
3.2.5 Imprima os valores de depuração.
A função PrintDebugValue () oferece uma possibilidade de imprimir valores de depuração enquanto o testador está sendo executado. No exemplo abaixo, os valores das Médias Móveis são impressos com seus nomes de variáveis ​​como rótulos:
input int period_fast = 5; // Valor MA rápido.
input int period_slow = 10; // Valor MA lento.
introduza ENUM_MA_METHOD method_both = MODE_SMA; // Método MA.
entrada ENUM_APPLIED_PRICE applied_price_both = PRICE_CLOSE; // preço aplicado MA.
// | Coloque suas Regras de Negociação aqui - veja o exemplo abaixo. |
// | O StrategyTester chamará essa função para fazer negócios. |
// | - Adicionar parâmetros de função, p. CheckMyRules (int a) |
// | - Alterar o tipo de retorno da função, p. int CheckMyRules () |
// chamar função auxiliar GetValueForMA () para obter o valor - veja as funções auxiliares abaixo.
double emaSlow_Current = GetValueForMA (period_slow, 0);
double emaFast_Current = GetValueForMA (period_fast, 0);
// chamar função auxiliar GetValueForMA () para obter o valor - veja as funções auxiliares abaixo.
double emaSlow_Past = GetValueForMA (period_slow, 1);
double emaFast_Past = GetValueForMA (period_fast, 1);
PrintDebugValue ("emaFast_Current:", (string) emaFast_Current, 1); // Rótulo e valor na linha 1.
PrintDebugValue ("emaSlow_Past:", (string) emaSlow_Past, 2); // Etiqueta e valor na linha 2.
PrintDebugValue ("emaFast_Past:", (string) emaFast_Past, 3); // Etiqueta e valor na linha 3.
& amp; amp; emaFast_Current & lt; emaSlow_Past) // Verifique se MA lento e MA rápido cruza.
PlaceTrade (OP_SELL); // Place SELL-Trade for Strategy-Tester, a função está localizada em BinaryOptionsStrategyFunctions. mqh.
& amp; amp; emaFast_Current & gt; emaSlow_Past) // Verifique se MA lento e MA rápido cruza.
PlaceTrade (OP_BUY); // Place BUY-Trade for Strategy-Tester, a função está localizada em BinaryOptionsStrategyFunctions. mqh.
// | Coloque suas funções auxiliares aqui, veja o exemplo abaixo |
// | Obtenha valores de MA por período, método, preço aplicado e mudança. |
// | Para detalhes do iMA (), veja docs. mql4 / indicators / ima |
Double GetValueForMA (int _period, int _shift)
retornar iMA (NULL, 0, _period, 0, method_both, applied_price_both, _shift);
3.2.6 Uso de indicadores externos (arquivos ex4)
Além disso, um indicador externo que armazena seus valores em buffers pode ser acessado para a estratégia de Opções Binárias, mesmo que apenas o arquivo compilado ex4 exista.
Digamos que gostaríamos de incluir a linha de sinal do indicador KVO mql5 / pt / code / 8677 para colocar negócios somente se a linha de sinal for superior a 0 para COMPRAR negociações e abaixo de 0 para negociações VENDA. Baixe o indicador KVO. mq4 e coloque o arquivo compilado (ex4) na pasta \ Indicadores \ Downloads ([caminho para o MetaTrader 4] \ MQL4 \ Indicators \ Downloads).
Para compilar o arquivo. ex4 necessário, abra o KVO. mq4 no MetaQuotes Language Editor e clique no botão "Compilar" ou apenas reinicie seu MetaTrader 4 depois que o arquivo estiver armazenado na pasta descrita e o MetaTrader 4 fará isso automaticamente por você.
Primeiro, temos que identificar os buffers relevantes que armazenam os valores relevantes para acessar. Portanto, pressionamos o botão "Janela de dados" no MetaTrader 4 para mostrar todos os buffers disponíveis dos indicadores usados ​​e arraste o indicador KVO em um gráfico. Ao passar a cruzar o gráfico (pressione a roda do mouse no gráfico para abrir a cruz), os valores do buffer do indicador do período de tempo invertido serão exibidos na janela de dados:
As etiquetas da janela de dados nos dizem que o segundo valor do buffer do indicador armazena a linha de sinal. Se os buffers de indicadores não tiveram rótulos, podemos encontrar a correta, comparando os valores do buffer com o valor exibido sob a cruz no gráfico e no indicador. Buffers de um indicador começa com 0, então temos o valor do buffer 1 = buffer 0, buffer value 2 = buffer 1 e assim por diante e temos que acessar o buffer 1 para obter o valor do sinal.
Em seguida, temos de conhecer todos os parâmetros de entrada do indicador externo que gostamos de acessar. Ao desenhar o indicador em um gráfico, vemos todos os paremeters de entrada:
Digamos ainda, nós gostamos de acessar o indicador com valores (padrão): 34, 55 e 13. Usamos uma função auxiliar (baseada no iCostum), que nos fornece a possibilidade de obter os valores do indicador com parâmetros para buffer e shift, enquanto shift 0 será o valor da vela atual, deslize 1 o valor da última vela, mude 2 o valor da segunda para a última vela e assim por diante. Além disso, armazenamos temporariamente os valores do buffer do indicador e melhoramos a condição if da estratégia:
input int period_fast = 5; // Valor MA rápido.
input int period_slow = 10; // Valor MA lento.
introduza ENUM_MA_METHOD method_both = MODE_SMA; // Método MA.
entrada ENUM_APPLIED_PRICE applied_price_both = PRICE_CLOSE; // preço aplicado MA.
// | Coloque suas Regras de Negociação aqui - veja o exemplo abaixo. |
// | O StrategyTester chamará essa função para fazer negócios. |
// | - Adicionar parâmetros de função, p. CheckMyRules (int a) |
// | - Alterar o tipo de retorno da função, p. int CheckMyRules () |
// chamar função auxiliar GetValueForMA () para obter o valor - veja as funções auxiliares abaixo.
double emaSlow_Current = GetValueForMA (period_slow, 0);
double emaFast_Current = GetValueForMA (period_fast, 0);
// chamar função auxiliar GetValueForMA () para obter o valor - veja as funções auxiliares abaixo.
double emaSlow_Past = GetValueForMA (period_slow, 1);
double emaFast_Past = GetValueForMA (period_fast, 1);
double kvoSignal = GetValuesFromIndicator__KVO __ (1, 0);
PrintDebugValue ("emaFast_Current:", (string) emaFast_Current, 1); // Rótulo e valor na linha 1.
PrintDebugValue ("emaSlow_Past:", (string) emaSlow_Past, 2); // Etiqueta e valor na linha 2.
PrintDebugValue ("emaFast_Past:", (string) emaFast_Past, 3); // Etiqueta e valor na linha 3.
& amp; amp; emaFast_Current & lt; emaSlow_Past // Verifique se MA lento e MA rápido cruza.
& amp; amp; kvoSignal & lt; 0) // Verifique se o valor do sinal do KVO está abaixo de 0.
PlaceTrade (OP_SELL); // Place SELL-Trade for Strategy-Tester, a função está localizada em BinaryOptionsStrategyFunctions. mqh.
& amp; amp; emaFast_Current & gt; emaSlow_Past // Verifique se MA lento e MA rápido cruza.
& amp; amp; kvoSignal & gt; 0) // Verifique se o valor do sinal do KVO é superior a 0.
PlaceTrade (OP_BUY); // Place BUY-Trade for Strategy-Tester, a função está localizada em BinaryOptionsStrategyFunctions. mqh.
// | Coloque suas funções auxiliares aqui, veja o exemplo abaixo |
// | Obtenha valores de MA por período, método, preço aplicado e mudança. |
// | Para detalhes do iMA (), veja docs. mql4 / indicators / ima |
Double GetValueForMA (int _period, int _shift)
retornar iMA (NULL, 0, _period, 0, method_both, applied_price_both, _shift);
// | Exemplo de como obter valores de indicadores externos |
// | int _buffer - buffer-indicador (começa com 0) |
// | int _shift - valor para mudar; 0 = vela atual, 1 = vela anterior |
Double GetValuesFromIndicator__KVO __ (int _buffer, int _shift = 0) // Mude "__KVO__" para o nome do indicador.
NULL, // NULL para o cronograma atual selecionado no testador - NENHUMA MUDANÇA NECESSÁRIA.
0, // 0 para o símbolo atual selecionado no testador - NENHUMA MUDANÇA NECESSÁRIA.
"\\ Downloads \\ KVO. ex4", // Filepath e filename do indicador (arquivo *.ex4)
// INICIE INDICADORES ENTRADAS.
_shift // Shift (0 para a vela atual), _shift é endereçado ao parâmetro de função - NENHUMA MUDANÇA NECESSÁRIA.
Também é possível melhorar os parâmetros de entrada do nosso indicador de estratégia com os valores do indicador KVO usado e definir os valores na função auxiliar por variáveis. Como este tutorial deve ser apenas um exemplo e "tão simples quanto possível", esta variante não é mostrada.
3.3 O código completo.
Abaixo você encontrará o código completo do Binário-Opções-Estratégia-Exemplo de todas as etapas acima, pronto para arrastar o Binário-Opções-Estratégia-Tester para testar e ver os resultados no gráfico:
// | Copyright 2016, __martin__ |
#propriedade de direitos autorais "Copyright 2016, __martin__"
#property link "mql5 / en / users / __ martin__"
#property version "1.00"
// | Coloque seus parâmetros de entrada aqui - veja o exemplo abaixo |
input int period_fast = 5; // Valor MA rápido.
input int period_slow = 10; // Valor MA lento.
introduza ENUM_MA_METHOD method_both = MODE_SMA; // Método MA.
entrada ENUM_APPLIED_PRICE applied_price_both = PRICE_CLOSE; // preço aplicado MA.
// | Função de inicialização do indicador personalizado |
// --- mapeamento de buffers indicadores.
// | Função de iteração do indicador personalizado |
int OnCalculate (const int rates_total,
const int prev_calculated,
const datetime & amp; time [],
const double & amp; open [],
const double & amp; high [],
const double & amp; low [],
const double & amp; close [],
const long & amp; tick_volume [],
const long & amp; volume [],
const int & amp; spread [])
// | Coloque suas Regras de Negociação aqui - veja o exemplo abaixo. |
// | O StrategyTester chamará essa função para fazer negócios. |
// | - Adicionar parâmetros de função, p. CheckMyRules (int a) |
// | - Alterar o tipo de retorno da função, p. int CheckMyRules () |
// chamar função auxiliar GetValueForMA () para obter o valor - veja as funções auxiliares abaixo.
double emaSlow_Current = GetValueForMA (period_slow, 0);
double emaFast_Current = GetValueForMA (period_fast, 0);
// chamar função auxiliar GetValueForMA () para obter o valor - veja as funções auxiliares abaixo.
double emaSlow_Past = GetValueForMA (period_slow, 1);
double emaFast_Past = GetValueForMA (period_fast, 1);
double kvoSignal = GetValuesFromIndicator__KVO __ (1, 0);
PrintDebugValue ("emaFast_Current:", (string) emaFast_Current, 1); // Rótulo e valor na linha 1.
PrintDebugValue ("emaSlow_Past:", (string) emaSlow_Past, 2); // Etiqueta e valor na linha 2.
PrintDebugValue ("emaFast_Past:", (string) emaFast_Past, 3); // Etiqueta e valor na linha 3.
& amp; amp; emaFast_Current & lt; emaSlow_Past // Verifique se MA lento e MA rápido cruza.
& amp; amp; kvoSignal & lt; 0) // Verifique se o valor do sinal do KVO está abaixo de 0.
PlaceTrade (OP_SELL); // Place SELL-Trade for Strategy-Tester, a função está localizada em BinaryOptionsStrategyLibrary. mqh.
& amp; amp; emaFast_Current & gt; emaSlow_Past // Verifique se MA lento e MA rápido cruza.
& amp; amp; kvoSignal & gt; 0) // Verifique se o valor do sinal do KVO é superior a 0.
PlaceTrade (OP_BUY); // Place BUY-Trade for Strategy-Tester, a função está localizada em BinaryOptionsStrategyLibrary. mqh.
// | Coloque suas funções auxiliares aqui, veja o exemplo abaixo |
// | Obtenha valores de MA por período, método, preço aplicado e mudança. |
// | Para detalhes do iMA (), veja docs. mql4 / indicators / ima |
Double GetValueForMA (int _period, int _shift)
retornar iMA (NULL, 0, _period, 0, method_both, applied_price_both, _shift);
// | Exemplo de como obter valores de indicadores externos, |
// | int _buffer - buffer-indicador (começa com 0) |
// | int _shift - valor para mudar; 0 = vela atual, 1 = vela anterior |
Double GetValuesFromIndicator__KVO __ (int _buffer, int _shift = 0) // Mude "__KVO__" para o nome do indicador.
NULL, // NULL para o cronograma atual selecionado no testador - NENHUMA MUDANÇA NECESSÁRIA.
0, // 0 para o símbolo atual selecionado no testador - NENHUMA MUDANÇA NECESSÁRIA.
"\\ Downloads \\ KVO. ex4", // Filepath e filename do indicador (arquivo *.ex4)
// INICIE AS ENTRADAS DOS INDICADORES.
_shift // Shift (0 para a vela atual), _shift é endereçado ao parâmetro de função - NENHUMA MUDANÇA NECESSÁRIA.
4. Execute um backtest (video)
O seguinte vídeo mostra como executar um backtest da sua estratégia de Opções Binárias no Strategy-Tester do MetaTrader 4:
Inicie Binary-Options-Strategy-Tester em Strategy-Tester do MetaTrader 4 e defina os parâmetros de entrada. Arraste seu indicador de estratégia de Opções Binárias no gráfico, defina os parâmetros de entrada e marque "Permitir importação de especialistas externos" na guia "comum". Arraste seu Usou indicadores com os parâmetros de entrada usados ​​no gráfico para ver seus valores enquanto o testador está sendo executado (opcional) Salve todas as configurações em um modelo para executar o teste com todas as configurações novamente - usando o botão de pausa do Strategy-Tester (opcional) Veja o resultados da sua estratégia de Opções Binárias no gráfico Estratégia-Tester.
5. Execute um teste para a frente.
Para fazer um teste direto, basta arrastar o utilitário Binário-Opções-Estratégia-Testador e seu indicador de estratégia em seu demo ou gráfico ao vivo de seu corretor em vez de usá-lo no Strategy-Tester:
Arraste o utilitário Binário-Opções-Estratégia-Verificador no gráfico de demonstração ou ao vivo e defina os parâmetros de entrada Arraste seu indicador de estratégia de Opções Binárias no gráfico, defina os parâmetros de entrada e marque "Permitir importações de especialistas externos" na guia "comum" Arraste o seu usado Indicadores com seus parâmetros de entrada usados ​​no gráfico para ver seus valores enquanto o teste de frente está sendo executado (opcional) Salve todas as configurações em um modelo para executar o teste novamente com todas as configurações (opcional) Veja os resultados da sua estratégia de Opções Binárias na demo ou ao vivo gráfico.
Pergunta: Por que você mostra um exemplo de uma estratégia de opções binárias não lucrativas?
Answere: Este é apenas um exemplo de como construir uma estratégia em um Indicador para se comunicar com o utilitário Binary-Options-Strategy-Tester no mercado para testar e melhorar a sua estratégia.
Pergunta: Binary-Options-Strategy-Tester pára após a quantidade exata de perdas com erro "Array out of range". Por quê?
Answere: Binary-Options-Strategy-Tester pode aumentar um erro após x perdas para parar o Tester e analisar a situação no gráfico. Se você não quiser, basta desligar a opção nas configurações.
Pergunta: Nenhuma seta aparece no gráfico depois de eu elaborar o meu indicador com uma estratégia de trabalho nela. O que aconteceu?
Answere: Você deve habilitar "Permitir as importações de especialistas externos" na guia "comum" enquanto você arrasta seu indicador de estratégia no gráfico (a mensagem de registro mostrará um erro neste caso).
Pergunta: Nenhuma seta aparece no gráfico depois de eu elaborar o meu indicador com uma estratégia de trabalho sobre ele com "Permitir que as importações de especialistas externos" sejam ativadas. Por quê?
Answere: Uma estratégia tem que chamar uma função de Binário-Opções-Estratégia-Tester para colocar trocas virtuais. Relacionado ao conceito de licença MQL4, isso só funciona se o produto tiver uma licença de trabalho. Portanto, você tem que comprar o produto.
Pergunta: Nenhuma seta aparece no gráfico depois de arrastar o meu indicador com uma estratégia de trabalho e obtive erros como "Não posso ligar ..." ou "Não é possível carregar ..." no log do MetaTrader 4. O que posso fazer?
Answere: use a versão mais recente (maior v1.00) de BinaryOptionsStrategyLibrary. mqh. Verifique a etiqueta da versão no código de seu BinaryOptionsStrategyLibrary. mqh e veja changelog v1.01 of BinaryOptionsStrategyLibrary.
Pergunta: Eu não vejo resultados em tabs "Results", "Graph", "Report" do Strategy-Tester. Onde posso ver os resultados?
Answere: Strategy-Tester do MetaTrader 4 não pode lidar com as Opções Binárias para que essas guias não sejam usadas. Portanto, este utilitário calcula todas as vitórias e perdas e imprime os resultados no gráfico.
Como eu preciso de uma possibilidade de testar as estratégias de Opções Binárias automatizadas no Strategy-Tester do MetaTrader 4 por longos períodos de tempo em um curto período de tempo e fazer testes no gráfico do corretor, esse utilitário foi compilado. Passei muito tempo para o conceito e a implementação do Binary-Options-Strategy-Tester, bem como para a documentação. Talvez haja uma maneira melhor de fazê-lo e talvez algumas melhorias o aproximem para atender às necessidades de você. Então, sinta-se à vontade para entrar em contato comigo para obter idéias para melhorias!

OptionStack.
Trade Like A Pro.
Usando OptionStack, você pode automaticamente testar suas estratégias de negociação de ações e opções em minutos!
Nossa missão.
Leveling Wall Street & # 8217; s Playing Field.
OptionStack é uma plataforma institucional para construir e testar seu estoque e # 038; estratégias de negociação de opções. Nossa missão é capacitar todos os investidores para atingir seus objetivos financeiros. Acreditamos que ninguém se preocupa mais com o seu dinheiro do que você. E com o conjunto certo de ferramentas, você pode gerenciar seus investimentos melhor do que qualquer um em Wall Street!
Opções automatizadas Backtesting.
Ao contrário de outro software de análise de opções, o software pendente de patente da Option Stack automatiza todo o processo de testar suas estratégias de negociação de ações e opções! Não há mais manualmente navegando com dados à mão!
Sistemas de negociação de estoque e opções.
Ridiculously fácil de criar e testar suas estratégias de negociação de opções, desde comprar puts / calls únicos para ajustar spreads de opções complexas (borboleta, condors, spreads verticais, straddle, etc.).
Se você é o tipo de pessoa que quer controle total sobre suas negociações de ações e opções, nossa Plataforma de Análise de Opções e Backtesting de Patentes pode dar-lhe essa vantagem!
tecnologia de classe mundial, comunidade e muito mais.
Backtesting automatizado.
Faça melhores decisões de investimentos com o poder de backtesting automatizado - teste automaticamente mais de 10 anos de estratégias de negociação de ações e opções em minutos.
Arraste e solte.
Backtest até mesmo as estratégias de estoque e opções mais complexas, sem qualquer conhecimento de programação, de comprar chamadas para vender condores de ferro não balanceados.
Gráficos de Risco Visuais.
Otimize suas estratégias de negociação com analíticas poderosas, gráficos interativos de risco de portfólio e gráficos avançados de ações e estudos.
Estratégias avançadas.
Crie spreads complexos de ações e opções, ajustes comerciais avançados, reequilíbrio de portfólio, alocação de capital, dimensionamento de posição, geração alfa e muito mais.
Estudos e indicadores.
Escolha entre centenas de estudos e indicadores disponíveis, incluindo volatilidade / técnicas / estatísticas / opções de gregos / estudos de lucros e muito mais.
Compartilhe idéias e estratégias de negociação com nossa comunidade de comerciantes experientes para aspirantes.

Estratégias de opções de teste
Obter através da App Store Leia esta publicação em nosso aplicativo!
estratégias de opções de backtesting em R.
Gostaria de backtest uma estratégia de opções em R. Eu exigir a capacidade de hedge de delta e reequilibrar as opções no portfólio em diferentes freqüências (diariamente, mensal, etc.) Que pacotes são os corretos para usar para esse propósito? (Eu vi a visão de tarefa do R Finance, mas há muito lá)
Supondo que você já tenha uma maneira de obter taxas de hedge e similares, sua melhor escolha disponível provavelmente é borrão (costumava ser apenas quantstrat). Você encontrará que não está necessariamente orientado para opções.
Geralmente para as opções de backtesting, os profissionais acabam fazendo sua própria conta ou comprando software comercial. Há toneladas de provedores comerciais, mas não conheço ninguém que tenha investigado os principais candidatos.
Meu primeiro pensamento seria usar o pacote quantlib para obter os valores delta e cumpri-los para obter uma posição delta. Em seguida, use regras baseadas em valores delta para hedge. Use ajustes discretos de tempo ou use bandas delta.

SPX Weekly Verticals.
Em um fórum que eu li, alguém sugeriu uma estratégia semelhante à que eu investiguei no passado. Suas regras eram simples:
Vender um 20pt Bull Put Spread na quinta-feira no horário de funcionamento, expirando a próxima semana. O ataque curto deve ser pelo menos 100 pontos do preço spot atual. Venda a vertical quando atingir 0.05. Alocar 50% do seu portfólio para este comércio.
Esta estratégia baseia-se na crença de que o SPX não move mais de 100 pontos em uma janela de 8 dias e esse volume semanal é caro. Olhando nos últimos 15 anos, acho que isso é verdade 99,31% do tempo. Há 26 instâncias de 3752 amostras, onde o mercado desceu mais de 100 pontos. Vários destes foram durante a crise em 2008, 2001, mas o período mais recente foi em outubro de 2014. Felizmente para esta estratégia, não ocorreu em uma quinta-feira, então conseguiu um passe de sorte.
Aqui estão as regras para esta estratégia:
Eu escolho 10 horas na quinta-feira para colocar o comércio. Observe também que a derrapagem e as comissões também são levadas em consideração.
Testei essa estratégia de janeiro de 2008 a dezembro de 2014. Os resultados são promissores.
No geral, esse comércio funciona muito bem pós 2011.
Antes de 2011, é relativamente plana. Em grande parte, isso ocorre porque, embora houvesse expirações semanais, não havia suficientes greves disponíveis nessas expirações para encontrar negócios conformes. Na maior parte do tempo, ele se sentou fora do mercado e negociou as expirações mensais.
Durante este período, ocorreu o acidente de 2008 e, enquanto a estratégia teve um grande levantamento durante esse evento, na grande imagem, fez muito bem. Mas é difícil tirar conclusões, tendo em conta o mercado 75% do tempo durante esse período.
A partir de 2011, o comércio realmente ganha força. Está entrando em um comércio a cada semana por este ponto. É também durante uma corrida de touro, então o comércio como um vento nas costas. Mas você pode ver os drawdowns (gráfico inferior) são relativamente pequenos.
Mas por que 100 pontos? Eu acho que foi escolhido pelo motivo de que o mercado quase nunca se move tanto nesse período de tempo (99,31% lembra). Mas 100 pontos hoje (5% de movimento) são muito diferentes dos 100 pontos em 2009 (8-13% de movimento). Então eu preciso também olhar para os movimentos percentuais. Testei 4,5%, 5%, 6% e 7%.
20pt Vertical Spread 4.5% from Spot.
20pt Vertical Spread 5% from Spot.
20pt Vertical Spread 6% from Spot.
20pt Vertical Spread 7% from Spot.
Os testes de 4,5%, 5% e 6%, que foram bastante afetados pela queda de 2008. Depois, eles assumem desempenho semelhante. É bem claro que, em 2008, ficando uma maior distância percentual fazia sentido. A estratégia de 100pt é essencialmente uma estratégia de 8-10% quando a volatilidade é alta e uma estratégia de 5-8% quando baixa.
As estatísticas de resumo mostram que a estratégia 100pt tem uma boa porcentagem, e uma redução razoável considerando que você está colocando 50% de seu portfólio em risco a cada semana.
Karen The SuperTrader.
Houve vários artigos / postagens de blog escritas sobre Karen Bruton ou "Karen The SuperTrader & # 8221 ;. Notavelmente, a TastyTrade publicou muitas entrevistas em vídeo com a Karen, levando-a à fama dentro da comunidade comercial de opções. Mas além da especulação sobre se ela é real (ela é), ou seu desempenho é real (provavelmente é), ou discussões sobre suas regras & # 8211; Não vi nenhuma outra estratégia semelhante.
A Karen gerencia um hedge funds, Hope Investments, e usa principalmente posições curtas e opções de chamadas curtas para gerar retornos superiores. Seu fundo está aberto a investidores credenciados, e não é obrigado a divulgar seu desempenho, mas acreditamos que ela faça 30 +% de retornos anuais.
As suas regras gerais seguem:
Trate a venda coloca e vende chamadas como negociações independentes Venda coloca a 95% de probabilidade de sucesso (cerca de 2 desvios padrão) Venda chamadas com 90% de probabilidade de sucesso Venda coloca entre 40-56 dias fora Venda Chamadas em torno de 14 dias fora Use margem de 50% ( até 80% dependendo do mercado) A venda coloca quando o mercado flui para baixo. Vender chamadas quando o mercado aumenta. Ajuste as posições quando se tornam uma probabilidade de sucesso de 70%. Usar.
50% de margem. Até 80% dependendo das condições do mercado.
Suas regras são fluidas e não o que ela divulgou nos vídeos, proprietários. Ela tem uma equipe trabalhando em tempo integral monitorando e ajustando-se ao mercado. Replicar sua estratégia exata é impossível.
A venda de estrangulamentos não é nova. Eu ouvi dizer que uma grande porcentagem de CTA & # 8217; s empregam posições de estrangulamento curto, pois eles têm uma proporção muito alta de vitórias. Claro, uma grande correção de mercado e sua conta poderiam ser liquidadas. Se você pode evitar o colapso do mercado, essa estratégia é lucrativa.
Margem da carteira.
Margem de carteira é usada neste caso ao vender colocações e chamadas. O cálculo para o PM é propriedade das trocas e das corretoras, mas, em geral, eles avaliam todo o portfólio com um movimento de -12% / + 10% no mercado para determinar sua margem requerida. Outras variáveis, como volatilidade e fatores específicos de corretagem, e fatores de risco personalizados também produzem efeito. Ou seja, para as mesmas posições, posso ter requisitos ligeiramente diferentes de uma corretora para outra, ou mesmo de uma conta para outra dentro da mesma corretora. Mesmo os instrumentos específicos terão diferentes parâmetros de risco. Todos os quais são algo subjetivos e controlados pela corretora e trocas.
O PM oferece uma enorme vantagem e alavanca sobre outras opções.
Por exemplo, olhemos para o atual SPX put trading 2SD e 53 dias para fora:
O PM exige 16% a margem do que o RegT e 1,6% a margem, uma margem de caixa. Mas a margem PM é muito mais fluida do que as outras. À medida que o mercado diminui, o requisito de margem é aumentado. Os detalhes de PM margining são muito mais complexos e # 8211; mas por uma questão de simplicidade e devido ao fato de não conseguir calcular a margem PM, assumirei que é uma porcentagem constante da margem RegT.
Short Puts.
Eu irei me concentrar nas peças curtas, uma vez que as chamadas curtas são uma proporção menor para os lucros globais. As chamadas são muito baratas em comparação com as put, e a Karen vende a metade do número de chamadas para as put. Tenho certeza de que ele acrescenta à sua linha inferior, mas, por simplicidade, deixarei-os por agora.
O seguinte mostra o perfil de risco para o SPX 1875 curto colocado a partir do início de abril.
Este comércio pode ganhar US $ 600 se o SPX fechar acima de 1875 em 52 dias. Mas, olhando o P / L nas fatias de preços, você pode ver o quão rapidamente esse comércio perde o valor à medida que o mercado cai. Se o mercado cair -12%, o comércio ficaria debaixo da água em 7.4k. Na verdade, é pior do que isso, uma vez que não leva em consideração quaisquer alterações à vega devido à queda.
Com PM margining, o valor em uma queda de -12% deve ser maior do que a liquidez líquida da sua conta. Então, se você tiver um portfólio de US $ 1 milhão, você poderia vender 135 contratos. Mas à medida que o mercado cair ou a volatilidade aumenta, seu cálculo de -12% aumentará e você será colocado em um status único.
Regras de teste.
Não vou tentar replicar perfeitamente as negociações de Karen, uma vez que é impossível # 8211; mas concentrar-se na viabilidade da venda de peças curtas. Especificamente:
Venda coloca utilizando 50% da margem Venda Coloca em 2SD Venda Coloca entre 40-56 dias para expirar Abrir 1 troca por semana. Idealmente em um grande dia. Cada comércio usa 25% da alocação comercial (ou 12,5% da margem) Apenas segure 4 negociações abertas ao mesmo tempo. Fechas prematuras quando atingem 80% do lucro Os retornos são compostos. Eu aproximo a margem de PM como 30% de Reg-T (2X o que eu encontrei acima).
Sob a situação ideal, os negócios devem ser fechados com 80% de lucro em cerca de 4 semanas.
Short Puts & # 8211; Não há ajustes.
Primeiro, quero ver o quão ruim pode ser.
Se você estava dormindo ao volante e não fez nada para proteger sua posição, sua conta é claramente liquidada e rapidamente. Observe que isso é com uma margem de 50%, mas eu já vi mesmo usando margem de 25% ao configurar os negócios, provavelmente resultaria em uma chamada de margem.
Short Puts & # 8211; Venda a 30% PITM.
A probabilidade de 70% de OTM é importante para a estratégia da Karen (ou 30% de ITM). Faz sentido. Sobre esse ponto, Gamma começa a acelerar. Este teste simplesmente fechará o comércio no perguntar quando o delta da colocação for & gt; 0,30 (uma aproximação aproximada de 30% de ITM).
Claramente, isso sozinho ajuda dramaticamente a proteger a posição. Existem várias gotas grandes (-30-50%), mas, em geral, a estratégia é bastante lucrativa devido a esse longo período de 2013-2014.
Short Puts & # 8211; O rolo cai para 30% de PITM.
Mas Karen não simplesmente fecha suas put, ela as rola, às vezes aumenta essas posições (como eu entendo) e vende mais chamadas para ajudar a compensar a perda.
Este teste mostra os resultados de rolar as put e colocar outro comércio 2SD na mesma expiração. É interessante notar que isso piora. Como pegar moedas de um centavo na frente de um rolo de vapor. O crash inicial de 2008 perde 75% do valor da conta. As gotas subsequentes são semelhantes em magnitude para aqueles sem os rolos.
Conclusão.
Os dados de 2008/2009 devem ser tomados com um grão de sal, pois não houve semanários para negociar. Se o acidente de 2008 aconteceu hoje, acho que os resultados seriam um pouco melhores devido ao fato de que você poderia espalhar seu risco de volatilidade por mais expirações.
Também fiquei surpreso ao ver que o rolamento piorou a situação. Verdade, esta não é a estratégia da Karen. Ela também vende chamadas, mas eu não sei como essas chamadas poderiam compensar essas lacunas. Alegadamente, Karen ganhou lucro em 2008, mas não tenho certeza de que ela revele como. Não tenho certeza de que ela esteja seguindo as mesmas regras ou não. Ela provavelmente estava seguindo a tendência e negociando menos puts / mais chamadas no caminho para baixo. E provavelmente em menor escala.
Continua.
SunnySide Up Follow Up.
Foi apontado para mim que os caras da TastyTrade não trocam sua estratégia SunnySide Up em ações com um volume médio inferior a 2M. Não lembro isso no vídeo, mas, aparentemente, é um conhecimento comum para aqueles que seguem o show.
Este é o gráfico revisado ao levar em consideração o volume.
A primeira coisa a observar é que o comércio ISRG não está incluído e a conta mostra lucro. Há um pouco menos trocas, mas, em geral, vejo uma taxa de ganhos de 93% (25 vitórias em 27 negócios). Essa perda importante foi a NFLX. Embora isso tenha devastado a performance para esse ponto, a recuperação foi bastante rápida.
A segunda coisa a notar é que esses resultados combinam bastante com o que TT apresentou em seu segmento de vídeo.
Para sorrisos, aqui está o desempenho de 3 anos com o limite subjacente definido para US $ 50 e o volume em 2M:
Essa gota maciça já não é NFLX (é a queda apenas anterior), mas GMCR. Em vez de 27 negócios, havia 73 com uma proporção de 86%, mas um retorno médio mais elevado.
SunnySide Up.
Normalmente, não vejo TastyTrade. Não porque não sejam bons conteúdos, mas simplesmente não tenho tempo. Mas várias vezes essa estratégia do SunnySide Up atravessou minha mesa.
Eu inicialmente assisti o vídeo descrevendo o comércio. Eu estava interessado. Ele descreveu um comércio de ganhos que teve bons resultados, no entanto, o lado positivo incluiu uma chamada curta nua. Eu troquei alguns negócios e vi explosões maciças (GMCR). Eu pensei que isso fosse muito arriscado para mim. Em seguida, cruzei minha mesa novamente meses depois, pensei que seguiria mais algumas trocas de papel e vi uma perda muito grande novamente (SPLK desta vez). Mas, claro, meu tamanho de amostra era pequeno e talvez eu estivesse escolhendo eles incorretamente. Uma coisa que realmente me incomoda no vídeo é que falta detalhes. Eles fornecem parâmetros e algumas estatísticas, mas não mostram curvas P / L ou reduções. Considerando que há posições curtas nuas, acho isso duvidoso. Vamos testá-lo.
Este comércio envolve a compra de uma chamada de touro de um caixa eletrônico e a venda de uma chamada nua que é 84% de OTM no prazo mais próximo. O chamado nu precisa trazer crédito suficiente para pagar o spread. O comércio é colocado imediatamente antes do anúncio de ganhos, e o comércio é fechado no dia seguinte.
Exemplo usando LULU para mostrar a estrutura.
Como eles descrevem no vídeo, os ganhos podem ir de uma das três maneiras: para cima, para baixo ou para nenhum lado. Este comércio permite que você coloque uma aposta em dois desses, capturando a paixão por volatilidade, mas o deixa fortemente exposto no terceiro. A maioria dos ganhos diz estar dentro das expectativas dos fabricantes de mercado. Colocando a chamada nua 84% OTM coloca-o bem fora de 1 SD do movimento esperado. Eu particularmente não gosto de posições não cobertas em eventos binários como esses, mas esta é uma configuração agradável.
O saboroso comércio mostra os seguintes resultados para testar 3 anos de trades.
Estes se parecem com resultados agradáveis, mas note que eles não falam sobre esses dois negócios de perda, nem tampouco como eles alocam os negócios. É 1 contrato por comércio ou até $ X da margem por comércio. Eu assumirei que eles querem arriscar aproximadamente o mesmo valor por comércio. Uma vez que eles mencionam estoques muito caros, e a margem sobre estes é muito alta, eu assumirei uma margem máxima inicial de $ 20k por comércio.
Eu tentarei manter os mesmos parâmetros que o TT. Eles mencionam que isso só funciona em estoques caros, mas eu não consegui o preço de limiar, então vou começar com um mínimo de $ 100. Eu também vou usar o delta na chamada curta como um proxy para o ITM%. Não é perfeito, mas quanto mais próximo da expiração, mais próximos esses números convergem.
Esta é a curva de lucros e perdas nos últimos 3 anos que terminam em 7/30 (no momento em que eu tenho dados até esta data).
Estes não são resultados escolhidos pela cereja. Isso é simplesmente os últimos 3 anos de dados do último ponto de dados que tenho. Essa é uma queda bastante íngreme devido aos ganhos da ISRG & # 8217; s. Verifiquei os resultados com a tentativa da TOS & # 8217; s:
Com certeza, o TOS confirma meus resultados. Além disso, o TOS mostra um ranking IV de cerca de 85% para ISRG naquele dia. Penso que, por todas as contas, este é um comércio que cai bem em seus parâmetros. Mas desperdiçou 3 anos de ganhos durante a noite.
Se eu alterar o limite do preço subjacente para US $ 50, obtendo os seguintes resultados:
Um passeio muito mais rochoso, mas pelo menos lucrativo.
Por curiosidade, eu também olhei esse comércio nos últimos 5 anos. Curiosamente, essas configurações de comércio foram muito difíceis de encontrar antes de 3 anos atrás. Só não havia tentativas suficientes para as chamadas curtas do que eu posso ver.
Conclusão.
Eu admito que eu sou bastante conservador quando se trata de negociação. Eu gosto de eventos ganhos, mas esse comércio me deixa nervosa. Primeiro, os retornos não são ótimos. Eu gosto de um retorno de 2% durante a noite, mas a configuração comercial é difícil de encontrar.
Em segundo lugar, há algumas perdas muito grandes (ISRG, GOOG, GMCR, CMG, NFLX) que podem superar qualquer lucro que você possa ter. Quando 3 + anos de lucros podem ser aniquilados com 1 mau comércio, bem, isso é apenas uma configuração comercial que eu realmente não gosto. Certo, os negócios ruins podem acontecer em outras configurações e ter consequências semelhantes, mas isso é durante a noite. Não há possibilidade de administrar esse comércio dentro do horário do mercado.
Esta semana, vamos analisar as implicações que a volatilidade implícita tem nos negócios de condores de ferro. A volatilidade implícita pode ser um bom indicador sobre quando e onde entrar em um comércio?
Para começar, observamos a volatilidade implícita das opções de ATM para o RUT para as primeiras expirações de três meses nos últimos 9 anos:
O mês da frente é definitivamente mais volátil, como seria de esperar, mas os 2º e 3º meses procuram rastrear um ao outro de perto. Podemos ver que o mínimo é de cerca de 15 e o máximo está no bairro de 70. Tenho em atenção que estou calculando a volatilidade implícita da cadeia de opções como uma média ponderada das IVs da opção ATM # 8217; s.
Esses testes usarão os seguintes limiares IV:
0,10 0,125 0,15 0,175 0,20 0,225 0,25 0,30 0,40 0,5 0,6 0,7.
Observe como o gráfico mostra, não devemos esperar nenhuma transação com uma IV abaixo de 0,10. O uso desse valor serve como verificação de sanidade nos resultados.
IVs maior que o limite.
A primeira corrida de teste usa o IV como um limite mínimo para entrar em um comércio. Por exemplo, negociações com um mínimo de IV de 25 provavelmente não entrarão em um comércio quando este artigo foi escrito (IV é de cerca de 16).
A linha superior são as IVs.
A primeira coisa a observar é que os negócios que exigem uma IV acima de 30 são muito difíceis de encontrar. Negociações superiores a 30 ocorreram menos de 14 vezes nos últimos 10 anos. Os dados apresentados acima para esses negócios de alta voltagem são interessantes, mas não podem ser contabilizados devido ao tamanho da população muito baixa. Mas é interessante notar que pode haver uma vantagem para os negócios de delta baixos tem IBs extremamente elevados em relação ao alto comércio de delta.
Em geral, eu diria que há efeito marginal ao usar o IV como único critério de entrada até o IV começar a chegar ao norte de 22,5. Entre um IV de 22,5 e 30, há um tamanho de amostra significativo e o limiar IV, especialmente em deltas inferiores, parece beneficiar o comércio.
Retornos esperados sobre o mínimo IV.
Olhando para um gráfico dos retornos esperados com base no uso de um limite IV mínimo, podemos ver alguns padrões. Em primeiro lugar, para as negociações de IV extremamente elevadas (que são muito raras), os negócios do Mes da parte da frente do delta são muito bons, assim como todos os deltas no 3º mês. Mas, novamente, isso é baseado em um tamanho de amostra muito pequeno.
Em segundo lugar, muitos comerciantes costumam notar que o condor negocia quando o IV está sob o & # 8216; X & # 8217; não valem a pena. Ao escrever isso, o VIX e RVX estão em mínimos extremos, e este comentário é um sentimento freqüentemente compartilhado. Mas de acordo com esses dados, ele realmente não se levanta. As negociações de baixa IV fazem bem. Mas temos que esperar por mais alguns testes para ter certeza de que seu efeito é devido às negociações de baixa IV e não ser apoiado por outros negócios de alta IV.
IVs Menos do Limiar.
Agora, vamos olhar para a situação inversa. E se colocarmos um limite superior na entrada IV de um comércio.
Melhoria do Fator de Lucro por níveis máximos de IV (IV em colunas)
Agora, podemos ver que as negociações de IV muito baixas foram muito mais difíceis de encontrar, exceto para o Mês da Frente. Estabelecer um limite IV máximo pode ser prejudicial para os negócios dota frente dota, mas em grande parte o efeito é marginal. O Mês da Frente, as negociações de baixa IV (ou seja, menores de 18) parecem apresentar melhor que a linha de base, o que fornece evidências de que pode haver boas negociações de IC em ambientes de baixa volatilidade.
A maioria dos negócios no segundo mês tem efeito marginal. Mas o terceiro mês parece ter melhorias não marginais em negócios com IV inferior a 20.
IV Entre os Limiares.
Agora, podemos olhar para combinar um limite inferior e superior e ver se existem padrões aparecendo.
Melhoria do Fator de Lucro entre os intervalos IV Limitados.
Se você fosse apenas negociar dentro de um intervalo específico, os ambientes IV mais baixos realmente lhe dariam um impulso. Há também alguns bons cenários no Mês da Frase com IVs entre 25 e 50. Se você deseja apenas trocar as faixas de IV muito altas, estará aguardando muito tempo para iniciar uma troca, mas você também deve recomendar usar Os negócios Back Month. Desta tabela podemos ver as maiores melhorias são:
IV entre 13 e 18: Delta inferior em qualquer mês. IV entre 18 e 20: transados ​​do mês da frente do delta muito baixos, ou comércio de delta inferior no terceiro mês. IV entre 20 e 30: não há vencedor claro. A maioria dos negócios parece ter um impacto marginal. IV entre 30 e 50: Parte inferior do delta inferior IV IV sobre 50: transações do terceiro mês.
Então, & # 8230; podemos usar isso para ajudar a escolher melhores posições.
Retorno esperado com intervalos IV limitados.
Acima é um heatmap dos retornos esperados de todos os negócios com volatilidades implícitas limitadas. Aqueles comércios com número muito baixo de negócios são circundados em vermelho. Cada coluna é colorida de acordo com os melhores e piores artistas para essa gama IV.
Observe a tendência nos meses de atraso: os negócios dota elevados apresentam pior e pior à medida que o intervalo IV é aumentado, exceto os níveis extremos.
Hoje, os IVs do RUT são 15.3, 16.6 e 17.9 a partir desta escrita. Todos eles caem diretamente na segunda coluna. De acordo com esses dados, pode ser mais vantajoso inserir um comércio Front-Month com Deltas entre 15 e 22, ou um comércio de mês atrasado com deltas abaixo de 22.
Para mim, esse tipo de dissipação acredita que não há bons retornos em ambientes de baixa volatilidade. Na verdade, de acordo com esses dados, o mês da frente comercial na faixa de 13 a 20 delta exibiu aqueles em 20 a 25. Muito pelo contrário do que eu entendo muitos para acreditar. MAS, esses negócios são mantidos até a expiração, e geralmente não é praticado & # 8230;
Conclusão.
Os ambientes de baixa IV podem não ser tão ruins quanto muitos parecem reivindicar. Na verdade, a faixa Mid-IV mostrou historicamente apresentar um pouco pior. Mas, em ambos os casos, o IV pode ser uma ferramenta muito útil para selecionar o mês e o qual atinge para entrar.
Acredite ou não, esse teste levou um bom tempo. Eu pensei que seria trivial implementar, mas continuei encontrando nuggets interessantes para investigar (além de muita refatoração na minha base de código). Mas o esforço vale a pena e não posso esperar para testar esses conceitos em uma base mais ampla de instrumentos.
Arquivos de teste:
Pós-navegação.
Opção I / O é dedicado a escrever, testar e publicar cenários Backtest em estratégias de opções. Estou inicialmente concentrado em negócios Iron Condor, mas eventualmente planejo testar outras estratégias, como Calendários e Straddles.
Se você tiver dúvidas ou sugestões, digite um comentário ou desative um para determinar.
Próximos testes.
Estes são alguns dos testes futuros e / ou potenciais que estou planejando em relatórios. Se você tiver alguma sugestão, deixe-me uma nota.
Stop Loss & amp; Limites Prêmios Mínimos VIX / RVX para entrada de tempo e saídas IV / HV para entrada de temporização e saídas Operações de Escalação Negociações de rolamento Venda de saldos negativos Delta Neutral Calendário de operações Bombas / Proteção de cisne preto Uso de indicadores Momentum Bandas Bollinger Método Queen of the Condors Método CondorOptions.

No comments:

Post a Comment