Resposta

Tempo de espera das estratégias de construção

5 respostas

kleung88

Cliente, bbp_participante, comunidade, 32 respostas.

Perfil da visita

7 anos atrás #116422

Tenho um cenário de baixa eficiência nas estratégias de construção e gostaria que alguém comentasse sobre uma experiência semelhante ou me aconselhasse se estou fazendo isso corretamente. Por favor, tenha paciência, pois este texto pode ser um pouco longo, já que gosto de discutir os detalhes em uma única postagem, em vez de dividi-los em partes.

 

Estou testando um símbolo de forex que começa em 01/03/2006 e vai até 01/03/2017, e tenho os dados da amostra que abrangem 01/03/2006 a 31/12/2013. Em meus testes iniciais, escolhi o período H4 para esperar uma conclusão mais rápida usando "Selected Timeframe only" durante o processo de criação da estratégia. Obtive 500 estratégias em uma hora, com excelentes resultados, muitas delas sobreviveram aos procedimentos de reteste e, por fim, cerca de 10+ estratégias passaram no teste WFO com resultados bonitos em lucro, PF, Ret/DD etc. Durante essas etapas de teste de robustez, continuei a usar "Selected Time Frame only". No entanto, nenhuma delas apresentou as mesmas formas de curva de patrimônio depois que as coloquei na TradeStation, de modo que nenhuma dessas estratégias valeu a pena ser considerada para negociação.

 

Em seguida, realizei os procedimentos de reteste nessas mais de 10 estratégias novamente com "dados de 1 minuto" para obter maior precisão. Menos estratégias sobreviveram após o teste WFO, então descobri que tinha que descartar todas elas depois de ver seus desempenhos na TradeStation.

 

Para fins de comparação da natureza dos testes, reiniciei os procedimentos de construção de estratégias no mesmo conjunto de dados, selecionando os períodos de tempo D1, H1, M30, M15 e M5, escolhendo "Selected Timeframe only". Em seguida, várias estratégias foram aprovadas após o WFO com resultados bonitos quando escolhi "Selected Timeframe only" durante as etapas de reteste. Mas descartei todas elas depois de ver seus resultados na TradeStation. Por fim, escolhi "1 minute data" (dados de 1 minuto) para testar novamente essas estratégias geradas pelo período de tempo selecionado D1, H1, M30, M15 e M5, mas nenhuma delas sobreviveu após os testes de WFO. Parecia que eu estava validando que o padrão do resultado do teste era o mesmo do H4 com o qual comecei.

 

Parece-me que não é viável economizar tempo de computação usando as seleções "mais rápidas" no processo de criação de estratégias nem no processo de reteste, o que me leva a perguntar para que essas seleções realmente servem, se nunca poderei usá-las quando as estratégias testadas nem sequer estiverem qualificadas para fins de negociação simulada.

 

Portanto, estou reiniciando as estratégias de construção no mesmo conjunto de dados, período H1 vs. seleção de "dados de 1 minuto", e usarei essa configuração para testar novamente. Espero que elas me forneçam resultados que sejam, pelo menos, bons para as execuções de simulação na TradeStation.

 

Agora, estou aguardando a conclusão das estratégias de construção. Nas últimas 12 horas, foram geradas 106 estratégias. O consumo de memória está bom, pois limitei a configuração a 2Mbytes e o gráfico de uso de memória do PC exibido está estável, o que significa que o SQ provavelmente não desligará antes de concluir a execução atual. Eu dediquei outro PC para a execução do teste atual e não me atrevo a usar o PC para abrir outros programas a fim de evitar complicações no uso da memória. Considerando a velocidade constante atual, parece que pode levar três dias para concluir essa execução e atingir o conjunto inicial de 500 estratégias.

 

Nos blocos de estratégias de construção, escolhi cerca de 60% do total de seleções. Portanto, se eu tivesse selecionado todos os blocos, acho que levaria 5 dias para concluir a geração do conjunto inicial de 500 estratégias.

 

Temos um problema sério de desempenho aqui. Se tivermos que usar 5 dias para testar em apenas um período H1 em comparação com os dados de 1 minuto, será ainda mais lento se selecionarmos a simulação Tick ou Real Tick. Além disso, se tentarmos testar todos os 7 períodos possíveis para apenas 1 símbolo em comparação com os dados de 1 minuto ou mais lentos, isso significa que serão necessários 1,5 mês de execuções ininterruptas para concluir 7 conjuntos de estratégias iniciais? Isso é apenas para um símbolo, e há cerca de 90 símbolos disponíveis no TDD, o que parece ser uma missão impossível para testar todos os símbolos dentro do universo do TDD, sem falar que se alguém estiver importando fontes adicionais de séries de dados para teste.

 

 

Espero ter feito uma descrição abrangente da experiência de teste e ficarei grato se algum guru do SQ puder me aconselhar se há maneiras mais inteligentes de lidar com isso.

 

Obrigado !!!

0

mabi

Cliente, bbp_participant, comunidade, 261 respostas.

Perfil da visita

7 anos atrás #141885

