L'apprentissage automatique dans la négociation : théorie, modèles, pratique et algo-trading - page 2520

 
Valeriy Yastremskiy #:

Une limite de temps réduira la probabilité.

Oui, mais vous pouvez toujours trouver des modèles dans les 3 à 5 jours avec une probabilité de déclenchement de 100% (j'ai vérifié).

Aleksey Nikolayev #:

Ouais, eh bien, la moitié du problème est résolu, l'autre moitié est où mettre un stop loss.

Ce n'est pas un TS, juste une idée

 
Aleksey Nikolayev #:

Oh, regardez qui est là) Vous savez déjà comment calculer l'ACF du SB, n'est-ce pas ? Contrairement à smartlab, vous ne pouvez pas me bannir pour cette question ici).

Bonjour Alexey, puis-je répondre à votre question sans la poser ? C'est juste que j'ai beaucoup lu sur la façon dont vous posez la question, et je ne pouvais pas le supporter, car la solution me semblait très simple.

J'ai créé une série normalisée de chiffres à partir de valeurs aléatoires ( 1 ou -1).

Et un graphique boursier classique à partir de celui-ci, en additionnant toutes les valeurs précédentes pour le point actuel.


Alors pour la série normalisée, l'autocorrélation tendra vers zéro.

Et pour les séries du graphique boursier, l'autocorrélation tendra vers l'unité.


Mais seulement à une longueur suffisante de la série ; j'ai obtenu les résultats suivants lorsque la série est composée de 100 000 numéros :

0.0010599888334729966 (données normalisées)

0.9999708433220806 (non-normalized).

Pour une série de 100 numéros :

0.018773466833541926

0.9367627243658354

Sur 10 :

-0.4999999999999999999999 (ces valeurs changent avec chaque nouvelle série de façon aléatoire)

-0.14285714285714285 (ces valeurs changent aléatoirement avec chaque nouvelle série)


Ce ne sont que des cas particuliers, mais comme vous pouvez le voir, avec une série de petite taille, elle peut présenter une autocorrélation dans des limites aléatoires très larges .

Cela dit, cetteautocorrélation n'est pas une propriété du processus générant les données (dans lequel il n'y a pas d'autocorrélation), ce qui rend difficile la mesure et l'évaluation du processus dans ce cas.

Je joins mon code Python ci-dessous, si quelqu'un veut soudainement vérifier les calculs.

import numpy as np
import random

def autocorr(x, t=1):
    return np.corrcoef(np.array([x[:-t], x[t:]]))[0][1]

SB_numbers = []
for i in range (1, 100000):
    r = random.randint(0, 1)
    if r == 0:
        r = -1
    SB_numbers.append(r)
#print(SB_numbers)
    
SB_time_series = []
price = 0
for el in SB_numbers:
    price = price + el
    SB_time_series.append(price)
#print(SB_time_series)
    

    
print('numbers autocorr:',autocorr(SB_numbers, 1))
print('time_series autocorr::',autocorr(SB_time_series, 1))
 
LenaTrap #:

Bonjour Alexey, puis-je répondre à votre question sans la poser ? C'est juste que j'ai beaucoup lu comme vous le demandez, et je ne pouvais pas le supporter, car la solution me semblait très simple.

J'ai créé une série normalisée de chiffres à partir de valeurs aléatoires ( 1 ou -1).

Et un graphique boursier classique à partir de celui-ci, en additionnant toutes les valeurs précédentes pour le point actuel.


Alors pour la série normalisée, l'autocorrélation tendra vers zéro.

Et pour les séries du graphique boursier, l'autocorrélation tendra vers l'unité.


Mais seulement à une longueur suffisante de la série ; j'ai obtenu les résultats suivants lorsque la série est composée de 100 000 numéros :

0.0010599888334729966 (données normalisées)

0.9999708433220806 (non-normalized).

Pour une série de 100 numéros :

0.018773466833541926

0.9367627243658354

Sur 10 :

-0.4999999999999999999999 (ces valeurs changent avec chaque nouvelle série de façon aléatoire)

-0.14285714285714285 (ces valeurs changent aléatoirement avec chaque nouvelle série)


Ce ne sont que des cas particuliers, mais comme vous pouvez le voir, avec une série de petite taille, elle peut présenter une autocorrélation dans des limites aléatoires très larges .

Cela dit, cetteautocorrélation n'est pas une propriété du processus générant les données (dans lequel il n'y a pas d'autocorrélation), ce qui rend difficile la mesure et l'évaluation du processus dans ce cas.

Je joins mon code Python ci-dessous, au cas où quelqu'un voudrait soudainement vérifier les calculs.

