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

 
Mais uma vez, eu gostaria de acrescentar e definir. Nós prevemos o preço de um bem. Pelo menos nós tentamos, em qualquer representação e processamento. Qualquer que seja o objectivo que construímos, o objectivo de trabalhar no mercado é prever o preço. A questão é o que faz o preço mudar?????? Quem nos daria uma resposta ou nos daria um palpite? Eu gostaria de saber o que pensa e depois dar-lhe-ei a resposta certa. Bem... Aqui vamos nós. O seu palpite. Qual é a razão para a alteração de preço?????
 
Mihail Marchukajtes:
Mais uma vez, gostaria de acrescentar e definir. Nós prevemos o preço de um bem. Pelo menos nós tentamos, de qualquer forma que vejamos ou processemos. O que quer que construamos o alvo, o objectivo de trabalhar no mercado é prever o preço. A questão é o que faz o preço mudar?????? Quem nos daria uma resposta ou nos daria um palpite? Eu gostaria de saber o que pensa e depois dar-lhe-ei a resposta certa. Bem... Aqui vamos nós. O seu palpite. Qual é a razão para a alteração de preço?????

Prever a mudança de preço, por(in) quanto o preço se move em N segundos/minutos/horas no futuro, ou mais convenientemente futuro returnee(R =(P(t)-P(t+n))/P(t)) ou logretreturn.

As alterações de preços devido à pressão dos desequilíbrios de oferta e procura que surgem por muitas razões, desde a troca banal de grandes quantidades de moedas devido ao comércio internacional, empréstimos a países, cobertura de riscos cambiais, até à arbitragem e especulação sobre informações internas e notícias derivadas da actividade do mercado, meteorologia, moda e actividade solar.

 

Aqui está uma lista de preditores e variáveis-alvo que fatores, deslocados pelo número correspondente de barras

'data.frame':   6971 obs. of  105 variables:
$ AUDUSD     : num  0.722 0.722 0.722 0.721 0.72 ...
$ CHFJPY     : num  120 120 120 119 119 ...
$ USDCAD     : num  1.39 1.39 1.39 1.39 1.39 ...
$ GBPCHF     : num  1.47 1.47 1.47 1.48 1.47 ...
$ EURGBP     : num  0.739 0.74 0.739 0.737 0.739 ...
$ USDJPY     : num  119 119 119 119 119 ...
$ GBPUSD     : num  1.48 1.48 1.48 1.48 1.48 ...
$ EURUSD     : num  1.09 1.09 1.09 1.09 1.09 ...
$ EURCHF     : num  1.09 1.09 1.09 1.09 1.09 ...
$ USDCHF     : num  0.995 0.995 0.994 0.998 0.998 ...
$ GBPJPY     : num  176 176 176 176 175 ...
$ EURJPY     : num  130 130 130 130 130 ...
$ EURCAD     : num  1.52 1.52 1.52 1.52 1.52 ...

