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

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
Muito disso você mesmo sabe e já fez, mas eu vou escrever mais completamente para excluir quaisquer suposições que falamos da mesma maneira, mas fazemos de maneira diferente.
Tudo isto a partir dos conselhos deste fórum, e da experiência.
Obrigado.
Vou responder ponto por ponto.
É necessário ter uma função de aptidão física cuidadosamente aperfeiçoada para estimar os parâmetros do modelo. Se a função avaliar parâmetros específicos do modelo e preditores selecionados com uma pontuação alta - deve haver bons resultados no teste com novos dados.
(Terei em mente para qualquer estimativa que quanto mais alto for, melhor é)
Existe tal função. Eu não preciso de R^2 (embora no início eu me propus a confirmar que o mercado é estupidamente previsível em termos de regressão). Eu uso uma função escrita para estimar o MO e a soma de pontos com o spread. Esta função funciona dentro do loop CV e seleciona os melhores parâmetros para treinar o modelo.
A função fitness deve repetir pelo menos 50 vezes em um ciclo:
1) dividir os dados em 2 partes, 50%/50%. Deve haver amostragem aleatória com amostra e amostragem sequencial (a peça para treino está algures no meio, e para validação o que a rodeia no início e no fim dos dados em bruto). Incluindo as versões extremas, onde o treinamento na primeira metade da tabela e a validação na última, e vice-versa. Acho importante ter tanto amostras sequenciais como amostras aleatórias para treinamento. Na figura você pode ver mais claramente alguns exemplos de partição aleatória e seqüencial, as linhas verdes são para treinamento, as amarelas são para validação.
Não é muito claro. Só não percebo a que repetições te referes.
Mais uma vez tenho 99 conjuntos de treino (10 anos cada). Cada conjunto é único em termos de exemplos, mas todos eles são retirados do mesmo período de tempo "antes".
Em cada conjunto corro um CV com 2 a 10 faltas (também as percorro em ciclo).
Mas eu tenho estritamente todas as faltas separadas pelo tempo. Acho que é um método inviolavelmente correcto.
Então 99 * número de combinações de parâmetros CV (centenas) = centenas de modelos treinados, que mostram a métrica de melhor qualidade em faltas de validação.
Depois há o mesmo número de amostras atrasadas retiradas do período "após" (que é de 5 anos). Eles também são únicos. Eu faço um CV aninhado: eu verifico cada modelo resultante para experiência de CV na amostra diferida. Eu recebo dois vetores de valores métricos de qualidade: no CV e na amostra diferida.
Pergunta para os conhecedores:
caso eu tenha dados constantes e um modelo (pacote) adequado, o que eu espero obter em amostras diferidas?
Resposta: a métrica de qualidade (QM) em amostras diferidas deve ser correlacionada com a métrica de qualidade em faltas de validação.
Na realidade, conseguir isto é um grande problema.
Porque é que preciso dele? Para que eu possa selecionar com confiança os melhores modelos, contando apenas com a minha validação cruzada. Uma vez que já verifiquei que dá resultados consistentes com o futuro.
As comissões e outros modelos de alto nível também precisam passar no teste de aptidão física daquela amostra diferida na qual não foram treinados de forma alguma.
2) treinar o modelo na amostra de treinamento (os parâmetros do modelo e os preditores usados são os mesmos durante todo o ciclo, os que você está tentando estimar), então prever esses mesmos dados com esse modelo, e colocar uma pontuação na previsão - precisão, r^2, ou algo mais. Eu, por exemplo, arredondo o resultado da regressão para as classes, e uso a função Kappa de Cohen para estimativa, é de carpete, eu gosto mais do que a precisão da classificação ou precisão da regressão. Mas só funciona para duas classes. Para três classes eu acho difícil sugerir qualquer coisa, é importante que a estimativa leve em conta a precisão de cada classe separadamente, e dê alguma estimativa geral com base nisso.
3) Aplicar um modelo treinado para prever os dados de uma amostra de validação, estimar a previsão com a mesma função.
4) Ambas as estimativas (treinamento e validação) devem estar próximas uma da outra, e o mais alto possível. Eu uso este código para a pontuação final - (min(pontuação1,pontuação2) - (max(pontuação1,pontuação2)-min(pontuação1,pontuação2)) - do valor mínimo é subtraído o delta deles.
No final de cada iteração vamos obter alguma pontuação, e devido à divisão aleatória dos dados pode variar de -1 a 1 (ou em outro intervalo, dependendo da função utilizada). Calculamos o seu valor médio, e devolvemo-lo como resultado da função fitness. Adicionalmente, subtraio um pequeno número (0,0001) do valor de fitness para cada preditor utilizado para penalizar o modelo por um conjunto demasiado grande de dados necessários.
Por favor, esclareça, a formação refere-se à avaliação das faltas de validação cruzada?
A proximidade da estimativa de treinamento e validação - isso significa a correlação do atraso na amostragem com o resultado da validação cruzada?
Se for esse o caso, então estamos mesmo perto.
Por favor, esclareça, a formação refere-se à avaliação das faltas de validação cruzada?
A proximidade da estimativa de treinamento e validação - isso significa correlação da amostragem retardada com o resultado da validação cruzada?
Se for esse o caso, então estamos mesmo perto.
O que significa "correlação"? "+1"? "-1"? Com o quê?
Aqui estão 50 resultados da corrida que eu posso entender. A 50 resultados já é possível aplicar estatísticas, contar a média, os desvios e, mais importante, o intervalo de confiança....
Posso ver o resultado das negociações de ontem?
Ү Não perfeito, mas ainda 80% do modelo está generalizado....
O que significa "correlação"? "+1"? "-1"? Com o quê?
Aqui estão 50 resultados da corrida que eu posso entender. A 50 resultados já é possível aplicar estatísticas, contar a média, a variância e, mais importante, o intervalo de confiança....
Não, tu não percebeste, CC.
Correlação da métrica da qualidade na amostra diferida com a métrica da qualidade na validação cruzada (como uma amostra de teste que avalia o modelo treinado). Se tivermos centenas de modelos treinados, obtemos dois vetores de métricas de qualidade.
Exemplo: a precisão da classificação na validação cruzada é de 57%, na amostragem atrasada de 50%. E há centenas (milhares) de tais valores. Mas há centenas e milhares de modelos treinados. Então a questão surge.
Por favor, esclareça, a formação refere-se à avaliação das faltas de validação cruzada?
A proximidade da estimativa de treinamento e validação - isso significa correlação da amostragem retardada com o resultado da validação cruzada?
Se for esse o caso, então estamos mesmo perto.
Em código é algo parecido com isto:
Em código, é mais ou menos assim:
Sim, diga-me só por palavras, está a comparar que amostras? Há treino, há teste (treino múltiplo e teste = validação cruzada). Há validação (amostragem atrasada).
Eu tenho três colunas:
a treinar todos. ---- teste de validação cruzada de faltas. ----- observações pendentes
0,7 0,65 0,55
... ....
O fato do treinamento se correlacionar com o teste é um absurdo, pois o modelo escolhido, como resultado, é treinado em todo o conjunto, cujas partes foram incluídas no teste.
Mas o facto de as estimativas de teste estarem correlacionadas com estimativas adiadas é importante para mim.
Nos seus termos, estou a comparar treino e teste.
Eu não tenho uma amostra de validação (atrasada) ao treinar o modelo. A amostra atrasada serão os novos dados que o modelo irá trocar após o treinamento.
O facto de o treino estar correlacionado com o teste é um disparate.
É por isso que eu faço múltiplas partições de dados e múltiplos modelos de treino. Se os parâmetros do modelo não forem bem sucedidos, então o resultado médio nas amostras de teste será muito mais baixo do que o resultado médio nas amostras de treinamento
Nos seus termos, estou a comparar treino e teste.
Eu não tenho validação (retardada) da amostragem quando treinar o modelo, acontece. Os novos dados com os quais o modelo será comercializado após o treinamento serão adiados por amostragem.
É por isso que eu faço o particionamento múltiplo dos dados e o treinamento múltiplo do modelo novamente. Se os parâmetros do modelo não forem bem sucedidos, então o resultado médio nas amostras de teste será muito mais baixo do que o resultado médio nas amostras de treinamento
Há zimus no que estás a fazer.
No entanto, você também deve tentar adiar a amostragem. Isto é um clássico. Trem, Teste, Validação.
E tornar o procedimento ainda mais complexo. Para cada modelo que funciona bem em termos de treinamento e testes, vamos chamar este modelo X, faça a validação dos dados atrasados. Assim você tem uma idéia se está escolhendo ou não o modelo certo, usando apenas treinamento e testes. Faça muitos modelos com parâmetros diferentes, escolha os melhores (10, 100, 1000). Falha. Você vai entender se a sua "melhor" métrica se reflete em dados futuros ou não. Só depois disso é que vais para a batalha.