Aprendizado de máquina no trading: teoria, prática, negociação e não só - página 1374

 
elibrarius:

Isto é, o alinhamento é captado pelo método sugerido pelo Vladimir?

Provavelmente não é bem o que eu pensava que ia ser. Não sei, não o usei, tenho de ler a ajuda.

Há algum lugar para ler sobre estes parâmetros?
 
elibrarius:

Estes pesos podem ser alimentados não só para o impulsionador, mas também para o caso da floresta e NS. Aparentemente, a metodologia é comum a todos os sistemas MoD.
A primeira experiência com a diminuição da influência de dados antigos não mostrou qualquer melhoria.

Quando se treina em 30000 linhas, o teste parece melhor do que quando se treina em 80000 linhas. Em 80000 há menos negócios e o erro é maior. Eu tentei diminuir o peso proporcionalmente (de 1 para fresco para 0,5 para velho) e os resultados são quase os mesmos.


Aparentemente ainda é para o alinhamento da dispersão, como apontado por Maxim, pelo método indicado por Vladimir.

Sim, estou falando da viabilidade de reduzir os pesos para aquelas linhas onde a partição do preditor precisa ser movida para um nível inferior da árvore. Só dar pesos a dados mais recentes pode fazer sentido, se considerarmos que o mercado mudou...

 
Maxim Dmitrievsky:
Há algum lugar para ler sobre estes parâmetros?

Não tinha prestado atenção a esta coisa antes.

 

Fez um protótipo do TS na NS. Abertura de um comércio de acordo com a previsão NS, hora prevista - 5 m. Fechamento do negócio em 5 min. após a abertura. Não há monitorização do acordo.

Aqui está o primeiro resultado:

x - número de comércio, y - lucro em pips. Comissões, etc. não são consideradas. O intervalo do teste é de 3,5 meses.

Não há necessidade de negociar até a 60ª negociação, é até o fechamento dos futuros anteriores, a previsão não é muito possível lá. Saltos bruscos, suspeito eu, são intervalos entre dias.

E o código Python. Não podia ser mais simples.

def Long(i): # сделка Long
    print('long')
    profLS.append(SD.history[i+5][c.c] - SD.history[i][c.c] )
    return i + 5

def Short(i):  # Сделка Short
    print('short')
    profLS.append(SD.history[i][c.c] - SD.history[i+5][c.c] )
    return i + 5

while i < LenHist:
    x = []
    for j in range(0, 20): #Подготовка данных для НС
        x.append((SD.history[i-j][c.c]/SD.history[i][c.c]-1)*1000)
    out = MLP.Predict([x]) # запрашиваем прогноз НС
    if out >= 3.0:
        i = Long(i)       
        tmp.append('L')
    elif out <= -3.0:
        i = Short(i)        
        tmp.append('S')
    i += 1
 
elibrarius:

Não tinha prestado atenção a esta coisa antes.

Não consegui encontrá-lo no site xgboost, bem, há uma seção de "ajuste de parâmetros" e é tudo sobre o trade-off de variação de viés.

É um pouco parecido com o que eu estava a pensar.

não o uses, só por curiosidade.

 
Yuriy Asaulenko:

Fez um protótipo do TS em NS. Fecha o comércio 5 minutos após a abertura (tempo de previsão). Não há nenhum monitoramento do comércio.

Aqui está o primeiro resultado:

Por x - número de comércio, por y - lucro em pips. Comissões, etc. não são consideradas. O intervalo do teste é de 3,5 meses.

Não há necessidade de negociar até a 60ª negociação, é até o fechamento dos futuros anteriores, a previsão não é muito possível lá. Saltos bruscos, suspeito eu, são intervalos entre dias.

E o código Python. Não podia ser mais simples.

Parece interessante tendo em conta o encerramento da noite e a não abertura às 10:00?

 
Aleksey Vyazmikin:

Parece interessante, mas você leva em conta fechar para a noite e não abrir às 10:00?

Nada é levado em conta. Fluxo contínuo da história Próximo diretamente da NS. Abrimos de acordo com a previsão NS e depois fechamos estupidamente em 5 metros.

 
Maxim Dmitrievsky:

não conseguiu encontrar tal configuração no site xgboost, bem, há uma seção de "ajuste de parâmetros" e é tudo sobre o trade-off de variação de viés.

É um pouco parecido com o que eu estava a pensar.

Eu não o uso, só estou curioso.

Na descrição em PDF do pacote para a funcionalidade xgb.train diz:

peso - um vector que indica o peso para cada linha da entrada.

E é só isso.

O ELM tem o mesmo. Já o vi em outro lugar.

 
elibrarius:

A descrição em PDF do pacote para a função xgb.train diz:

peso - um vector que indica o peso para cada linha da entrada.

É tudo.

Perguntou ao tipo que faz as coisas de impulso, talvez ele te dê uma resposta mais tarde.

 
Yuriy Asaulenko:

Nada é contabilizado. Fluxo contínuo da história Fechar diretamente sobre a NS. Abrimos de acordo com a previsão, em 5 m fechamos estupidamente.

Tenho bons resultados com eles durante o treino, mas acabou por ser irreal fechar às 10:00 por paragem sem recuar.