Ce ne sont pas les affaires de Mashka ! - page 6

 
à Neutron

Oh là là, nos modèles sont légèrement différents. Une petite question - afin d'aplanir les différences, pouvez-vous passer de la prédiction de la " MA idéale" à la prédiction des cotations, c'est-à-dire utiliser votre MA pour "restaurer" les cotations ?


Et laissez-moi vous rappeler quelques autres choses :

  • mon horizon de prévision est sélectionné de manière adaptative et le modèle ne permet pas de le saisir, sinon il perdrait son sens
  • la valeur d'une fenêtre mobile de ma MA est également sélectionnée de manière adaptative dans chaque intervalle.
 

Vous ne pouvez pas vous passer du grand Al !

Tu dois réfléchir, et comment le faire. J'ai fini... je vais me coucher.

 

Si vous ne " cassez " pas les modèles, je vois ce qui suit

  • prédire citations
  • prédire une MA classique avec un décalage (j'avoue que je m'embrouille dans la terminologie : MA idéale, profondeur d'immersion, ... :o)).

Ou bien je devrai tout fouiller et prévoir le MA idéal, mais ce n'est pas pour tout de suite et je n'en ai pas vraiment besoin. Le modèle suppose de générer une telle MA uniquement pour le compte à rebours en cours, un peu comme un "filtrage adaptatif".


PS: ok, nous trouverons une solution demain, mais je vais attendre avec une bière pour le moment... :o)

 

OK, prédisons la citation !

Toute méthode et tout algorithme peuvent être utilisés. La seule exigence est que le code ne doit pas "regarder vers l'avenir". Cette exigence n'est pas aussi triviale à mettre en œuvre qu'il n'y paraît à première vue. Par exemple, il peut s'agir d'une nature cachée liée au traitement de High et Low. Ces valeurs changent pendant la construction de la barre jusqu'au moment où elle est fermée, donc traiter les valeurs High et Low sur l'historique revient à "épier". Je suggère de n' utiliser que les prix d'ouverture et de construire le nuage de prévision non pas par les valeurs absolues de BP, mais par les incréments des séries prédites et initiales.

