Documentation

Applications

Dernière mise à jour le 16. 11. 2018 par Mark Fric

Profil d'optimisation et permutation des paramètres du système dans StrategyQuant

Cet article traite de deux nouvelles fonctionnalités importantes qui ont été ajoutées à StrategyQuant X Build 114.

Ils sont liés l'un à l'autre et tentent tous deux de répondre aux questions les plus importantes lors de l'élaboration d'une nouvelle stratégie commerciale :

  • Ma nouvelle stratégie présente-t-elle un réel avantage ?
  • Puis-je m'attendre à ce qu'il fonctionne sur des données inconnues ou à l'avenir ?


Ces deux méthodes sont basées sur l'exécution et l'évaluation de l'optimisation de la stratégie - cela signifie que vous devez d'abord optimiser les paramètres de la stratégie, puis appliquer l'une ou l'autre des méthodes, ou les deux, pour évaluer les résultats de tous les cycles d'optimisation.


Profil d'optimisation

est décrite dans la vidéo de Robert Pardo disponible ici : https://www.buildingrobuststrategiesmasterclass.com/overcome-curve-fitting

Regardez-la pour bien comprendre cette technique.

L'idée du profil d'optimisation est simple : après l'optimisation des paramètres de la stratégie, nous établissons et évaluons un "profil" de tous les cycles d'optimisation.

Le profil d'optimisation doit comporter cinq éléments de base :

  1. Quelle proportion de tous les cycles d'optimisation est positive ? - La logique sous-jacente est que la stratégie doit être performante dans un large éventail de paramètres.
  2. Le bénéfice moyen de toutes les optimisations doit être supérieur à zéro. - similaire au point précédent
  3. La répartition de tous les bénéfices est aussi uniforme que possible - ce qui signifie qu'il ne saute pas de de positif à négatif à chaque optimisation
  4. L'optimisation maximale ne doit pas être trop importante (à moins d'un écart-type) par rapport au résultat de l'optimisation moyenne. - afin que les résultats ne soient pas faussés par une seule exécution aux performances exceptionnelles.
  5. La forme du paysage d'optimisation sur la carte 3D doit être "stable" - Ceci ne peut être vérifié que visuellement


Comment le profil d'optimisation est mis en œuvre dans StrategyQuant X

La meilleure chose est que vous n'avez rien à faire - le profil d'optimisation est créé et sauvegardé pour chaque optimisation que vous exécutez - donc si vous exécutez une optimisation simple ou Walk-Forward, StrategyQuant créera un profil d'optimisation pour votre optimisation que vous pourrez évaluer.

 

Vérification du profil d'optimisation dans les résultats

Si la stratégie contient un profil d'optimisation, un nouvel onglet "Profil d'optimisation" sera visible dans les résultats.
Vous pouvez y voir des panneaux pour toutes les propriétés qui doivent être évaluées selon les règles du profil d'optimisation.

 

Le premier panneau affiche les nombres et les pourcentages d'optimisations rentables et perdantes, ainsi que la première vérification qui évalue le point 1. de la liste précédente.

Le deuxième panneau affiche l'histogramme du bénéfice net pour tous les cycles d'optimisation. Chaque barre représente le bénéfice net réalisé dans cette optimisation, et la ligne rouge indique le bénéfice net moyen pour toutes les séries.
Sous le tableau figurent trois contrôles qui évaluent les points 2 à 4 de la liste précédente.

Le troisième panneau à droite affiche un graphique d'optimisation 3D dans l'un des quatre styles possibles. Vous pouvez choisir les paramètres qui se trouvent sur les axes X et Y, ainsi que la valeur affichée sur l'axe Z.

 

Utilisation du profil d'optimisation dans le contrôle croisé

Nouveau contrôle croisé nommé Opt. Profil / Sys. Param. Permutation a été ajouté au système et vous pouvez l'activer dans la section des contrôles croisés des paramètres.

Sa configuration est simple - vous choisissez uniquement le type de paramètres à optimiser et le nombre maximum d'optimisations différentes à exécuter.

Ensuite, dans la section Filtrage, vous pouvez configurer les conditions FAIL/PASS - quelles doivent être les conditions de l'option pour que la stratégie passe ce contrôle.

Vous pouvez activer ou désactiver le contrôle en question et définir la limite pour chaque contrôle.

 

Permutation des paramètres du système (SPP)

Cette méthode a été décrite à l'origine par Dave Walton de StatisTrade, et est disponible dans l'article ici : http://papers.ssrn.com/sol3/papers.cfm?abstract_id=2423187

Encore une fois, veuillez lire l'article original pour une compréhension complète.

L'idée sous-jacente (en termes très simplifiés) est qu'à partir de la stratégie dans son état actuel, avec ses valeurs de paramètres actuelles, nous ne pouvons pas déterminer si la stratégie a un avantage. Si la stratégie a été créée par l'exploration de données (comme c'était le cas dans StrategyQuant X), alors ses paramètres pourraient avoir été sélectionnés de manière aléatoire afin que leurs valeurs correspondent plus ou moins aux données historiques et rendent la stratégie plus ou moins rentable.

