Salvataggio dei risultati della strategia WFM in .sqx
2 risposte
Lorena Rangel
2 settimane 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?
Lorena Rangel
2 settimane 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;
}
}

tomas262
1 settimana fa #291157
Salve,
Abbiamo in programma di pubblicare presto un tutorial su come lavorare con i risultati di WF attraverso l'analisi personalizzata.
Stai visualizzando 2 risposte - da 1 al 2 (di 2 totali)