En outre, la prévision d'une série de prix est en soi une tâche TRÈS difficile. Par conséquent, nous comparerons la valeur de l'angle de pente de la ligne de régression dans la zone de zéro (jusqu'à 10%). Je suggère donc de construire d'abord la régression pour la BP vénusienne et de s'assurer que nous obtenons zéro avec une précision supérieure à 1% sur un échantillon de 10000 prédictions, ce qui sera un critère d'exactitude du code. Oui, prédire correctement 1 barre en avant et comme quotient je propose de prendre la série Open Minute (comme la plus prévisible) de la paire EURGBP année 2004 par exemple.


Qu'en pensez-vous ?


Voici à quoi ressemble le problème de prédiction en utilisant la MA commune (décalée) avec une fenêtre de 10 barres :

Sur le côté gauche, vous voyez la rangée de minutae et sa MA descendante prédisant une barre à venir, au centre - axe des abscisses - rangée d'incréments des prix Open : dBid[i]=(Open[i]-Open[i-1]), axe des ordonnées - incréments de la MA. La ligne bleue est une régression linéaire tracée sur le nuage de prévisions. Sa pente indique la qualité de la prévision, si sa tangente est égale à 1 ou 100% (45 degrés), nous avons une prévision totalement précise, si elle tend vers zéro, nous n'avons pas de prévision. Juste au-dessus du graphique ci-dessus, la tangente de la pente est de 3%, c'est-à-dire qu'elle n'est pas prédictive ! Le problème est que j'ai utilisé une statistique de 1000 prévisions, l'erreur sera de 1/SQRT(1000), c'est-à-dire juste autour de 3%.

La figure de droite montre la capacité de pronostic (tangente) de l'EM retardée en fonction de la largeur de la fenêtre en barres. Vous pouvez constater que la valeur prédictive de l'outil tend vers zéro à mesure que la fenêtre de calcul de la moyenne augmente !

 

Je suis généralement d'accord, mais...

Можно использовать любой метод и алгоритм его реализации. Неприменное требование - код не должен "заглядыват" в будущее. Это требование не так тривиально выполнить, как может показаться на первый взгляд. Например, это может носить скрытый характер связанный с обработкой High и Low. Эти величины изменяются в процессе построения бара вплоть до момента его закрытия, поэтому обработка на истории High и Low равносильна "подглядыванию". Предлагаю использовать только цены открытия и строить прогнозное облако не по абсолютным значениям ВР, а по значениям приращений прогнозного и исходного рядов.

Pour récupérer les données, j'utilise la fonctionGetHistoryProcess(cb, window), ce qui exclut de regarder loin dans le futur. La fonction GetFutureProcess(cb, window) est utilisée pour vérifier le résultat.


Paramètres de fonctionnement :

  • cb - compte actuel
  • fenêtre - taille de l'échantillon

Voici leur code :


Source des données

GetHistoryProcess(cb, window)

GetFutureProcess(cb, window)


On suppose que la "barre actuelle" est la barre au moment où elle est entièrement formée. En d'autres termes, une citation est "sur le point d'entrer" et deviendra ouverte.

En outre, la prévision de la série de prix elle-même est une tâche TRÈS difficile, en conséquence, nous comparerons la valeur de la pente de la ligne de régression dans la zone de zéro (jusqu'à 10%). Je suggère donc de construire d'abord une régression pour Venera BP et de s'assurer que nous obtenons zéro avec une précision supérieure à 1% sur un échantillon de 10000 prédictions, ce qui sera un critère de correction du code. Oui, prédire correctement 1 barre en avant et comme quotient je propose de prendre la série Open Minute (comme la plus prévisible) de la paire EURGBP l'année 2004 par exemple.

Vous pouvez également utiliser le processus de Wiener, mais quelle différence cela fait-il ? Vous aurez toujours le même problème, la barre actuelle ne s'est pas "entièrement" formée.

Voici à quoi ressemble le problème de prédiction en utilisant la MA commune (décalée) avec une fenêtre de 10 barres :

Vous devez décider ce que vous voulez faire avec l'horizon, je l'ai sélectionné de manière adaptative. Peut-être devrions-nous ajouter une caractéristique supplémentaire, par exemple - le nombre total d'échantillons de prévisions ou la durée moyenne des prévisions, quelque chose comme ça.

Sur le côté gauche, nous avons la ligne des minutes et sa MA décroissante prédisant une barre à l'avance, au centre - l'axe des abscisses est la série d'incréments des prix Open : dBid[i]=(Open[i]-Open[i-1]), l'axe des ordonnées est les incréments de la MA. La ligne bleue est une régression linéaire tracée sur le nuage de prévisions. Sa pente indique la qualité de la prévision, si sa tangente est égale à 1 ou 100% (45 degrés), nous avons une prévision totalement précise, si elle tend vers zéro, nous n'avons pas de prévision. Juste au-dessus du graphique ci-dessus, la tangente de la pente est de 3%, c'est-à-dire qu'elle n'est pas prédictive ! Le problème, c'est que j'ai utilisé une statistique de 1000 prédictions, l'erreur sera de 1/SQRT(1000), c'est-à-dire de l'ordre de 3%.

Je ne suis pas d'accord. Traçons le nuage de points en fonction des prix uniquement (en valeurs absolues). Je n'aime pas l'incrément. Vous devez comprendre que si nous partons des incréments, ils seront concentrés près de zéro. Essayez de faire un nuage de points des prix pour votre processus aléatoire.


Addendum: Mon opinion est que la valeur absolue du prix ou du MA devrait être prédite. Êtes-vous d'accord ?

 
grasn:

On suppose que la "barre actuelle" est la barre au moment où elle est entièrement formée. En d'autres termes, une offre est "sur le point d'arriver" et va devenir ouverte.

Vous pouvez le faire selon le processus de Wiener, mais peu importe - vous aurez toujours le même problème, la barre actuelle ne s'est pas "correctement" formée.

Donc, pour être clair, nous construisons des BP SEULEMENT à partir d'Open.


Nous devons décider ce qu'il faut faire avec l'horizon, je l'ai sélectionné de manière adaptative. Peut-être devrions-nous ajouter une fonction supplémentaire, comme le nombre total d'échantillons de prévisions ou la durée moyenne des prévisions ou quelque chose de ce genre.

Cela ne fait pas partie de la tâche. Vous pouvez travailler avec l'horizon que vous voulez, mais ne vous projetez pas dans l'avenir et n'utilisez que les prix d'ouverture des barres. Mais ! Vous ne devez utiliser que "1 bar forward" comme vecteur de prévision.


Je ne suis pas d'accord, construisons un diagramme de dispersion en utilisant uniquement les prix (valeurs absolues). Je n'aime pas l'incrément. Vous devez comprendre que si vous vous basez sur des incréments, ils seront concentrés près de zéro. Essayez de faire un nuage de points des prix pour votre processus aléatoire.

Je suis désolé, je ne vous comprends pas.

Notre tâche est de prédire une série de prix d'ouverture. Alors, faites-le ! Ensuite, après avoir obtenu cette série avec 10 000 échantillons, nous la comparerons avec la série originale. Et pour estimer l'efficacité de la prévision, construisons deux séries d'incréments et voyons immédiatement les échecs de la prévision. Simple. Clairement !

Ai-je tort ? A quoi bon comparer des courbes intégrales délavées. Regardez à nouveau mes photos dans le post ci-dessus. La première image montre une courbe lisse qui s'enroule autour d'une série de citations... Et en analysant le nombre de leurs incréments (deuxième figure), il est clair que cela ne sert à rien. Sergey, c'est un bon critère. Ne le combattez pas.

Nous, les adultes, n'avons pas besoin de lunettes roses :-)

 

Это не входит в задачу. Работай с каким хочешь горизонтом, только не заглядывай прирасчётах в будущее и не используй ничего кроме цен открытия бара. Но! прогнозный вектор построй только из расчёта "1 бар вперёд".


C'est là que je ne vous comprends pas (en gras quoi exactement), précisez ce que c'est, c'est-à-dire que nous renonçons au "vecteur prévisionnel complet".


Je ne regarderai pas l'avenir, vous avez ma parole d'honneur.

Notre travail consiste à prédire une série de prix d'ouverture. Alors, faites-le ! Puis, lorsque nous obtenons cette série avec 10 000 échantillons, nous la comparons avec la série initiale. Et pour estimer l'efficacité des prévisions, construisons deux séries d'incréments et voyons immédiatement les échecs des prévisions. Simple. Clairement !

Ai-je tort ? A quoi bon comparer des courbes intégrales délavées. Regardez à nouveau mes photos dans le post ci-dessus. La première image montre une courbe lisse qui s'enroule autour d'une série de citations... Et en analysant la série de leurs incréments (deuxième figure), il est clair que cela ne sert à rien. Sergey, c'est un bon critère. Ne le combattez pas.

Essayez de tracer puis de comparer les diagrammes de dispersion des incréments et des valeurs absolues de MA. Théoriquement, l'angle de pente et la quantité de dispersion par rapport aux lignes derégression linéaire devraient être les mêmes pour chaque diagramme. Et regardez le résultat comme de vrais gars regardent à travers un viseur de colt :o) En sera-t-il de même pour vous ?


Important

Soyons plus précis. Donc, nous avons déjà décidé - nous prévoyons le CLOSE, il ne reste plus qu'à le découvrir :

  • prédire la série CLOSE elle-même
  • ou certaines MA(la taille de ma fenêtre est adaptative pour chaque prédiction, il semble que ce soit la même chose pour vous) qui sont construites sur ce CLOSE.

Si le prix lui-même (i.e. CLOSE), il me faudra du temps pour corriger la fonction de "reconstruction du prix" par MA. Si nous analysons la prévision MA, je pense que je vais lancer un petit test aujourd'hui, pour 10-50 barres (environ une minute est considérée pour un compte).

 

Pour éviter l'arbitraire dans le choix de Open, Close,(H-L)/2, j'utilise l'analyse du tick-flow, + la valeur de la prédiction que je considère non pas en nombre de barres, mais en temps. Et je pense que le "MA idéal" n'est pas celui que vous utilisez. Vous devriez utiliser la transformée de Fourier (PF), puis le seuillage dans le domaine de la fréquence et la PF inverse, le résultat est une courbe idéale avec l'estimation la plus plausible au milieu de la fenêtre. Et ensuite ce que vous essayez de faire.

 

à grasn

Fermer, c'est fermer. C'est un marché.

Nous ne nous sommes vraiment pas compris sur le vecteur de prédiction. Eh bien, voyons voir.

Je ne vais pas répéter le "diagramme de dispersion des incréments et des valeurs absolues", tout est clair ici.


à Prival

Il y a certaines difficultés avec les tiques - il faut une grande histoire, de préférence sans trous, etc. Ces exigences sont plus faciles à mettre en œuvre dans des archives comportant des heures ou des minutes.

Quant à la courbe parfaite, comparons la MEMA à deux passages (c'est ce que j'utilise) et ce que donnera le lissage de Fourier. Je suggère que le critère de "qualité" soit la valeur de l'écart type par rapport à la frontière et la douceur de la courbe elle-même - plus la frontière est petite et plus la courbe est lisse, plus elle est raide !

 

à Neutron

Close так Close. Договорились.

Il serait plus facile pour moi de faire une MA sur les valeurs CLOSE. D'accord, pendant que je construis le "restaurateur de prix pour la MA", je vais faire quelques tests pour la MA. D'ailleurs, vous n'avez montré nulle part les données relatives aux prix, vous n'avez montré que la prédiction des incréments pour MA. Avez-vous ce "restaurateur" ?

En ce qui concerne le "diagramme de dispersion des incréments et des valeurs absolues", je ne vais pas me répéter, c'est évident.

Les guillemets auraient pu être supprimés, c'est le nom officiel en statistiques de ce que nous construisons. En vain, vous ignorez ma question, mais c'est votre affaire. Si vous l'aviez construit, vous connaîtriez la différence significative. C'est exactement le domaine des choses non évidentes.


à Prival


Et il semble que nous ayons déjà défini grossièrement les paramètres :

  • La pente de la régression linéaire
  • Écart-type - nous l'utiliserons pour estimer "la valeur de la dispersion" par rapport à la ligne droite. On peut aussi déterminer la pente