Aprendizado de máquina no trading: teoria, prática, negociação e não só - página 3048
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
E o script de código anterior, que foi postado um pouco antes, parou de funcionar - costumava funcionar - antes das atualizações.
library(patchwork)Ele está instalado?
Na atualização geral, mesmo que o erro não seja gravado, o resultado é o mesmo: quase tudo está perdido.
Eu executei, obtive a mesma imagem))
Percebi o erro, pois dei uma olhada no futuro no alvo... sim... perdemos o controle.
Essa linha deve ser substituída
dp <- с(diff(close),0)por
dp <- tail(c(diff(close),0),nrow(X))Reescrevi o código de forma um pouco mais legível.
Funções auxiliares
make_rules <- function(y, x){ library(inTrees) # ?inTrees::getRuleMetric() library(RRF) rf <- RRF(x = x,y = y,ntree=100) rule <- getRuleMetric(unique(extractRules(RF2List(rf),x)),x,y) rule <- data.frame(rule,stringsAsFactors = F) for(i in c(1,2,3,5)) rule[,i] <- as.numeric(rule[,i]) return(rule)} make_data <- function(close){ sw <- embed(x = close,dimension = 10)[,10:1] # make slide window data X <- t(apply(sw,1,scale)) # normalase data dp <- tail(c(diff(close),0),nrow(X)) # diff prices Y <- as.factor( ifelse(dp>=0,1,-1) ) # target for classification res <- list(Y=Y,X=X,diff_price=dp) return(res) }Bem, se não houver outros critérios de avaliação, então, por meio da estabilidade dos parâmetros
também é possível representar os valores de saída do TS como sinais no tempo, medir sua entropia e compará-la com a aleatoriedade. Se o TS capturar algumas regularidades que se repetem com certa periodicidade, isso será refletido.
Para os criadores de FFs personalizados, isso pode ser útil.
A melhor medida é o tempo e os testes na vida real. Qualquer TC deixará de funcionar.Já entendi por que tudo isso não funciona com novos dados, e até entendo mais ou menos o que fazer.
A pergunta sobre o ONNX a partir do ONNX surgiu simplesmente da justaposição de duas afirmações que encontrei: 1) a aquisição de modelos pode ser representada como um pipeline, 2) o pipeline pode ser convertido para o formato ONNX.
Está claro que isso dificilmente é possível na prática. Na verdade, eu gostaria de entender o que exatamente impede a implementação de tal possibilidade, a fim de perceber as limitações fundamentais dessa tecnologia como um todo.
Uma coisa são limitações como a impossibilidade de gravar em um arquivo e outra são limitações como a falta de suporte a tipos de dados (dataframes, por exemplo).
Ambas as afirmações são verdadeiras. É possível obter um modelo incluindo o pré-processamento. Infelizmente, não em todas as estruturas e somente nas mais simples. O TF/Keras implementa as primeiras camadas de NN realizando o pré-processamento. O scikit-learn tem a opção mais rica de pipeline+modelo. Consulte scl2onnx.
É bom ver que os colaboradores sérios percebem que o ONNX deve incluir todo o pipeline, começando pelo pré-processamento. Os novos dados em produção devem passar pelas mesmas etapas de pré-processamento que no treinamento. Caso contrário, os resultados do modelo ONNX serão imprevisíveis.
Essa direção está se desenvolvendo rapidamente e acredito que esse problema será resolvido em breve. Por enquanto, você deve fazer experiências.
Boa sorte
e eu obtive a mesma imagem ))
Percebi meu erro, dei uma olhada no futuro no alvo... sim... estou perdendo o jeito.
Essa linha deve ser substituída
para
reescrevi um pouco o código para ficar mais legível
funções auxiliares
Testando o código modificado
Recebo um erro
Experimentando o código modificado
Recebo um erro
Como as funções precisam ser declaradas primeiro e depois usadas...
Como eu sabia...
Então este é o erro
Artigo interessante sobre a RL. h ttps:// habr.com/ru/articles/349800/
O conceito de RL não é redundante para tarefas de negociação? Temos a influência do ambiente sobre o agente, mas existe uma influência do agente sobre o ambiente? Provavelmente é possível introduzir essa segunda influência artificialmente, mas isso faz sentido?
Duas (ou três) ideias do artigo não são supérfluas para nós: a função de perda deve refletir exatamente o que precisamos e deve ser suave (e monotônica). No nosso caso, ela deve ser o lucro e deve depender de forma suave e monotônica dos parâmetros do modelo.
A suavidade de algum análogo do lucro, provavelmente, pode ser obtida de alguma forma (por exemplo, por algo como suavização de kernel). Mas duvido muito da monotonicidade.