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

 
Maxim Dmitrievsky:

Je ne comprends pas du tout ce que c'est, wikipedia en dit tellement qu'on ne peut pas le comprendre sans cryptographe. Des distributions multidimensionnelles, et je ne sais pas comment les construire, à moins que je puisse craquer le code python.

et au diable tout ça. C'est juste une belle image du backtest, comparé à la cointégration.

voici un pruf esthttps://www.quantconnect.com/tutorials/strategy-library/pairs-trading-copula-vs-cointegration

La copule est une fonction de la densité conjointe de la distribution, de plusieurs variables aléatoires. Conceptuellement, il s'agit d'une structure mathématique assez simple. Pour la comprendre, prenez par exemple deux processus aléatoires et construisez un graphique 2D en fonction de la dépendance de la probabilité de l'un par rapport à l'autre, vous obtenez un champ de points, si les processus sont indépendants, il s'agira d'un champ carré uniforme, mais s'ils sont dépendants, il y aura différents modèles, une compaction des points à certains endroits et une raréfaction à d'autres.

 
Igor Makanu:

Je pense que vous devez comprendre la différence entre la prédiction et la vie réelle, la tâche du système de trading est de faire une prédiction, la tâche de la gestion du risque et de l'argent est de s'assurer que le système survit.

qu'en est-il des copules ou des homoncules, comment le TS a-t-il été dérivé ou avec l'aide de MO ou avec l'aide d'un optimiseur.... - c'est une prédiction mais elle ne peut pas gérer la situation réelle - le prix

Je ne suis pas contre les copules, en fait je suis même pour, merci à Max de les avoir rappelées, peut-être qu'elles peuvent être adaptées d'une certaine manière dans la gestion du risque et la prévision avec l'aide de MO.

 

typedef struct

{

double dist;

double* vector;

} distvect;


int distvectcomp(distvect *v1, distvect *v2)

{

if (v1->dist == v2->dist) return 0;

double sub = v1->dist - v2->dist;

return sub / fabs(sub);

}


double* parsen(dataset inputs, dataset outputs, int k, double kernel(double), double vector[])

{

distvect* dvarr = malloc(inputs.length * sizeof(distvect));


for (int i = 0; i < inputs.length; ++i)

{

double dist = 0;

for (int j = 0; j < inputs.dimentions; ++j) dist += pow(vector[j] - inputs.data[i][j], 2);

distvect dv = { dist, outputs.data[i] };

dvarr[i] = dv;

}

qsort(dvarr, inputs.length, sizeof(distvect), distvectcomp);


double *res = calloc(outputs.dimentions, sizeof(double));

double W = 0;


for (int i = 0; i < k; ++i)

{

if (dvarr[i].dist == 0) continue;

double w = kernel(dvarr[i].dist);

W += w;

for (int d = 0; d < outputs.dimentions; ++d)

res[d] += dvarr[i].vector[d] * w;

}


for (int d = 0; d < outputs.dimentions; ++d) res[d] /= W;


free(dvarr);

return res;


}

On dit que l'algorithme MO "quasi-optimal" est
 
Qu'est-ce que vous voulez dire ? Quel type de SVM est-ce ?
 
Maxim Dmitrievsky:
Qu'est-ce que vous voulez dire ? Quel genre de SVM wisp est-ce ?

Non, quel genre de svm est cette "fenêtre de parzen", lissage à noyau, et"quasi-optimal" dans le sens où il est presque parfait (Mitchell l'avait quelque part), mais seulement très lent, chaque itération - trier l'ensemble des données à un nouveau point et convolution avec le noyau

 

Je ne comprends pas pourquoi il n'existe pas d'algorithmes pour construire un arbre qui prendraient en compte l'uniformité de la distribution du signal sur l'ensemble de l'échantillon lors de la construction d'un arbre ?

Pouvons-nous le mettre en œuvre d'une manière ou d'une autre, car il est essentiel pour le commerce.

J'estime les feuilles en tenant compte de cette distribution, mais si l'arbre était construit en tenant compte de cette distribution, il y aurait des feuilles/arbres beaucoup plus efficaces.
 
Aleksey Vyazmikin:
Je ne peux pas en être sûr, mais je n'exclus pas que vous torturiez les arbres avec la taille pour rien.
Il en est ainsi, d'après des considérations générales et une expérience personnelle.
 
Aleksey Vyazmikin:

Je ne comprends pas pourquoi il n'existe pas d'algorithmes pour construire un arbre qui prendraient en compte l'uniformité de la distribution du signal sur l'ensemble de l'échantillon lors de la construction d'un arbre ?

Nous pouvons peut-être le mettre en œuvre, car il est crucial pour le commerce.

J'estime les feuilles en tenant compte de cette distribution, mais si l'arbre était construit en tenant compte de cette distribution, il y aurait des feuilles/arbres beaucoup plus efficaces.
Là, avant chaque division, les données sont triées par fiche (ce qui les mélange par temps), divisées (par milieu ou par quartiles), la réduction des erreurs est mémorisée, répétée pour toutes les fiches. La meilleure division devient un nœud.

Suggérer un meilleur algorithme.

 
Yuriy Asaulenko:
Je ne peux pas l'affirmer, mais je n'exclus pas que l'on torture les arbres avec la taille pour rien.
Ce ne sont que des considérations générales et une expérience personnelle.

Dans ma jeunesse, je pensais que le bonsaï était une moquerie de la nature, mais lorsque je suis devenu parent, j'ai compris la profondeur de cette idée.

 
elibrarius:
Là, avant chaque division, les données sont triées par fiche (ce qui les mélange par temps), divisées (par milieu ou par quartiles), la réduction des erreurs est mémorisée, répétée pour toutes les fiches. La meilleure division devient un nœud.

Suggérer un meilleur algorithme.

C'est pourquoi nous devons donner une estimation au moment de trier les prédicteurs et leurs valeurs et ne pas prendre les prédicteurs dont les valeurs (fourchettes) sont très serrées, mais privilégier ceux qui sont répartis sur l'ensemble de l'échantillon.

En d'autres termes, nous devons estimer la fréquence de répétition du fractionnement sur l'échantillon, et pas seulement sa répétabilité absolue.