Les ressources ont été chargées... Je charge...

Le trading sur la FMEX débloque l'optimisation optimale du volume des commandes Partie 2

Auteur:La bonté, Créé: 2020-07-07 10:47:04, Mis à jour: 2023-10-28 15:31:38

img

L'effondrement de FMEX a nui à beaucoup de gens, mais il est récemment venu avec un plan de redémarrage et a formulé des règles similaires à l'exploitation minière originale pour débloquer leur dette.https://www.fmz.com/bbs-topic/5834. En même temps, il y a place à l'optimisation dans le tri minier. Bien que les gens ne devraient pas entrer dans le même puits deux fois, ceux qui ont des réclamations financières sur FMEX peuvent vouloir l'essayer, les stratégies spécifiques du marché réel seront également publiées.

Règles de déverrouillage de tri FMEX

Définissez tous les 5 minutes dans chaque jour comme un cycle de déverrouillage de tri, et chaque cycle alloue 1/288 du montant de déverrouillage de tri de la paire de négociation de la journée.

  • Acheter 1 Selon la proportion du montant de la commande en attente de l'utilisateur, attribuer 1/4 du montant du remboursement du cycle de déverrouillage de tri

  • Vendre 1 En fonction de la proportion du montant de la commande en attente de l'utilisateur, attribuer 1/4 du montant du remboursement du cycle de déverrouillage de tri

  • Acheter 2 à Acheter 5 de ces quatre niveaux d'ordres en attente, selon la proportion du montant des ordres de l'utilisateur dans chaque ordre, l'allocation du cycle de déverrouillage des ordres est divisée en 1/40

  • Vendre 2 à Vendre 5 de ces quatre niveaux d'ordres en attente, selon la proportion du montant des ordres de l'utilisateur dans chaque ordre, l'allocation du cycle de déverrouillage des ordres est divisé en 1/40

  • Acheter 6 à Acheter 10 de ces cinq niveaux d'ordres en attente, selon la proportion du montant des ordres de l'utilisateur dans chaque ordre, l'allocation du cycle de déverrouillage des ordres est divisée en 1/50

  • Vendre 5 à Vendre 10 de ces cinq niveaux d'ordres en attente, selon la proportion du montant des ordres de l'utilisateur dans chaque ordre, l'allocation du cycle de déverrouillage des ordres est divisé en 1/50

  • Acheter 11 à acheter 15 de ces cinq niveaux d'ordres en attente, selon la proportion du montant des ordres de l'utilisateur dans chaque ordre, l'allocation du cycle de déverrouillage des ordres est divisé en 1/100

  • Vendre 5 à Vendre 15 de ces cinq niveaux d'ordres en attente, selon la proportion du montant des ordres de l'utilisateur dans chaque ordre, l'allocation du cycle de déverrouillage des ordres est divisé en 1/100

Le remboursement total de l'ordre d'un utilisateur débloqué dans une certaine paire de transactions le même jour est la somme des crédits restitués par l'ordre d'un utilisateur débloqué pour chaque cycle de la transaction.

Trier les revenus débloqués

Premièrement, le revenu total du tri et du déverrouillage est:

img

Où?ireprésente une des positions, et il y a 30 positions des deux côtés,aest le montant des ordres en attente,Rest le montant de la restitution débloqué, etVest le montant total des commandes existantes.

Contrairement au déverrouillage des transactions, il n'y a pas de frais pour les commandes en attente.RSi nous déterminons le montant total des ordres en attente, la question devient de savoir comment répartir les ordres sur différentes positions pour maximiser le profitG. Il est évident que la simple recherche de la position avec le plus petit nombre d'ordres en attente et la mise en attente de tous n'est pas la solution optimale.RSi nous choisissons une seule position, le rendement total final est de 0,75R. Si chaque position est placée 10, le rendement final est de 1,5R, ce qui montre que parfois le rendement de l'écart des ordres en attente est meilleur.

Optimisation du déverrouillage du tri

En fin de compte, nos objectifs et contraintes d'optimisation sont:

img

Où?Mest le nombre total d'ordres en attente. Il s'agit d'un problème d'optimisation convexe quadratique qui contient des inégalités, satisfait à la condition KTT et est résolu en entier. En utilisant le package correspondant et le résolveur d'optimisation convexe devrait être en mesure d'obtenir directement les résultats et de retourner le nombre optimal d'ordres en attente pour chaque position. Mais ce n'est évidemment pas la réponse que nous voulons, nous devons simplifier le problème et obtenir des étapes de solution spécifiques.

Commencez par un exemple simple.

Les commandes en attente actuelles sont 10 et 20 (appelées respectivement la première et la deuxième couche) et leur montant débloqué est deRComment allouer les fonds pour atteindre le montant maximum débloqué? Cette question semble simple, mais il est difficile de tirer une conclusion correcte sans calcul.

Le plan 1:

Trouvez la position de la plus petite commande en attente, accrochez-les tous, le retour total seraG=30/(30+10)=0.75RC'est aussi la solution la plus facile à trouver.

Le plan 2:

Chaque fois qu'il est alloué 1 yuan, et alloué à l'endroit qui peut générer le plus de profit, c'est-à-dire la position avec le plus petit nombre d'ordres en attente. Ensuite, le premier yuan sera alloué à la première couche de prix, le montant des ordres en attente dans la première couche de prix deviendra 10 + 1, et le deuxième yuan sera également alloué à la première couche de prix... et ainsi de suite, jusqu'à ce que le cumulatif soit alloué à la première couche de prix de 10 yuans, vous pouvez choisir un au hasard. Lorsque le total des ordres en attente dans la première couche de prix dépasse 20, la prochaine couche de prix sera allouée à la deuxième couche de prix. Le résultat final est de 20 yuans pour la première couche de prix et de 10 yuans pour la deuxième couche de prix. Leurs ordres en attente finaux sont tous 30.

Le plan 3:

Vous pouvez définir la première couche de prix à allouera, et la deuxième couche de prix est30-a, puis vous pouvez directement lister l'équation et la dériver à 0 (le processus est omis, similaire à l'article de déverrouillage du commerce), calculer le résultat final, la formule est:

img

Apportez l' arrondissement pour trouvera=15. Le rendement totalG=15/25+15/35=1.0286R, ce qui est mieux que Plan 2. Comme il est directement dérivé de la formule, c'est l'option optimale, les lecteurs peuvent le vérifier.

Le résultat peut être différent des attentes de tout le monde. Le plan 2 montre clairement que l'allocation de chaque élément est la solution optimale dans la situation actuelle. Pourquoi pas la solution optimale globale? Cette situation est très courante, et l'optimalité locale n'est pas nécessairement l'optimalité globale, car avant l'allocation, le montant des commandes en attente a déjà été investi, et l'efficacité globale doit tenir compte du coût coulé. Notre objectif pour chaque étape d'optimisation est d'atteindre la plus grande efficacité globale plutôt que le plus grand rendement unique.

Plan d'optimisation spécifique

Enfin, l'opération réelle réalisable a commencé, ou pour simplifier le problème en allouant 1 yuan à chaque fois.aàGCette contribution tient compte du coût cumulé, plutôt que du revenu d'une seule distribution. Plus la valeur est élevée, plus la contribution globale au bénéfice final est élevée.a=1, de la présence à l'absence, l'efficacité est la plus élevée, puis diminue progressivement.

img

De même, en prenant l'exemple simple ci-dessus comme exemple, calculez leur efficacité après avoir alloué des fonds séparément et énumérez les tableaux:

Les fonds 1 2
1 0.0826 0.0454
2 0.069 0.0413
3 0.0592 0.0378
4 0.051 0.0347
5 0.0444 0.032
12 0.0207 0.0195
13 0.0189 0.0184
14 0.0174 0.0173
15 0.016 0.0163
16 0.0148 0.0154
17 0.0137 0.0146
18 0.0128 0.0139

Selon le tableau, le premier yuan est affecté à la première couche de prix, le deuxième yuan est affecté à la première couche de prix... le cinquième yuan est affecté à la deuxième couche de prix... et ainsi de suite, et enfin affecté à la première couche de prix 15 yuan, la deuxième couche de prix 15 Yuan est exactement la solution optimale que nous avons calculée selon l'équation.

  1. Vérifiez d'abord toutes les couches de prix, siV=0Alors...a=1, n'allouent plus de fonds excédentaires.
  2. Distribuer les fonds totaux enNIl est possible d'établir une liste des actions et de sélectionner une couche de prix à attribuer à la fois.
  3. Calculer l'efficacité de chaque couche de prix =RV/pow(a+V, 2), areprésente les fonds cumulés alloués à cette position + les fonds alloués cette fois.
  4. Allouer des fonds aux niveaux de prix les plus efficaces, et en choisir un au hasard avec la même efficacité.
  5. Cycle 3-4 jusqu'à la fin de l'affectation des fonds.

Si notre total d'ordres en attente est grand et l'efficacité de chaque allocation de yuan est trop faible, nous pouvons diviser les fonds en 100 et en allouer un à chaque fois. Comme il ne s'agit que d'une simple opération de tri, l'efficacité de l'algorithme est très élevée. Spécifiquement au niveau d'exécution, il y a encore une marge d'optimisation, comme diviser nos ordres en 100, de sorte que chaque fois que vous ajustez, vous n'avez qu'à réaffecter l'ordre et n'avez pas besoin de tout annuler.RIl y a des parties qui se chevauchent pour le déverrouillage du tri et le déverrouillage des commandes en attente, qui peuvent être considérés ensemble, et ainsi de suite.


Relationnée

Plus de