$ d1_AUDUSD  : num  0.010401 0.000505 -0.001818 -0.003433 -0.008583 ...
$ d1_CHFJPY  : num  -0.01497 0.00444 -0.00186 -0.02309 -0.00823 ...
$ d1_USDCAD  : num  0.008585 0.003389 -0.012832 0.000136 0.002982 ...
$ d1_GBPCHF  : num  -0.000685 0.001746 0.000651 0.024858 -0.009416 ...
$ d1_EURGBP  : num  0.0031 0.00161 -0.00194 -0.01042 0.01003 ...
$ d1_USDJPY  : num  -0.02035 0.00201 -0.00654 0.00558 -0.00933 ...
$ d1_GBPUSD  : num  0.00707 0.00355 0.00439 0.00204 -0.00697 ...
$ d1_EURUSD  : num  0.01916 0.0093 0.00404 -0.01876 0.00905 ...
$ d1_EURCHF  : num  0.0116 0.01463 -0.00732 0.04675 0.01089 ...
$ d1_USDCHF  : num  -0.01705 -0.00415 -0.00933 0.05219 -0.00553 ...
$ d1_GBPJPY  : num  -0.00779 0.00362 -0.00101 0.00484 -0.01057 ...
$ d1_EURJPY  : num  -0.00941 0.00844 -0.0045 -0.00668 -0.00417 ...
$ d1_EURCAD  : num  0.02362 0.01077 -0.01055 -0.01408 0.00971 ...
$ d2_AUDUSD  : num  0.000909 -0.001313 -0.001313 -0.012017 -0.012017 ...
$ d2_CHFJPY  : num  -0.02594 0.00258 0.00258 -0.03132 -0.03132 ...
$ d2_USDCAD  : num  0.01387 -0.00944 -0.00944 0.00312 0.00312 ...
$ d2_GBPCHF  : num  0.0103 0.0024 0.0024 0.0154 0.0154 ...
$ d2_EURGBP  : num  -0.000776 -0.000332 -0.000332 -0.000388 -0.000388 ...
$ d2_USDJPY  : num  -0.01857 -0.00453 -0.00453 -0.00375 -0.00375 ...
$ d2_GBPUSD  : num  0.00771 0.00794 0.00794 -0.00493 -0.00493 ...
$ d2_EURUSD  : num  0.0123 0.0133 0.0133 -0.0097 -0.0097 ...
$ d2_EURCHF  : num  0.03676 0.00732 0.00732 0.05764 0.05764 ...
$ d2_USDCHF  : num  0.00599 -0.01348 -0.01348 0.04666 0.04666 ...
$ d2_GBPJPY  : num  -0.00616 0.0026 0.0026 -0.00572 -0.00572 ...
$ d2_EURJPY  : num  -0.01205 0.00394 0.00394 -0.01085 -0.01085 ...
$ d2_EURCAD  : num  0.023928 0.000221 0.000221 -0.004371 -0.004371 ...
$ d4_AUDUSD  : num  -0.000404 -0.000404 -0.000404 -0.029385 -0.029385 ...
$ d4_CHFJPY  : num  -0.0234 -0.0234 -0.0234 -0.0327 -0.0327 ...
$ d4_USDCAD  : num  0.00443 0.00443 0.00443 0.00122 0.00122 ...
$ d4_GBPCHF  : num  0.0127 0.0127 0.0127 0.0255 0.0255 ...
$ d4_EURGBP  : num  -0.00111 -0.00111 -0.00111 -0.01496 -0.01496 ...
$ d4_USDJPY  : num  -0.0231 -0.0231 -0.0231 0.0175 0.0175 ...
$ d4_GBPUSD  : num  0.0156 0.0156 0.0156 -0.0157 -0.0157 ...
$ d4_EURUSD  : num  0.0256 0.0256 0.0256 -0.0601 -0.0601 ...
$ d4_EURCHF  : num  0.0441 0.0441 0.0441 0.0277 0.0277 ...
$ d4_USDCHF  : num  -0.00749 -0.00749 -0.00749 0.09459 0.09459 ...
$ d4_GBPJPY  : num  -0.0035602 -0.0035602 -0.0035602 0.0000957 0.0000957 ...
$ d4_EURJPY  : num  -0.00811 -0.00811 -0.00811 -0.02169 -0.02169 ...
$ d4_EURCAD  : num  0.0241 0.0241 0.0241 -0.0445 -0.0445 ...
$ d1_AUDUSD_f: Factor w/ 2 levels "-1","1": 2 1 1 1 1 1 1 1 1 2 ...
$ d1_CHFJPY_f: Factor w/ 2 levels "-1","1": 2 1 1 1 2 1 1 2 2 2 ...
$ d1_USDCAD_f: Factor w/ 2 levels "-1","1": 2 1 2 2 1 1 1 2 2 1 ...
$ d1_GBPCHF_f: Factor w/ 2 levels "-1","1": 2 2 2 1 2 2 1 2 1 1 ...
$ d1_EURGBP_f: Factor w/ 2 levels "-1","1": 2 1 1 2 1 1 1 1 2 2 ...
$ d1_USDJPY_f: Factor w/ 2 levels "-1","1": 2 1 2 1 2 2 1 2 2 2 ...
$ d1_GBPUSD_f: Factor w/ 2 levels "-1","1": 2 2 2 1 1 1 1 1 1 2 ...
$ d1_EURUSD_f: Factor w/ 2 levels "-1","1": 2 2 1 2 1 1 1 1 2 2 ...
$ d1_EURCHF_f: Factor w/ 2 levels "-1","1": 2 1 2 2 1 1 1 1 1 2 ...
$ d1_USDCHF_f: Factor w/ 2 levels "-1","1": 1 1 2 1 2 2 2 2 1 1 ...
$ d1_GBPJPY_f: Factor w/ 2 levels "-1","1": 2 1 2 1 2 1 1 2 1 2 ...
$ d1_EURJPY_f: Factor w/ 2 levels "-1","1": 2 1 1 1 2 1 1 1 2 2 ...
$ d1_EURCAD_f: Factor w/ 2 levels "-1","1": 2 1 1 2 1 1 1 2 2 2 ...
$ d2_AUDUSD_f: Factor w/ 2 levels "-1","1": 1 1 1 1 1 1 1 2 2 2 ...
$ d2_CHFJPY_f: Factor w/ 2 levels "-1","1": 2 1 1 1 1 1 1 2 2 2 ...
$ d2_USDCAD_f: Factor w/ 2 levels "-1","1": 1 2 2 1 1 2 2 2 2 1 ...
$ d2_GBPCHF_f: Factor w/ 2 levels "-1","1": 2 2 2 2 2 1 1 1 1 1 ...
$ d2_EURGBP_f: Factor w/ 2 levels "-1","1": 1 1 1 1 1 1 1 2 2 1 ...
$ d2_USDJPY_f: Factor w/ 2 levels "-1","1": 1 1 1 2 2 2 2 2 2 1 ...
$ d2_GBPUSD_f: Factor w/ 2 levels "-1","1": 2 1 1 1 1 1 1 2 2 2 ...
$ d2_EURUSD_f: Factor w/ 2 levels "-1","1": 2 1 1 1 1 1 1 2 2 2 ...
$ d2_EURCHF_f: Factor w/ 2 levels "-1","1": 2 2 2 1 1 1 1 1 1 1 ...
$ d2_USDCHF_f: Factor w/ 2 levels "-1","1": 1 2 2 2 2 2 2 1 1 1 ...
$ d2_GBPJPY_f: Factor w/ 2 levels "-1","1": 2 1 1 2 2 1 1 2 2 2 ...
$ d2_EURJPY_f: Factor w/ 2 levels "-1","1": 2 1 1 1 1 1 1 2 2 1 ...
$ d2_EURCAD_f: Factor w/ 2 levels "-1","1": 2 1 1 1 1 1 1 2 2 2 ...
$ d4_AUDUSD_f: Factor w/ 2 levels "-1","1": 1 1 1 1 1 1 1 2 2 2 ...
$ d4_CHFJPY_f: Factor w/ 2 levels "-1","1": 1 1 1 2 2 2 2 2 2 2 ...
$ d4_USDCAD_f: Factor w/ 2 levels "-1","1": 2 2 2 2 2 2 2 1 1 1 ...
$ d4_GBPCHF_f: Factor w/ 2 levels "-1","1": 2 2 2 1 1 1 1 1 1 1 ...
$ d4_EURGBP_f: Factor w/ 2 levels "-1","1": 1 1 1 1 1 1 1 1 1 1 ...
$ d4_USDJPY_f: Factor w/ 2 levels "-1","1": 2 2 2 2 2 2 2 2 2 2 ...
$ d4_GBPUSD_f: Factor w/ 2 levels "-1","1": 1 1 1 1 1 1 1 2 2 2 ...
  [list output truncated]

