Resposta

Qual é a conexão entre dentro da amostra e fora da amostra?

6 respostas

jerrycgc

Assinante, bbp_participante, cliente, comunidade, 0 respostas.

Perfil da visita

5 anos atrás #237775

Faz diferença se eu mudar a proporção ou não?

A estratégia é baseada em IN SAMPLE ou IS+OOS?

0

Daniel

Customer, bbp_participant, community, sq-ultimate, 36 replies.

Perfil da visita

5 anos atrás #237777

Olá, Jerry, as estratégias são criadas com base em IN SAMPLE. Portanto, o IS também deve ser maior que o OOS.

DP

0

hankeys

Cliente, bbp_participant, community, sq-ultimate, 487 respostas.

Perfil da visita

5 anos atrás #237781

Discordo dessa fórmula simples - o IS deve ser maior do que o OOS. Na minha opinião, é melhor criar estratégias com base em um pouco de dados, fazer escolhas por meio de todo o comportamento dos dados (alta volatilidade, baixa volatilidade, chop) e gerar apenas em alguns meses (anos) e fazer todo o resto como OOS

Dessa forma, você obterá mais strs diferentes, que podem estar prontas para a maioria dos estados de um mercado

Você quer ser um algotrader lucrativo? Começamos a usar o software StrateQuant no início de 2014. Atualmente, temos um grande know-how para criar EAs para todos os tipos possíveis de mercados. Compartilhamos esse know-how, aplicativos, ferramentas e também todas as estratégias finais com traders reais. Se você quiser se juntar a nós, preencha o formulário FORMULÁRIO.

0

Ilya

Cliente, bbp_participante, comunidade, 105 respostas.

Perfil da visita

5 anos atrás #237800

Concordo com hankeys: quanto menor for o seu SI, menor será o excesso de ajuste da estratégia e mais estratégias você poderá gerar em um tempo mais curto. Filtre de acordo com os dados grandes e gere com base nos pequenos.

 

 

0

Daniel

Customer, bbp_participant, community, sq-ultimate, 36 replies.

Perfil da visita

5 anos atrás #237807

Discordo dessa fórmula simples - a IS deve ser maior do que a OOS. Na minha opinião, é melhor criar estratégias com base em um pouco de dados, fazer escolhas por meio de todo o comportamento dos dados (alta volatilidade, baixa volatilidade, chop) e gerar apenas em alguns meses (anos) e tornar todo o resto como OOS. Dessa forma, você terá mais estratégias diferentes, que podem estar prontas para a maioria dos estados de um mercado.

Concordo com hankeys: quanto menor for o seu SI, menor será o excesso de ajuste da estratégia e mais estratégias você poderá gerar em um tempo mais curto. Filtre de acordo com os dados grandes e gere com base nos pequenos.

Obrigado a vocês dois, esse é um bom argumento. No entanto, como é o comportamento da SQX se procurarmos estratégias usando o método de construção aleatória? A SQX não faz diferença entre IS e OOS?

DP

0

jerrycgc

Assinante, bbp_participante, cliente, comunidade, 0 respostas.

Perfil da visita

5 anos atrás #237814

Obrigado a vocês

Agora sei que está escrito no "guia do usuário":In Sample (Na amostra) - é usado durante a evolução genética;Out of Sample (Fora da amostra) - essa parte dos dados é usada para verificação.

Quando defino IS como 0, não ocorre evolução e a aptidão permanece em 0,06. Acho que a evolução consiste em melhorar o valor de aptidão da estratégia

Não tenho certeza se, teoricamente, é correto gerar estratégias com IS pequeno e OOS grande.

Acho que não faz diferença o fato de o ajuste excessivo ocorrer em IS ou OOS.

O backtesting não se trata de ajuste excessivo? A história vai se repetir, esse tipo de coisa?

 

0

Ilya

Cliente, bbp_participante, comunidade, 105 respostas.

Perfil da visita

5 anos atrás #237815

Vou lhe dar minha opinião sobre as coisas:

- Em primeiro lugar, de fato, a evolução genética tem a ver com o aprimoramento do nível de aptidão de uma estratégia, tentando alterar ligeiramente seus parâmetros em cada execução e verificar se ela melhorou ou não.

- A geração da estratégia ("treinamento do modelo") ocorre no Na amostra período, independentemente de você usar a evolução genética ou aleatória.

- Agora, o uso de períodos fora da amostra faz sentido em ambos os tipos de geração, explicarei por quê.

Evolução genética

Essa é a mais óbvia: uma vez que você "recicla" a mesma estratégia com ajustes finos e permutações até que ela satisfaça seus filtros (ou aptidão mínima), essa estratégia provavelmente é superequipado nesse conjunto de dados. Portanto, faz sentido executar a estratégia uma vez "fora da caixa" em um conjunto de dados previamente desconhecido, para garantir que ela funcione bem sem estar perfeitamente ajustada a ele, reduzindo, assim, a chance de ajuste excessivo. Isso pode ser feito usando o controle deslizante OOS durante o processo de construção.

- Essencialmente, aqui uma única estratégia pode ser executada 200 vezes nos dados do SI até que eles satisfaçam suas necessidades e, em seguida, apenas 1 vez em dados OOS para garantir que satisfaçam seus requisitos de desempenho, para que você possa ver a vantagem desse período OOS e o quanto você reduz as chances de overfitting.

Evolução aleatória

Aqui, diferente de evo genético, uma única estratégia é executada apenas uma vez nos dados IS e, em seguida, uma vez nos dados OS, e então seus filtros são verificados. Portanto, "a olho nu", parece que não há diferença entre IS e OOS, pois antes de chegar ao seu banco de dados, ela varre todo o período combinado.

MAS, em primeiro lugar, não se esqueça de que, se uma estratégia não atender às suas necessidades de IS, ela não será testada no OOS (a menos que seus filtros estejam relacionados apenas ao conjunto de dados completo e, nesse caso, o que foi dito acima seja verdadeiro, isso significa basicamente que todos os dados são IS, quer você os divida ou não).

Aqui, como no Random gen obtemos uma porcentagem menor de estratégias para passar para o banco de dados (já que apenas lançamos aleatoriamente uma mistura de parâmetros e vemos se funciona), esse é o seu próprio tipo de superajuste, mesmo que não o reciclemos como no genetic evo, já que apenas trocamos as estratégias em hipervelocidade, até que ele "se encaixe bem" em nosso conjunto de dados. Portanto, aqui o que faz sentido para nós é usar um conjunto de dados não vistos para OOSO valor do período de tempo, que não faz parte do processo de geração, por exemplo, os últimos 6 meses ou um ano, que será revelado apenas para a estratégia no retester. Dessa forma, temos mais confiança de que nossa estratégia criada aleatoriamente não caiu "acidentalmente" com perfeição em nosso conjunto de dados de construção.

 

E isso é apenas a ponta do iceberg para evitar o ajuste excessivo; o teste de robustez e o walk-forward são os verdadeiros MVPs para evitá-lo. Mas os períodos de OOS são, para mim, uma parte essencial do processo de construção e reteste, e sempre reservo um período de OOS pelo menos para a construção, e outro mais recente, totalmente invisível, para ser executado no reteste.

Abraço

 

 

 

0

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