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

 

Extração de algumas regras/estratégias "boas" dos dados...

Etapa completa

1) transformação e normalização dos dados

2) treinamento do modelo

3) extração de regras

4) filtragem de regras

5) visualização

código pronto, basta substituir seus dados.

close <- cumsum(rnorm(10000,sd = 0.00001))+100
par(mar=c(2,2,2,2))
plot(close,t="l")

sw <- embed(x = close,dimension = 10)[,10:1] #  make slide window data
X <- t(apply(sw,1,scale)) #  normalase data

dp <- c(diff(close),0) #  diff prices
Y <- as.factor( ifelse(dp>=0,1,-1) ) #  target for classification

tr <- 1:500
library(inTrees)  # ?inTrees::getRuleMetric()
library(RRF)

rf <- RRF(x = X[tr,],y = Y[tr],ntree=100)
rule <- getRuleMetric(unique(extractRules(RF2List(rf),X[tr,])),X[tr,],Y[tr])
rule <- data.frame(rule,stringsAsFactors = F)
for(i in c(1,2,3,5)) rule[,i] <- as.numeric(rule[,i])
buy_rules <- rule$condition[ rule$pred==1 ]

plot(x = 1:1000,y = rep(NA,1000), ylim = c(-0.001,0.001)) 
for(i in 1:length(buy_rules)){
   cum_profit <- cumsum( dp[  eval(str2expression(buy_rules[i]))  ] )
   lines(cum_profit,col=8,lwd=1)
}
for(i in 1:length(buy_rules)){
  cum_profit <- cumsum( dp[  eval(str2expression(buy_rules[i]))  ] )
  ccor <- cor(cum_profit, 1:length(cum_profit))
  if(ccor>=0.9)  lines(cum_profit,col=i,lwd=2)
}
abline(h = 0,col=2,lty=2)



A questão é que, se você pode encontrar "TCs funcionais" aleatoriamente, quais são as maneiras de provar que os TCs encontrados em dados reais não são aleatórios?

Alexey está fazendo isso aqui. Gostaria de saber se existe algum teste estatístico para esse tipo de tarefa?

 
Pergunte ao chatgpt, que geralmente responde de forma mais informativa do que um humano :)

Quero fazer um experimento: escrever um bot do zero somente por meio de prompts.
 
Maxim Dmitrievsky escrever um bot do zero somente por meio de prompts.

Por quê? Para superar a Lilith? Embora o que seria ..... ... ... ... ... Eu gostaria de)))))))))))))))))))))))) Uma ferramenta muito legal em mãos habilidosas).

 
Valeriy Yastremskiy #:

Por quê? Para superar a Lilith? Embora o que seria ..... ... ... ... sya)))))))) É uma ferramenta muito legal nas mãos certas).

É um meta-nível de programação, e ela conhece python perfeitamente. Também faço prompts por voz, deitado no sofá. Muitas vezes tenho ideias, mas estou com preguiça de escrever esse código novamente :).
 
Maxim Dmitrievsky #:
É uma programação de meta-nível, e ela conhece python perfeitamente. Também faço prompts por voz enquanto estou deitado no sofá. Muitas vezes tenho ideias, mas estou com preguiça de escrever esse código novamente :)

Concordo, a pergunta certa é um meta-nível))))

Bem, e verificar a exatidão da execução do código)
 
Valeriy Yastremskiy #:

Concordo, uma pergunta feita corretamente é um meta-nível)))))

Bem, e verificar a exatidão da execução do código)
Dê-me uma interface neural para que eu não precise mexer minha boca.
 
Acho que é uma degradação
 
mytarmailS #:

Extrair algumas regras/estratégias "boas" dos dados...

Etapa completa

1) transformação e normalização dos dados

2) treinamento do modelo

3) extração de regras

4) filtragem de regras

5) visualização

código pronto, basta substituir seus dados



A pergunta é: se você pode encontrar "TCs funcionais" de forma aleatória, como pode provar que os TCs encontrados em dados reais não são aleatórios?

Alexey está fazendo isso aqui. Será que existe algum teste estatístico para esse tipo de tarefa?

O principal problema na aplicação do matstat para esses problemas é que a pesquisa de TCs é realizada por meio da seleção de um grande número de variantes. É sempre possível escolher algo muito bonito em um grande conjunto de variantes - por meio de um exemplo simples, mostrei uma vez aqui que, modelando os preços como SB, você sempre pode "encontrar" uma boa hora da semana para negociar. E isso com apenas 120 variantes para escolher.

O matstat não diz que o TS selecionado é necessariamente ruim, apenas diz que esse resultado PODE (NÃO DEVE) ser apenas o resultado da seleção do SB.

 
mytarmailS #:

Extrair algumas regras/estratégias "boas" dos dados...

Recebo um erro na inicialização

> sw <- embed(x = close,dimension = 10)[,10:1] # make slide window data
Error in h(simpleError(msg, call)) : 
  ошибка при оценке аргумента '.data' при выборе метода для функции 'embed': argument ".data" is missing, with no default
 

Surgiu uma questão puramente teórica: um modelo ONNX pode ser usado para derivar outro modelo ONNX? Por exemplo, o primeiro modelo é usado para retreinar periodicamente novos dados e atualizar o modelo de trabalho. Ou seja, sem usar python etc.

À primeira vista, é improvável que isso seja possível, mas caso alguém tenha tentado fazer algo assim.

Não consegui obter respostas significativas da IA - ela escreve que pode e cita referências que não têm nada a ver com a pergunta).

Razão: