Salvataggio dei risultati della strategia WFM in .sqx
3 risposte
Lorena Rangel
1 anno fa #290714
Dopo aver eseguito Optimizer (o Task Optimize Strategies nel flusso di lavoro) e aver cercato di salvare il risultato, non ottengo solo il risultato WFM, ma anche la Permutazione dei parametri di sistema e il profilo di ottimizzazione vengono eseguiti e salvati. Voglio salvare solo il miglior risultato WFM. Come posso fare?
0
Lorena Rangel
1 anno fa #290720
Ho scritto un codice ma il simbolo e il timeframe sono nulli. Quando provo a utilizzare il risultato su portfolio master, ottengo un errore.
Pacchetto SQ.CustomAnalysis;
importare com.strategyquant.lib.*;
importare java.util.ArrayList;
importare java.util.List;
importare com.strategyquant.datalib.*;
importare com.strategyquant.tradinglib.*;
public class SaveBestWalkForwardMatrixResult extends CustomAnalysisMethod {
//————————————————————————
//————————————————————————
//————————————————————————
/**
* Impostare qui il tipo di frammento di CA: può essere usato come:
* - filtro della strategia - richiama il metodo filterStrategy() per una strategia
* - processore della banca dati - chiamerà processDatabank() per tutte le strategie nella banca dati
*
* Deselezionare quello che si desidera utilizzare.
*/
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) {
prova {
// Rimuove il profilo di ottimizzazione
result.setOptimizationProfile(null);
// Ottenere le chiavi su cui lavorare
List keysSnapshot = new ArrayList(result.getResultKeys());
String bestWFMResultKey = result.getBestWFResultKey();
String mainResultsKey = result.getMainResultKey();
// Ottiene il miglior risultato e le impostazioni del WFM
Risultato bestWFMResult = result.subResult(bestWFMResultKey);
SettingsMap bestWFMSettingsMap = bestWFMResult.getSettings();
// Rimuove tutti i risultati delle simulazioni wfm
for (String currentKey : keysSnapshot) {
if (!currentKey.equals(bestWFMResultKey) && !currentKey.equals(mainResultsKey)) {
result.removeSubresult(currentKey, true);
}
}
// Rimuove il WFM originale per evitare duplicazioni.
String originalWFResult = result.getOriginalWFResultKey();
result.removeSubresult(originalWFResult, true);
// Rimuove il risultato principale per mantenere solo il miglior WF
result.removeSubresult(mainResultsKey, true);
} catch (Exception e) {
lanciare e;
}
}
restituire databankRG;
}
}
0
tomas262
1 anno fa #291157
Salve,
Abbiamo in programma di pubblicare presto un tutorial su come lavorare con i risultati di WF attraverso l'analisi personalizzata.
0
Francisco Martinez
9 mesi fa #291933
Ho notato che è possibile eseguire WFM da Retester come parte dei controlli incrociati (Robustness) o da Optimizer. Ho eseguito le stesse strategie utilizzando entrambi e i risultati sono completamente diversi, grafico 3D, ecc... anche con alcune strategie contraddittorie, che passano in Retester e non in Optimizer o viceversa. Vorrei sapere quale dei due è corretto per eseguire WFM... se c'è qualche differenza nell'output o se i risultati dovrebbero essere identici... e se Retester e Optimizer forniscono risultati diversi dopo aver eseguito WFM, quali sono le differenze e quale dei due è più corretto utilizzare per il test WFM... grazie in anticipo per le vostre risposte.
0
Stai visualizzando 3 risposte - da 1 a 3 (di 3 totali)