Pensei que você só pudesse gerar estratégias de estação de negociação usando o período de tempo selecionado. O mesmo acontece com o Ninjatrader, pois só posso usar o período de tempo selecionado. Se eu usar estratégias geradas no formato Metatrader e depois salvas como Ninjatrader, elas não funcionarão ou darão um resultado muito ruim, porque há diferenças na forma como o Metatrader trabalha com indicadores e como o Tradestation/Ninjatrader trabalha com indicadores, uma vez que eles são calculados na barra aberta para o Metatrader e na barra fechada no Tradestation, além de outras diferenças. Os melhores resultados comparáveis para mim e para o Ninjatrader são quando eu gero estratégias com negociação na barra aberta Mas a configuração de negociação na abertura da barra realmente limita os tipos de estratégias que podem ser encontradas, se você não tiver tipos especiais de barras (renko, etc.) com um "true open" para brincar, o que pode proporcionar boas estratégias usando a configuração de negociação na abertura da barra.

 

Estratégias que acabam no banco de dados e quantas dependem de suas opções de classificação. Depois de se beneficiar, você aprende a procurar determinadas estratégias e só precisa usar algumas configurações, além de saber quais opções de classificação usar para ter estratégias que provavelmente passarão nos testes RT e WFO.

0

kleung88

Cliente, bbp_participante, comunidade, 32 respostas.

Perfil da visita

7 anos atrás #141939

Olá, Mabi, obrigado por compartilhar. Sim, eu me lembro da diferença no manuseio de negociações do Metatrader e da TradeStation. Portanto, não selecionei (This Bar Open / Today Open / Enter a Market) nas regras de entrada. Isso resolveria o problema, evitando os preços de abertura? Além disso, para todas as 3 seleções de mecanismo de backtest (MT/NT/TS), notei que também podemos selecionar qualquer uma das 5 diferentes precisões de teste. Estou me perguntando se o MT/NT/TS levará o mesmo tempo se eu escolher a precisão de 1 minuto. Vou testá-los mais tarde. Talvez eu esteja fazendo algo errado nessa configuração, porque nas últimas 48 horas da minha atual execução ininterrupta, ele coletou apenas 379 estratégias no banco de dados. 

 

Para as opções de classificação, escolhi algo muito básico, que são lucro líquido, número de negociações, PF, retorno/DD, % vitórias e 500 como máximo a ser armazenado no banco de dados. Por exemplo, estou usando %Wins < 30% para demissão. Se eu escolher 50%, menos estratégias serão transmitidas, mas acho que levará ainda mais tempo para coletar 500 estratégias. Pelo que entendi, quanto mais rigorosas forem as condições definidas, mais estratégias adequadas serão geradas, mas a programação genética levará mais tempo para ser concluída. Meu entendimento está correto ou deixei passar algum conceito, por favor?      

0

mabi

Cliente, bbp_participant, comunidade, 261 respostas.

Perfil da visita

7 anos atrás #141945

Bem, se você criar estratégias com os dados "carregados" da Tradestation, não precisará excluir nada, isso deve ser levado em conta. O que eu quis dizer foi que, como não podemos usar a resolução de minutos ao gerar estratégias hoje usando dados da Tradestation, a precisão é tão ruim quanto se você usasse a Tradestation. Se você usar apenas a negociação na abertura da barra, a precisão será muito alta e refletirá os resultados da negociação em tempo real (a tradestation negociará apenas na abertura da barra, pois o código dirá isso). Se você usar ordens limitadas, o maior problema é que uma certa porcentagem não será preenchida, mesmo que o mecanismo de backtest pense assim. Há também um problema com as saídas: em alguns casos, o mecanismo de backtest acha que você foi atendido em um stop ou, o que é mais comum, acha que você obteve o lucro primeiro, mas, na realidade, você foi impedido de sair, o que pode acontecer quando o alvo está mais próximo do que o stop, pois o mecanismo de backtest presume que você atingiu o alvo antes do stop (na mesma barra), o que, na verdade, não acontece.

0

kleung88

Cliente, bbp_participante, comunidade, 32 respostas.

Perfil da visita

7 anos atrás #141949

Obrigado Mabi pela elaboração do limite/parada. Estou usando apenas os dados do TDD agora, porque eles têm um histórico de dados de FX muito mais longo do que o banco de dados do TS. Então, se eu desabilitar o limit/stop e usar as seleções de trade on bar only nos building blocks, além de escolher o formato TradeStation como o mecanismo de back-test de dados nesses dados do TDD e escolher "selected time frame only", devo estar obtendo algo muito próximo da curva histórica real de ações no TradeStation, por favor?

0

mabi

Cliente, bbp_participant, comunidade, 261 respostas.

Perfil da visita

7 anos atrás #141951

Não sei realmente, você precisa experimentar. Se os dados do TDD estiverem no mesmo formato que os do tradestation, o SQ os verá como dados do TS. Se os dados forem vistos como dados MT4 e você puder mudar para a resolução de minutos, ainda assim terá um problema. Para gerar usando o mecanismo de back test do tradestaion, acho que você precisa convertê-los para o formato do tradestation. Não importa se você alterar manualmente no programa. Pelo menos esse não é o caso do Ninjatrader. Pergunte ao suporte.

0

Visualizando 5 respostas - 1 até 5 (de um total de 5)