Respuesta

Función de adecuación de la cartera principal

4 respuestas

Marcello Vieira

Cliente, bbp_participant, comunidad, 0 respuestas.

Visitar el perfil

hace 4 años #256134

Hola, quiero cambiar la función de aptitud para el maestro de cartera.

En el Monte Carlo Sim quiero añadir más simulaciones, y quiero optimizar Ret/DD en lugar de beneficio neto.

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

He editado este archivo, pero no ha pasado nada.

Entonces sólo para probar si estaba editando el archivo correcto hice esto:

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

Y aún así, nada ha cambiado. Portfolio Master funcionaba perfectamente como si no hubiera cambiado nada.

¿Qué tengo que hacer para que los cambios en el código sean efectivos? Cada vez que cierro QuantAnalyzer y abrir de nuevo para probar.

0

tomas262

Administrador, sq-ultimate, 2 respuestas.

Visitar el perfil

hace 4 años #256144

Hola,

¿compiló el archivo después de editarlo?

0

Marcello Vieira

Cliente, bbp_participant, comunidad, 0 respuestas.

Visitar el perfil

hace 4 años #256159

Sí, compilé y reinicié QA.
Pude hacer que hiciera algo. En lugar de editar MonteCarloSim.java, he creado un nuevo archivo CustomMonteCarloSim.java y luego mis cambios estaban allí.

Lo que me bloquea ahora es que no encuentro documentación sobre las funciones. No sé qué funciones están disponibles y cuáles son los parámetros y tipos.

¿Dónde puedo encontrar documentación?

 

En lugar de obtener el montecarlo por NetProfit, quiero opmizarlo en base al ratio Return to DD. Así que hice esto

 

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

MonteCarloStatValues result = confidenceLevelResults.get(90);

return result.getDouble(MCStatsConst.RET_DD_RATIO);

 

Pero esto parece devolver siempre 0. Porque eso es lo que se imprime además de cada cartera que se crea. Siempre imprimir el resultado de la función de aptitud, además de la cartera, sólo obtengo cero con este código.

 

0

Tamas

Cliente, bbp_participant, comunidad, sq-ultimate, 73 respuestas.

Visitar el perfil

hace 4 años #256181

Los fragmentos predefinidos no pueden modificarse. La forma correcta es crear un fragmento personalizado como has hecho tú.

Devuelve 0 porque hay un error en el snippet MCRetDDRatio (debería calcularse a partir de MCStatsConst.MAX_DD, MCStatsConst.NET_PROFIT en lugar de PCT_NET_PROFIT. Se corregirá en la próxima versión).

Por favor, utilice el fragmento adjunto donde RetDDRatio se calcula directamente en la aptitud MC.

0

Tamas

Cliente, bbp_participant, comunidad, sq-ultimate, 73 respuestas.

Visitar el perfil

hace 4 años #256183

Aquí hay un enlace a la api doc https://strategyquant.com/qa_api/

0

Viendo 4 respuestas - de la 1 a la 4 (de un total de 4)