Sauvegarde des résultats de la stratégie WFM en .sqx
2 réponses
Lorena Rangel
Il y a 1 mois #290714
Après avoir exécuté Optimizer (ou Task Optimize Strategies dans le workflow) et essayé de sauvegarder le résultat, j'obtiens non seulement le résultat WFM, mais aussi la permutation des paramètres système et le profil d'optimisation sont exécutés et sauvegardés. Je souhaite enregistrer uniquement le meilleur résultat WFM. Comment puis-je faire cela ?
Lorena Rangel
Il y a 1 mois #290720
J'ai écrit un code mais le symbole et le timeframe sont nuls. Lorsque j'essaie d'utiliser le résultat dans le portfolio master, j'obtiens une erreur.
`package SQ.CustomAnalysis ;
import com.strategyquant.lib.* ;
import java.util.ArrayList ;
import java.util.List ;
import com.strategyquant.datalib.* ;
import com.strategyquant.tradinglib.* ;
public class SaveBestWalkForwardMatrixResult extends CustomAnalysisMethod {
//————————————————————————
//————————————————————————
//————————————————————————
/**
* Définissez ici le type d'extrait d'AC - il est soit utilisé comme :
* - filtre de stratégie - il appellera la méthode filterStrategy() pour une stratégie.
* - processeur de banque de données - il appellera processDatabank() pour toutes les stratégies de la banque de données
*
* Décommentez celui que vous souhaitez utiliser.
*/
public SaveBestWalkForwardMatrixResult() {
super("SaveBestWalkForwardMatrixResult", TYPE_PROCESS_DATABANK) ;
}
@Override
public ArrayList processDatabank(String project, String task, String databankName, ArrayList databankRG) throws Exception {
for (ResultsGroup result : databankRG) {
try {
// Supprime le profil d'optimisation
result.setOptimizationProfile(null) ;
// Obtenir des clés sur lesquelles travailler
Liste keysSnapshot = new ArrayList(result.getResultKeys()) ;
String bestWFMResultKey = result.getBestWFResultKey() ;
String mainResultsKey = result.getMainResultKey() ;
// Obtient le meilleur sous-résultat WFM et les meilleurs paramètres
Résultat bestWFMResult = result.subResult(bestWFMResultKey) ;
SettingsMap bestWFMSettingsMap = bestWFMResult.getSettings() ;
// Supprime tous les résultats des simulations wfm
for (String currentKey : keysSnapshot) {
if (!currentKey.equals(bestWFMResultKey) && !currentKey.equals(mainResultsKey)) {
result.removeSubresult(currentKey, true) ;
}
}
// Supprime séparément le WFM d'origine pour éviter les doublons.
String originalWFResult = result.getOriginalWFResultKey() ;
result.removeSubresult(originalWFResult, true) ;
// Supprime le résultat principal afin de ne conserver que le meilleur WF
result.removeSubresult(mainResultsKey, true) ;
} catch (Exception e) {
lancer e ;
}
}
return databankRG ;
}
}

tomas262
il y a 3 semaines #291157
Bonjour,
Nous prévoyons de publier prochainement un tutoriel sur la manière de travailler avec les résultats de la WF par le biais d'une analyse personnalisée.
Affichage de 2 réponses de 1 à 2 (sur un total de 2)