Fonction d'adéquation du maître du portefeuille
4 réponses
Marcello Vieira
Il y a 4 ans #256134
Bonjour, je souhaite modifier la fonction de fitness pour le portfolio master.
Dans la simulation Monte Carlo, je veux ajouter plus de simulations, et je veux optimiser le Ret/DD au lieu du bénéfice net.
C:\NQuantAnalyzer4\extend\NSnippets\Ncomme stratégiequantitative\extend\NFonctionsdefitness\NMonteCarloSim.Java
J'ai modifié ce fichier, mais rien ne s'est passé.
Ensuite, pour vérifier que j'avais bien édité le bon fichier, j'ai fait ceci :
public synchronized double computeFitness(SQResultsGroup resultsGroup, String sampleType) throws Exception { return 1 ; }
Et pourtant, rien n'a changé. Portfolio Master fonctionnait parfaitement comme si je n'avais rien changé.
Que dois-je faire pour que les changements dans le code soient efficaces ? Chaque fois que je ferme QuantAnalyzer et que je l'ouvre à nouveau pour tester.
tomas262
Il y a 4 ans #256144
Marcello Vieira
Il y a 4 ans #256159
Oui, j'ai compilé et redémarré QA.
J'ai pu lui faire faire quelque chose. Au lieu de modifier MonteCarloSim.java, j'ai créé un nouveau fichier CustomMonteCarloSim.java et mes modifications y ont été apportées.
Ce qui me bloque maintenant, c'est que je ne trouve pas de documentation sur les fonctions. Je ne sais pas quelles fonctions sont disponibles et quels sont les paramètres et les types.
Où puis-je trouver de la documentation ?
Au lieu d'obtenir le montecarlo pour le NetProfit, je veux opmiser sur la base du Return to DD ratio. J'ai donc procédé comme suit :
ConfidenceLevelResults confidenceLevelResults = (ConfidenceLevelResults) Program.get("MonteCarloConfidenceLevels").call("run", settings) ;
MonteCarloStatValues result = confidenceLevelResults.get(90) ;
return result.getDouble(MCStatsConst.RET_DD_RATIO) ;
Mais il semble que le résultat soit toujours égal à 0. Car c'est ce qui est imprimé en plus de chaque portefeuille créé. Il imprime toujours le résultat de la fonction de fitness en plus du portefeuille, je n'obtiens que zéro avec ce code.
Tamas
Il y a 4 ans #256181
Les snippets prédéfinis ne peuvent pas être modifiés. La bonne méthode consiste à créer un extrait personnalisé comme vous l'avez fait.
Il renvoie 0 car il y a un bug dans le snippet MCRetDDRatio (il devrait être calculé à partir de MCStatsConst.MAX_DD, MCStatsConst.BÉNÉFICE NET au lieu de PCT_NET_PROFIT. Ce problème sera corrigé dans la prochaine version).
Veuillez utiliser l'extrait ci-joint où le RetDDRatio est calculé directement dans le fitness MC.
Tamas
Il y a 4 ans #256183
Voici un lien vers la documentation de l'api https://strategyquant.com/qa_api/
Affichage de 4 réponses de 1 à 4 (sur un total de 4)