Entre as variáveis-alvo listadas, apenas duas variáveis-alvo d4_EURUSD_f e d4_USDCHF_f têm preditores que têm poder de previsão para estas variáveis-alvo. Todas as outras variáveis-alvo não podem ser previstas 4 passos à frente pelos preditores listados.

Prever 1 passo à frente e 2 passos à frente parece muito melhor

 

uma tendência ascendente é a confiança da grande maioria dos participantes numa queda, que é apoiada por uma troca...

apoio é a faixa em que a grande maioria dos participantes estava em falta, mas o preço não caiu, mas sim subiu. Quando o preço volta ao mesmo intervalo os calções restantes fecham agressivamente os calções a cerca de zero e assim fazem um mini rali de vantagem.

 
SanSanych Fomenko:

Aqui está uma lista de preditores e variáveis-alvo que fatores, deslocados pelo número apropriado de barras..........................

..........................Prever 1 passo e 2 passos à frente parece muito melhor

Quanto melhor? Quais são os resultados?

 
mytarmailS:

Quanto melhor? Quais são os resultados em geral?

Há uma medida abstrata:

= 1 é 100% capacidade de previsão

Se > 10, então eu acredito que o preditor não tem capacidade de previsão.

Para os alvos listados com 4-passos de antecedência, os preditores têm uma medida de 7 a 9. Para uma previsão de um passo à frente, há preditores com uma medida de pouco mais de dois.