L'idée derrière la permutation des paramètres du système est que nous devons tester TOUS les paramètres possibles (c'est-à-dire optimiser la stratégie avec toutes les combinaisons possibles), et ce n'est qu'à partir des données de tous les cycles d'optimisation que nous pouvons formuler des hypothèses sur les performances réalistes de la stratégie.

Les informations importantes que SPP calcule sont Médiane valeurs pour chaque statistique de performance de la stratégie - bénéfice net, Drawdown, Drawdown %, ratio de Sharpe, etc. Ainsi, nous pouvons voir le bénéfice net médian, le Drawdown médian, etc.

Ces valeurs médianes sont ce que l'on peut considérer (selon le document) comme l'estimation réaliste de la performance d'une stratégie réelle sur des données données données.

L'utilisation est simple - au lieu du bénéfice net du backtest sur les données principales, vous devez considérer le bénéfice net médian calculé à l'aide du SPP.


Vérification de la permutation des paramètres du système dans les résultats

Si la stratégie contient des données SPP, un nouvel onglet "Sys. Param. Permutation" sera visible dans les résultats.

C'est très simple - à gauche, un tableau indique les valeurs médianes de toutes les statistiques calculées à partir du backtest en appliquant la méthode SPP aux résultats de l'optimisation.

À droite se trouvent des graphiques qui montrent la fréquence et à droite se trouvent des graphiques configurables qui affichent des histogrammes de comptage, avec des valeurs médianes pour les valeurs configurées.


Utilisation de la permutation des paramètres du système dans la vérification croisée

Le PPS est utilisé dans la nouvelle vérification croisée nommée Opt. Profil / Sys. Param. Permutation.

La configuration de cette vérification croisée a déjà été décrite dans le document Profil d'optimisation section.

La partie filtrage vous permet de vérifier les valeurs médianes de toutes les colonnes standard, par exemple le bénéfice net médian et le drawdown médian.

Pour utiliser les valeurs médianes dans les filtres, vous devez d'abord choisir les colonnes que vous voulez voir, puis éditer chacune d'entre elles en double-cliquant et en choisissant "Opt. Profil / Sys. Param. Permutaiton", recouper comme valeur en A partir du backtest domaine.

La colonne de la permutation des paramètres du système est ainsi recoupée, ce qui permet de calculer la valeur médiane de la colonne d'origine.

Affichage des valeurs médianes dans la banque de données

Les valeurs médianes calculées à partir de SPP peuvent également être affichées dans la banque de données - de la même manière que dans le filtre décrit ci-dessus. Il suffit de cliquer sur Gérer l'affichage, d'ajouter une nouvelle colonne, d'en changer le nom et de la modifier. A partir du backtest à "Opt. Profil / Sys. Param. Permutation"et vous verrez ses valeurs médianes dans la banque de données.

Notez que ces valeurs ne seront calculées et affichées que si cette vérification croisée était active et si un profil d'optimisation a été calculé pour la stratégie.


Note importante concernant les tests maximaux et les combinaisons de paramètres possibles

Les deux méthodes partent du principe que TOUTES les combinaisons possibles des paramètres de la stratégie sont testées. Cela est possible si votre stratégie ne comporte que 2 ou 3 paramètres configurables.
En fait, il est fortement recommandé que votre stratégie ait le moins possible de paramètres configurables (degrés de liberté).

En réalité, la stratégie de trading comporte généralement plus de paramètres, et le nombre de leurs combinaisons possibles peut aller de milliers à des milliards, voire des trillions.
Il n'est pas possible de tester toutes ces combinaisons.
Dans StrategyQuant X, nous avons résolu ce problème en limitant le nombre maximum de tests d'optimisation. 
Tests maximums que vous pouvez définir dans les paramètres d'optimisation. Une fois cette limite atteinte, l'optimisation s'arrête.

Limiter le nombre de tests est la seule approche réaliste, mais il faut être conscient de cette limite et de son impact.

Si le nombre de combinaisons de paramètres possibles est nettement supérieur à cette limite, vous n'évaluerez qu'un petit sous-ensemble de toutes les variations possibles de la stratégie, ce qui limite d'une certaine manière les informations que vous obtiendrez en appliquant le profil d'optimisation ou la méthode SPP.

Il existe des méthodes plus avancées pour résoudre ce problème, et nous les ajouterons à StrategyQuant dans le futur, alors restez à l'écoute pour en savoir plus.

Cet article a-t-il été utile ? L'article était utile L'article n'était pas utile

S'abonner
Notification pour
2 Commentaires
Le plus ancien
Le plus récent Le plus populaire
Commentaires en ligne
Afficher tous les commentaires
SteveChou
SteveChou
27. 5. 2020 3:07 pm

Je pense que si la distribution des performances était une distribution normale.

L'optimisation maximale est difficilement inférieure au résultat de l'optimisation moyenne + 1 écart-type, n'est-ce pas ?

tomas262
tomas262
Répondre à  SteveChou
3. 7. 2020 10:13 pm

Steve, vous pouvez fournir un exemple à soutien.com
Nous pouvons discuter plus en détail.