Répondre

Fonction d'adéquation du maître du portefeuille

4 réponses

Marcello Vieira

Client, bbp_participant, communauté, 0 réponses.

Visiter le profil

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.

0

tomas262

Administrateur, sq-ultimate, 2 réponses.

Visiter le profil

Il y a 4 ans #256144

Bonjour,

Avez-vous compilé le fichier après l'avoir modifié ?

0

Marcello Vieira

Client, bbp_participant, communauté, 0 réponses.

Visiter le profil

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.

 

0

Tamas

Client, bbp_participant, community, sq-ultimate, 73 réponses.

Visiter le profil

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.

0

Tamas

Client, bbp_participant, community, sq-ultimate, 73 réponses.

Visiter le profil

Il y a 4 ans #256183

Voici un lien vers la documentation de l'api https://strategyquant.com/qa_api/

0

Affichage de 4 réponses de 1 à 4 (sur un total de 4)