Discussão do artigo "Criação de uma estratégia de retorno à média com base em aprendizado de máquina" - página 7

 
Maxim Dmitrievsky #:

Aqueles que leram o artigo encontrarão um bom bônus no final - um gráfico do terminal, que mostra o drawdown.

Não, não são. O teste no terminal é feito com SL e TP, embora se afirme que o treinamento foi feito sem eles. Por que não mostrar o resultado após o treinamento e em condições idênticas (sem SL e TP)? - Porque se afirma que "(1) As configurações de parada não afetam a capacidade de generalização dos modelos".

Você não precisa responder - você não é bom em responder em substância.

[Excluído]  
Evgeni Gavrilovi #:

Você tem alguma opinião sobre como melhorar o TC? Compartilhar)

Na forma atual, de jeito nenhum, apenas passando por características/padrões/configurações.

É possível obter modelos muito bons.
[Excluído]  
Andrey Dik #:

Você não precisa responder a isso

graças a Deus

 
Maxim Dmitrievsky #:

Na forma atual, não há como, somente passando por características/partições.

Essa biblioteca tem todos os indicadores básicos, que são calculados em uma função. Talvez você a considere útil no futuro.

https://github.com/bukosabino/ta

df = add_all_ta_features(df, open="Open", high="High", low="Low", close="Close", volume="Volume_BTC")

[Excluído]  
Evgeni Gavrilovi #:

Essa biblioteca contém todos os indicadores básicos que são calculados em uma função. Ela pode ser útil para você no futuro.

https://github.com/bukosabino/ta

df = add_all_ta_features(df, open="Open", high="High", low="Low", close="Close", volume="Volume_BTC")

Obrigado, salvei-o. Há outras modificações inesperadas no algoritmo, vou publicá-las mais tarde (é muita coisa para escrever). As modificações são tais que podemos dizer que será um algoritmo diferente.

[Excluído]  

Se você não puder executar o código Python do inimigo (exemplo do Dick, é um estado normal de consciência para ele), ou se não o fizer por motivos religiosos (você escreve exclusivamente em SI, como legado de seus pais):

  • O modelo é treinado e selecionado por qualquer sl/tp, digamos 500/500:

hyper_params = {
    'symbol': 'EURGBP_H1',
    'model_number': 0,
    'markup': 0.00010,
    'stop_loss':  0.00500,
    'take_profit': 0.00500,
    'periods': [i for i in range(5, 300, 30)],
    'periods_meta': [100],
    'backward': datetime(2000, 1, 1),
    'forward': datetime(2021, 1, 1),
    'full forward': datetime(2026, 1, 1),
    'n_clusters': 10,
    'rolling': 200,
}

  • Altere os hiperparâmetros para, por exemplo, 5000/5000 (nunca funciona):

  • Otimize com ousadia ou selecione manualmente os que desejar, por exemplo, 2000/200, como no artigo

  • As formas das curvas coincidem com a precisão até as correções de paradas. As paradas podem ser otimizadas no terminal sem medo de otimização excessiva.

[Excluído]  
Obviamente, a estratégia não muda, apenas os stops mudam. A seleção de modelos por meio de stops predefinidos permite que você encontre rapidamente um modelo para seu estilo de negociação, que melhor se adapte aos seus critérios de negociação, conhecidos apenas por você.

A propósito, foi suficiente pegar o bot já compilado do artigo e verificá-lo. Eu esperava perguntas mais sérias dos "veteranos" do fórum, acho que superestimei as expectativas.
 
Maxim Dmitrievsky #:
Eu estava esperando perguntas mais sérias

Você já testou a multiclassificação no passado? Há alguma vantagem?

https://catboost.ai/docs/en/concepts/loss-functions-multilabel-classification

[Excluído]  
Evgeni Gavrilovi #:

Você já testou a multiclassificação no passado? Há alguma vantagem?

https://catboost.ai/docs/en/concepts/loss-functions-multilabel-classification

Apenas para tarefas de negociação muito específicas, caso contrário, não há vantagens. Além disso, pelo que me lembro, há alguns problemas ao exportar para o ONNX. Se eu não estiver confuso.

ZЫ Não creio que haja problemas com a exportação agora.
 

É claro que não estou convencido, mas usar o Savitsky_Golay não é muito diferente de usar o muve. O filtro SG é o ponto médio de uma regressão polinomial em uma determinada janela deslizante, com um grau especificado de polinômio. Para o grau 1, é uma correspondência perfeita com o muv do período correspondente.

Para identificar o retorno à média, faz mais sentido, na minha opinião, usar a filtragem de amplitude - renko, renji, ziguezagues. Acho que os intervalos são os melhores - a diferença entre Hg e Lw é uma constante. Bem, ou um tamanho constante ZZ, que é basicamente a mesma coisa.