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

 
Maxim Dmitrievsky:

Não é arrogância, é um desejo normal de partilhar, não há aqui pessoas invejosas, já não há esse nível de consciência :) Então escreve mais.

Eu não posso - hoje não há comércio)). Ontem à noite o TS fez cerca de 100p, o que é excelente para a noite. Comecei a testá-lo mais perto do fim da sessão do dia. Até agora tudo está a correr como no gráfico (mostrado acima).

Primeira corrida. Ainda não correram durante o dia.

 
Yuriy Asaulenko:

Eu não posso - não há negócios hoje)). Ontem à noite, o TS acabou com cerca de 100 p's - óptimo para a noite. Começou os testes mais perto do fim da sessão do dia. Até agora tudo está a correr como no gráfico (mostrado acima).

Primeira corrida. Ainda não correram durante o dia.

Ontem foi um dia plano, geralmente em todos os mercados e instrumentos.

Isto é para os neurónios - romance e lucro.

Vamos esperar pela dinâmica, vamos estimar os resultados da negociação e só então poderemos chegar a uma conclusão.

 
Renat Akhtyamov:

Ontem foi um dia plano, geralmente em todos os mercados e instrumentos.

Isto é para a neurônica - romance e o correspondente lucro.

Vamos esperar pela dinâmica, vamos estimar os resultados da negociação, e só então poderemos dizer se a negociação foi bem sucedida ou não.

Acho que o dia vai ser ainda melhor. A julgar pelo modelo e pelos testes de depuração preliminares. Mas é muito cedo para dizer alguma coisa, é claro.
 

Pergunta para especialistas de R.

Como pode uma matriz com valores absolutos ser convertida em uma matriz de classe softmax?

Isto é, de

0.1136889 0.7622813 0.1190166
0.1131552 0.7641207 0.1194619
0.1142053 0.7635344 0.1197848

para conseguir

0 1 0
0 1 0
0 1 0

Claro que posso correr através do loop e comparar tudo, mas parece-me que deveria haver uma função incorporada no R.

Se eu cometi um erro, por favor corrija a seguinte função


get_softmax <- function(m){
    r <- nrow(m);
    c <- ncol(m);
    rc <- r*c;
    mc <- max.col(m, "first"); #номера столбцов с макс. значением
    m[(1:rc)] <- 0; # обнулить матрицу
    m[(1:r) + r*(mc[1:r]-1)] <- 1; # 1 в столбец с макс. значением
    return(m);
}

 
elibrarius:

Pergunta para especialistas de R.

Como pode uma matriz com valores absolutos ser convertida em uma matriz de classe softmax?

Isto é, de

0.1136889 0.7622813 0.1190166
0.1131552 0.7641207 0.1194619
0.1142053 0.7635344 0.1197848

para conseguir

0 1 0
0 1 0
0 1 0

É claro que posso fazer um loop through e comparar tudo, mas parece-me que deveria haver uma função incorporada no R.

Eu criei esta função, corrige-me se eu estiver errado.


get_softmax <- function(m){
    r <- nrow(m);
    c <- ncol(m);
    rc <- r*c;
    mc <- max.col(m, "first"); #номера столбцов с макс. значением
    m[(1:rc)] <- 0; # обнулить матрицу
    m[(1:r) + r*(mc[1:r]-1)] <- 1; # 1 в столбец с макс. значением
    return(m);
}


Parece que é assim:

b <- ifelse(a< 0.5, 0, 1) 

onde "a" é uma matriz de qualquer dimensão.

Em geral, o seu código com loops não é para linguagens vetoriais (matriciais) que são R

 
SanSanych Fomenko:

Parece que é assim:

onde "a" é uma matriz de qualquer dimensão.

Em geral, seu código com loops não é para idiomas vetoriais (matriciais), que é R

Vai funcionar para várias aulas?
Variantes de 3 classes

0.3 0.4 0.3

não vai calcular correctamente.
Se por softmax então a coluna do meio deve ser 1, pela sua fórmula todas as colunas = 0

 
elibrarius:

Vai funcionar para várias aulas?
Opções para 3 classes

0.3 0.4 0.3

Não vai calcular correctamente.
Se por softmax então a coluna do meio deve ser 1, pela sua fórmula todas as colunas = 0

ifelse как видно из синтаксиса дает два класса. На большее число классов я делил несколькими ifelse
 
SanSanych Fomenko:
ifelse как видно из синтаксиса дает два класса. На большее число классов я делил несколькими ifelse

Você precisa de seu próprio f-fi para 3 aulas, outro para 4, e um terço para 10.
Seria bom ter uma ferramenta universal.
Além disso, você deve comparar não com algum valor (0,5 para você), mas uns com os outros em busca do máximo. Com 10 classes o valor máximo pode ser apenas 0,11. Por outro lado, com 10 classes você pode ter várias colunas >0,11. Qual delas será o máximo - esta fórmula não lhe dirá. Você tem que compará-las umas com as outras.

 

Suponha que temos uma PA mais ou menos estacionária e que temos a sua decomposição de frequência. Pergunta: qual é melhor para o modelo - 1 ou 5 características, e porquê?


 
elibrarius:

Você precisa de seu próprio f-fi para 3 aulas, outro para 4, e um terço para 10.
Seria bom ter uma ferramenta universal.
Além disso, você deve comparar não com algum valor (0,5 para você), mas uns com os outros em busca do valor máximo. Em 10 classes o valor máximo pode ser de apenas 0,11. Por outro lado, em 10 classes você pode ter várias colunas >0,11. Qual delas será máxima - esta fórmula não lhe dirá. Você deve compará-las umas com as outras.

0,5 é o meu limite de classe pré-conhecido.

Se nem os limites de classe nem os números de classe são conhecidos, então outros algoritmos estão disponíveis - aprendizagem sem professores. Muito famoso - agrupamento pelos vizinhos mais próximos.