Sous-système "Gestion des actifs" - page 8

 

J'ai essayé de créer mon propre programme de calcul de portefeuille d'actions. Optimisation par la méthode minimax (modifiée pour les citations).

Deux portefeuilles sont pris en compte pour le calcul : Long - uniquement pour les positions longues et Short - uniquement pour les positions courtes. On suppose que 100 $ doivent être alloués au portefeuille long et 100 $ au portefeuille court. Voici les résultats :

Note :

Tous les calculs sont basés sur les prix de clôture nets, hors spreads, swaps et commissions.

La première colonne est la proportion en $ pour les actions (ou par analogie, en pourcentage de l'investissement).

Deuxième colonne - bénéfice

Troisième colonne - instrument financier (actions)

Total - bénéfice total du portefeuille.

Au début, je ne comprenais pas pourquoi l'optimisation inclurait dans le portefeuille des actions sciemment perdantes, c'est-à-dire dont le gain attendu est négatif. Puis j'ai découvert que si ces actions déficitaires étaient supprimées, le résultat final augmenterait sûrement, mais cela entraînerait de profonds prélèvements sur les fonds propres.

 

à Neutron

J'ai ressorti mes archives, c'est vrai, utiliser un tel modèle linéaire donne des conneries totales. Rien ne fonctionne. Donc, je ne partage pas votre optimisme "malsain".


à Reshetov

C'est intéressant, mais je n'arrive pas à comprendre ce qui est fait. Il ressemble à un "crapaud". Et je ne peux pas non plus comparer deux phrases : "J'ai essayé de créer mon propre programme" et "Au début, je ne comprenais pas pourquoi l'optimisation incluait de perdre sciemment des actions dans le portefeuille". Vous avez juste utilisé un modèle d'optimisation externe ou une "boîte fermée avec une certaine intelligence dedans" - disons, HC ou GA. Mais je ne comprends toujours pas pourquoi "l'algorithme par lui-même" pousse quelque chose quelque part. Si c'est le cas, sur quelles données ont-ils été formés (c'est-à-dire où ont-ils obtenu le "score optimal" le plus élevé).

 
Portefeuille optimal sur le marché boursier américain

Calculé sur la base de 130 barres d'une demi-heure, c'est-à-dire pour les deux dernières semaines - 10 séances de négociation dans 35 instruments financiers (32 actions de l'indice Dow Jones Industrial Average et 3 actions d'indices) en utilisant le critère de Laplace amélioré.

L'optimisation implique un critère entre le rendement maximal de chaque dollar investi et le prélèvement minimal du dépôt. Il ne faut donc pas s'étonner de l'ajout au portefeuille de certains actifs dont on sait qu'ils ont subi des pertes au cours de la période examinée, car leur rôle est de couvrir, c'est-à-dire d'atténuer le risque de baisse des dépôts. Les actifs déficitaires et rentables du portefeuille auront toujours la corrélation négative la plus élevée. Toutefois, il ne s'agit pas nécessairement d'actifs déficitaires et rentables. Si le portefeuille n'est composé que d'actifs rentables, la corrélation négative entre les actifs à haut rendement et ceux à faible rendement est toujours prise en compte. Dans ce cas, les actifs à faible rendement joueront un rôle de couverture pour les actifs à haut rendement.

Les calculs ne prennent pas en compte : les spreads, les commissions de courtage, les dividendes et les swaps intersession. Tous les calculs sont basés sur le prix d'achat des actifs, c'est-à-dire sans effet de levier.

On suppose qu'un investisseur dispose de 100 USD, qu'il devrait investir de manière optimale dans des actifs du marché boursier américain - la première colonne du tableau. Le nombre obtenu doit être divisé arithmétiquement par la valeur de l'actif pour obtenir le nombre d'actions requis.

Contrairement à d'autres évaluations, dans ce cas, non seulement la stratégie "Buy and Hold" est envisagée, mais aussi la vente à découvert d'actifs.

Heure de calcul du portefeuille : Sun Dec 14 14:07:06 PKT 2008 +5 GMT

Investissement en pourcentage
(ou en dollars US,
si vous avez l'intention d'investir
100 $)
Revenu net
basé sur
10 sessions de négociation précédentes
Type de transaction
Identifiant de l'instrument financier
33.05084745762712
2.0021482616456328
Vente à découvert :
Vente à découvert
#AA - Alcoa Inc.
16.10169491525424
1.2221768429650823
Vente à découvert :
Vente à découvert
#C - Citigroup Inc.
3.389830508474576
0.5328795647403892
Short :
Vente à découvert
#EK - Eastman Kodak Company
24.576271186440678
6.376797637390857
Short :
Vente à découvert
#GM - General Motors Corporation
0.847457627118644
0.014509420375525273
Short :
Vente à découvert
#JPM - JPMorgan Chase & Co.
22.033898305084747
3.572262255150715
Vente à découvert :
Vente à découvert
#MMM - 3M Company.
Total :
13.720773982268202
 
grasn писал(а) >>

à Neutron

C'est intéressant, mais je n'arrive pas à comprendre ce qui est fait. Il ressemble à un "crapaud".

Peu importe sur quoi c'est fait. En fait, le résultat final se trouve dans l'application Java. Mais il peut être mis en œuvre dans MQL4 avec une perte de vitesse significative, ce qui n'est pas tout à fait acceptable pour le moment, car il est difficile d'intégrer les calculs dans la période entre les sessions de négociation. Jusqu'à présent, la mise en œuvre se fait dans deux langages de programmation : l'application Java lance le terminal MT4 en spécifiant le conseiller expert en MQL4 dans la ligne de commande. Le conseiller expert télécharge les cotations et les pré-traite. Il stocke les résultats dans un fichier. Après le traitement du script, le terminal est automatiquement déchargé et le programme Java reçoit le code d'arrêt du terminal, prend les données du fichier et effectue l'optimisation. Les résultats sont ensuite affichés dans la fenêtre de l'application et dans le fichier sous forme de page web.

grasn a écrit >>

à Neutron

S'agissait-il simplement d'un modèle d'optimisation externe ou d'une sorte de "boîte fermée avec de l'intelligence à l'intérieur" - disons, HC ou GA ? Mais je ne comprends toujours pas pourquoi "l'algorithme par lui-même" pousse quelque chose quelque part. S'il s'agit de NS, sur quelles données ont-ils été formés (c'est-à-dire où ont-ils obtenu le "compte optimal" le plus important).

Il s'agit d'une optimisation de la matrice de paiement par critères. C'est-à-dire pas GA, puisque GA ne trouve qu'un seul extremum et est donc adapté. Il est beaucoup plus facile de trouver le meilleur actif, c'est-à-dire le seul qui se trouve à l'extrémité du rendement, à savoir diviser le bénéfice de la période examinée par le prix initial de l'action - oscillateur momentum et investir là où le résultat maximal est obtenu. C'est-à-dire que l'optimisation par des algorithmes supplémentaires pour trouver le rendement maximal est redondante, car il n'y a qu'une seule solution. Quant aux réseaux neuronaux, ils n'ont pas de sens non plus, car on ne sait pas du tout ce qu'il faut introduire dans les entrées.

L'optimisation entre en jeu lorsque, outre la rentabilité maximale, il faut prendre en compte le risque de drawdown. Compte tenu de ce qui précède et du théorème minimax, la solution optimale trouvée peut ne pas être la seule (le théorème stipule qu'il existe au moins une solution).

 

à Reshetov


En pleine crise, j'ai manqué votre réponse :o). Merci pour cette précision.


...Т.е. оптимизация дополнительными алгоритмами для поиска максимальной доходности излишняя, поскольку решение единственное... Смысл оптимизации проявляется тогда, когда необходимо помимо максимальной прибыльности еще и учитывать риск просадок.

J'ai écrit que je prendrai en compte beaucoup plus de paramètres, y compris non seulement le drawdown mais aussi le risque de l'opération elle-même. Et le modèle est en fait plus complexe - dans l'image, j'ai montré une <partie de segments> :



Les clients sont "séquentiellement" dans différents instruments, avec une corrélation différente de leurs caractéristiques (toute cette variété décrite précédemment) et des heures de début. Et cela commence déjà à avoir un sens - prendre en compte le futur bénéfice "théorique" de chaque transaction dans l'optimisation. La recherche de la solution optimale est donc tout à fait pertinente et il semble que le LP soit le seul outil efficace. Jusqu'ici, sans beaucoup d'explications (cela semble évident), mais voici qu'apparaît un tel graphique de transactions prédites (dans un certain sens, de manière très conditionnelle) :



Où la ramification est la prise de décision pour l'ouverture de nouvelles transactions (y compris le "débordement" du bénéfice par les "canaux", ou plutôt par les actifs). Eh bien, c'est une longue histoire, pour l'instant c'est bref. J'espère (si le temps le permet) pouvoir bientôt publier des études plus détaillées.

Quant aux réseaux neuronaux, ils n'ont pas de sens non plus, car on ne sait pas très bien ce qu'il faut donner aux entrées.

Je suis d'accord

 

J'ai relu mon message et j'ai décidé de clarifier l'apparence du graphique, au cas où. Tout devrait être clair ici maintenant :


Et c'est sur cette base que je fais tourner LP - des résultats très intéressants :o)

 
Le sujet est-il toujours d'actualité ? La programmation par objectifs (multicritères) a-t-elle été envisagée pour une gestion optimale des actifs ? (au lieu de linéaire)
 
fevrall >> :
Le sujet est-il toujours d'actualité ? La programmation par objectifs (multicritères) a-t-elle été envisagée pour la gestion optimale des actifs ? (au lieu de linéaire)

Bien sûr que oui, si vous avez quelque chose à dire, dans le sens d'offrir.

 

Un problème de programmation cible est un problème portant sur la composition optimale, sous des contraintes données. En d'autres termes, s'il existe plusieurs fonctions cibles linéaires, éventuellement contradictoires, la programmation cible peut être utilisée pour trouver une solution de compromis. Je n'ai pas utilisé cette méthode pour la gestion des actifs, mais j'ai pensé qu'elle pouvait être utilisée ici aussi. Elle diffère de la programmation linéaire en ce que la programmation linéaire implique un seul TF, alors que la programmation par objectifs en implique plusieurs.

 
Les détails sont plus intéressants ; je connais la description générale et conceptuelle. Au moins, la formalisation de la partie "mise en scène" est un début.