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

 
Aleksey Nikolayev #:

Bem, a primeira coisa que me vem à mente é dividir o espaço em uma grade com células não muito grandes ou pequenas (o tamanho é determinado pelo modelo de ruído). Comece com alguma célula (selecionada aleatoriamente, por exemplo) - alguns pontos nela determinam a direção do gradiente da função suavizada e passam para a próxima célula, etc., até que não haja transição ou loop. A posição do extremo é definida com precisão de acordo com o tamanho da célula, portanto, não deve ser muito grande, mas, ao mesmo tempo, deve oferecer a possibilidade de suavização, portanto, não deve ser muito pequena. E devemos aceitar o fato de que, em princípio, não existe uma posição exata do extremo, pois ela varia de acordo com o método de suavização.

Parece muito trabalhoso).

 

O amortecimento entre R e a cadeira é muito fino.

Outra fantasia não realizada

 

por que você exclui as postagens, paranoico? para não ser cutucado novamente por se meter em problemas? :)

Quantas vezes você pode fazer uma besteira como essa?

 
Maxim Dmitrievsky #:

Então você fez um grande projeto em R e o colocou no servidor. E quem vai mantê-lo? Ninguém, porque não há especialistas nessa quantidade e ninguém quer aprender R por causa de uma estatística.

E para python, contrate qualquer estudante por um pedaço de salsicha e você estará bem.


Quem precisa de alunos com um pedaço de salsicha?

Eles precisam de alunos que saibam estatística, MOE, que leva 5 anos para ser estudado. Além disso, ainda é desejável trabalhar em uma organização especializada. E R ou Python podem ser ensinados em uma semana, já que todos esses estudantes-estatísticos sabem C++.

Mas para as pessoas que NÃO estudaram estatística por 5 anos, o R é muito mais útil do que o Python, pois no R só é necessário o que é necessário, tudo é mastigado, documentado....., pois é uma linguagem especializada, afinal.

 
СанСаныч Фоменко #:

Quem precisa de alunos com um pedaço de salsicha?

Precisamos de alunos que saibam estatística, MOE, que leva 5 anos para ser estudado. E depois é desejável trabalhar em uma organização especializada. E R ou Python podem ser ensinados em uma semana, já que todos esses estudantes-estatísticos sabem C++.

Mas para as pessoas que NÃO estudaram estatística por 5 anos, o R é muito mais útil do que o Python, pois no R só é necessário o que é necessário, tudo é mastigado, documentado....., pois é uma linguagem especializada, afinal.

Acredite, um aluno aprenderá estatística em 5 dias por um pedaço de salsicha, e muitas outras coisas também.

A principal condição para o sucesso é que o aluno esteja com fome.

Enquanto estamos falando sobre a mesma coisa há meses e anos.

 

Por que discutir a correção da otimização? Local, global - não me interessa.


A pergunta de Dick é puramente teórica e não tem NENHUM valor prático, porque mesmo os extremos encontrados de forma muito correta se referem ao PASSADO e, com a chegada de uma nova barra, quase sempre haverá extremos novos e desconhecidos para nós. Vamos nos lembrar do testador. Ele encontra extremos. E o quê? Um ótimo do testador não tem valor se não houver considerações de que ele viverá no futuro. Mas o tempo de vida de um ótimo não tem NADA a ver com a exatidão e a correção de encontrar esse ótimo, sobre as quais Dick escreve.

 
Maxim Dmitrievsky #:

Acredite em mim, um aluno aprenderá estatística em 5 dias por um pedaço de salsicha e muitas outras coisas ao longo do caminho.


A estatística é ensinada durante 5 anos, e nem todos podem ser ensinados, eles são especialmente selecionados nos exames de admissão.

 
СанСаныч Фоменко #:

A estatística é ensinada por 5 anos, e nem todos podem ser ensinados, eles são especialmente selecionados nos exames de admissão.

Se você omitir detalhes e apresentar um problema aplicado do mundo real, o processo será mais rápido.

A maioria das burrices no treinamento ocorre quando a pessoa não entende por que isso é necessário e nunca se deparou com isso em sua vida. Ela não vê o objetivo final.

 

Alguém pode me dizer como criar uma métrica personalizada para o catboost, preciso do Sharp.

O resultado do treinamento do modelo com minha versão é quase o mesmo que com o RMSE, portanto, há um erro em algum lugar do código.

preds e target são retorno (a[i]-a[i+1])

class Sharpe(object):
    def get_final_error(self, error, weight):
        return error

    def is_max_optimal(self):
        return True

    def evaluate(self, approxes, target, weight):
        assert len(approxes) == 1
        assert len(target) == len(approxes[0])
        preds = np.array(approxes[0])
        target = np.array(target)
        data = [i if i > 0 else -1*i for i in preds]
        sharpe = np.mean(data)/np.std(preds)
        return sharpe, 0

model = CatBoostRegressor(learning_rate=0.1, n_estimators=2000, eval_metric=Sharpe()) 
 
СанСаныч Фоменко tempo de vida de um ótimo não tem NADA a ver com a exatidão e a correção de encontrar esse ótimo sobre o qual Dick escreve.

meu sobrenome não é declinado.
a questão não é se o global mudará ou não (ele necessariamente mudará), mas se ele pode encontrar um extremo global. se você não se importa, pode simplesmente inicializar os pesos da rede com números aleatórios e pronto, pois que diferença faz se ele é global ou não? local.))