PS.

Neste tópico, eu tenho apelado repetidamente para lidar especificamente com a capacidade preditiva dos preditores. Não nos esqueçamos: "lixo dentro, lixo fora". E nenhum modelo pode mudar isso.

 
SanSanych Fomenko:

Há alguma medida abstrata:

especificamente que tipo de acuracracia o MO tem no OOS ?

porque é que estas abstracções...

 
mytarmailS:

qual é exactamente a acuracracia do MO no OOS?

porque é que estas abstracções...

Está prevista uma aula. O erro de previsão está entre 25 e 30%, e é o mesmo no treinamento e fora da amostra. o modelo NÃO é re-treinado.

PS

Já escrevi isto tudo muitas, muitas vezes.

 
SanSanych Fomenko:

Não nos esqueçamos: 'lixo dentro, lixo fora'. E nenhum modelo pode mudar isso.

Às vezes, uma combinação de preditores de lixo e o modelo certo prevê de repente melhor do que esses preditores por conta própria.

Aqui está um exemplo dos dados de treinamento do concurso MO numer.ai -https://api.numer.ai/competitions/current/dataset(tabela numerai_training_data.csv no arquivo). Há 50 preditores lá, e todos os métodos de avaliação que tentei dizer que é um disparate. Mas ao tentar diferentes combinações deles e diferentes modelos, é possível obter precisão de previsão >50% no treinamento e validação.

 
Dr. Trader:

Às vezes uma combinação de preditores de lixo e o modelo certo de repente começa a prever melhor do que esses preditores por si só.

Aqui estão, por exemplo, os dados de treinamento do concurso MO numer.ai -https://api.numer.ai/competitions/current/dataset(tabela numerai_training_data.csv no arquivo). Há 50 preditores lá, e todos os métodos de avaliação que eu tentei dizer que são lixo. Mas ao tentar diferentes combinações deles e diferentes modelos é possível obter >50% de precisão na previsão de treinamento e validação.

1. Inicialmente, é necessário tomar dois arquivos separados: um para a validação do treinamento-teste e outro para validar o modelo criado. O erro em todas as quatro amostras deve ser mais ou menos o mesmo.

2. Naturalmente, toda nossa atividade é manipular o quociente original e obter um novo, derivado do original, precursor que terá poder preditivo. Não estou discutindo de onde vem o conjunto inicial de preditores - isso é um problema em si mesmo.