Funzione Fitness del Master di Portafoglio

4 risposte

Marcello Vieira

Cliente, bbp_partecipante, comunità, 0 risposte.

Visita il profilo

4 anni fa #256134

Salve, voglio modificare la funzione di fitness per il portfolio master.

Nella simulazione Monte Carlo voglio aggiungere altre simulazioni e voglio ottimizzare Ret/DD anziché il profitto netto.

C:\QuantAnalyzer4\extend\Snippets\com\strategyquant\extend\FitnessFunctions\MonteCarloSim.Java

Ho modificato questo file, ma non è successo nulla.

Poi, per verificare se stavo modificando il file giusto, ho fatto così:

public synchronized double computeFitness(SQResultsGroup resultsGroup, String sampleType) throws Exception { return 1; }

E comunque non è cambiato nulla. Portfolio Master funzionava benissimo come se non avessi cambiato nulla.

Cosa devo fare perché le modifiche al codice siano efficaci? Ogni volta che chiudo QuantAnalyzer e lo riapro per testare.

0

tomas262

Amministratore, sq-ultimate, 2 risposte.

Visita il profilo

4 anni fa #256144

Salve,

hai compilato il file dopo la modifica?

0

Marcello Vieira

Cliente, bbp_partecipante, comunità, 0 risposte.

Visita il profilo

4 anni fa #256159

Sì, ho compilato e riavviato QA.
Sono riuscito a fargli fare qualcosa. Invece di modificare MonteCarloSim.java, ho creato un nuovo file CustomMonteCarloSim.java e le mie modifiche erano lì.

Quello che mi blocca ora è che non riesco a trovare la documentazione sulle funzioni. Non so quali siano le funzioni disponibili e quali siano i parametri e i tipi.

Dove posso trovare la documentazione?

 

Invece di ottenere il montecarlo per NetProfit, voglio opmizzare in base al rapporto Return to DD. Quindi ho fatto così:

 

ConfidenceLevelResults confidenceLevelResults = (ConfidenceLevelResults) Program.get("MonteCarloConfidenceLevels").call("run", settings);

MonteCarloStatValues result = confidenceLevelResults.get(90);

restituire result.getDouble(MCStatsConst.RET_DD_RATIO);

 

Ma questo sembra restituire sempre 0. Perché è questo che viene stampato oltre a ogni portafoglio creato. Stampa sempre il risultato della funzione di fitness oltre al portafoglio, ma con questo codice ottengo solo zero.

 

0

Tamas

Cliente, bbp_partecipante, comunità, sq-ultimate, 73 risposte.

Visita il profilo

4 anni fa #256181

Gli snippet predefiniti non possono essere modificati. Il modo corretto è creare uno snippet personalizzato come avete fatto voi.

Restituisce 0 perché c'è un errore nello snippet MCRetDDRatio (dovrebbe essere calcolato da MCStatsConst.MAX_DD, MCStatsConst.PROFITTO_NETTO invece di PCT_NET_PROFIT. Verrà corretto nella prossima versione).

Utilizzare lo snippet allegato in cui RetDDRatio viene calcolato direttamente nel fitness MC.

0

Tamas

Cliente, bbp_partecipante, comunità, sq-ultimate, 73 risposte.

Visita il profilo

4 anni fa #256183

Ecco il link al documento dell'API https://strategyquant.com/qa_api/

0

Stai visualizzando 4 risposte - da 1 a 4 (di 4 totali)