Vous calculez l'ACF de l'échantillon. Ce qui est demandé, c'est l'ACF. Il n'y a pas si longtemps, dans ce fil de discussion, Valeriy Yastremskiy a posté des liens vers des manuels d'économétrie, qui contiennent des formules d'ACF pour un bruit blanc et un processus AR(1) stationnaire. Si je ne me trompe pas, cette fonction y était désignée par la lettre grecque gamma. On peut se demander quelle serait la formule pour le SB.

 
Pourquoi avons-nous besoin de formules si nous négocions sur un échantillon ?
 
secret #:
Pourquoi avons-nous besoin de formules si nous échangeons par échantillon ?

Nous négocions sur les prix. L'hypothèse selon laquelle les prix constituent un échantillon est une abstraction et une théorisation.

 
Aleksey Nikolayev #:

Vous comptez les ACF sélectifs. Ce qui est demandé, c'est l'ACF. Il n'y a pas si longtemps, dans ce fil de discussion, Valeriy Yastremskiy a posté des liens vers des tutoriels sur l'économétrie, où les formules ACF pour le bruit blanc et le processus AR(1) stationnaire étaient données. Si je ne me trompe pas, cette fonction y était désignée par la lettre grecque gamma. La question est de savoir quelle serait la formule pour le SB.

Je considèrele coefficient de corrélation de Pearson, qui semble être la norme pour évaluer la présence d'autocorrélation. Malheureusement je ne suis pas tout à fait sûr de ce que vous voulez dire exactement, vous écrivez un terme très court "AFC" = fonction d'autocorrélation ? En quoi exactement le coefficient de Pearson ne vous satisfait-il pas ? A mon avis, l'estimation a été faite correctement.

[1, 1, 1, -1, -1, -1, 1, -1, 1, -1, 1, 1, -1, -1, 1, -1, 1, 1, 1]
[1, 2, 3, 2, 1, 0, 1, 0, 1, 0, 1, 2, 1, 0, 1, 0, 1, 2, 3]
-----------
[19 -2  1 -4 -1 -4  3 -4  5  0  3 -2 -1 -4 -1  0  3  2  1]
[42 28 19 12 12 10 15 14 14 12 13  8  8  6 11 14 14  8  3]

C'est ce que vous souhaitez obtenir ?


En fait, ce n'est pas un échantillon. Il s'agit d'une série de données générées par un processus. Donc c'est complet et pas coupé, si le processus a fonctionné 10 ticks alors nous obtenons un ensemble de données de 10 éléments, complètement généré par ce processus du début à la fin.
 
LenaTrap #:

Je considèrele coefficient de corrélation de Pearson, qui semble être la norme pour évaluer la présence d'autocorrélation. Malheureusement je ne suis pas tout à fait sûr de ce que vous voulez dire exactement, vous écrivez un terme très court "AFC" = fonction d'autocorrélation ? En quoi exactement le coefficient de Pearson ne vous satisfait-il pas ? A mon avis, l'estimation a été faite correctement.

C'est à cela que vous voulez en venir ?

Vous essayez de remplacer l'ACF par son estimation d'échantillon. Commencez par définir l'ACF, et non pas comment l'approximer à partir de l'implémentation disponible (échantillon).

Exemple. Soit Xi un bruit blanc. Alors son ACF = COV(Xj,Xk)/sqrt( COV(Xj,Xj)* COV(Xk,Xk)) - est une fonction des deux indices j et k, qui est égale à un si j==k et à zéro lorsque j!=k.
 
Aleksey Nikolayev #:

Nous négocions sur les prix. L'hypothèse selon laquelle les prix constituent un échantillon est une abstraction et une théorisation.

La théorisation est le commerce par les formules)
 
Aleksey Nikolayev #:

Vous essayez de remplacer l'ACF par son estimation d'échantillon. Commencez par définir l'ACF, et non pas comment l'approximer à partir d'une implémentation disponible (échantillon).

Permettez-moi d'expliquer à nouveau mes conclusions :

Pour une estimation générale de l'AFC sur un processus de marche aléatoire, il est nécessaire de :

- prendre un échantillon aussi large que possible (100 000 mille dans mon cas)

- utiliser des données normalisées

Conclusion : le coefficient de Pearson est nul, tout le reste est une erreur d'estimation du processus à partir de l'échantillon.

C'est-à-dire que le processus de marche aléatoire n'a aucune autocorrélation.

Il est égal à 0. ( 0.0010599888334729966 ) où 0 est l'autocorrélation réelle et 0.00105 est l'erreur.

 
secret #:
La théorisation est une formule de trading)

La table de multiplication est aussi une formule. Par conséquent, votre déclaration devrait être interprétée comme suit : négocier avec des formules que vous connaissez bien est pratique, et avec des formules inconnues est de la théorisation).

Raison: