Speichern von Strategie-WFM-Ergebnissen in .sqx
2 Antworten
Lorena Rangel
vor 1 Monat #290714
Nach der Ausführung von Optimizer (oder Task Optimize Strategies im Workflow) und dem Versuch, das Ergebnis zu speichern, erhalte ich nicht nur das WFM-Ergebnis, sondern auch die Systemparameter-Permutation und das Optimierungsprofil werden ausgeführt und gespeichert. Ich möchte nur das beste WFM-Ergebnis speichern. Wie kann ich das tun?
Lorena Rangel
vor 1 Monat #290720
Ich habe einen Code geschrieben, aber das Symbol und der Zeitrahmen sind null. Wenn ich versuche, das Ergebnis auf Portfolio Master zu verwenden, erhalte ich einen Fehler.
Packung 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 {
//————————————————————————
//————————————————————————
//————————————————————————
/**
* Stellen Sie hier den Typ des CA-Snippets ein - es wird entweder als:
* - Strategie-Filter - er ruft die filterStrategy()-Methode für eine Strategie auf
* - Datenbankprozessor - er ruft processDatabank() für alle Strategien in der Datenbank auf
*
* Unkommentieren Sie das, was Sie verwenden möchten.
*/
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) {
versuchen {
// Entfernt Optimierungsprofil
result.setOptimizationProfile(null);
// Schlüssel abrufen, die bearbeitet werden sollen
List keysSnapshot = new ArrayList(result.getResultKeys());
String bestWFMResultKey = result.getBestWFResultKey();
String mainResultsKey = result.getMainResultKey();
// Abrufen des besten WFM-Teilergebnisses und der Einstellungen
Ergebnis bestWFMResult = result.subResult(bestWFMResultKey);
SettingsMap bestWFMSettingsMap = bestWFMResult.getSettings();
// Entfernt alle Ergebnisse der wfm-Simulationen
for (String currentKey : keysSnapshot) {
if (!currentKey.equals(bestWFMResultKey) && !currentKey.equals(mainResultsKey)) {
result.removeSubresult(currentKey, true);
}
}
// Entfernt die ursprüngliche WFM-Trennung, um Doppelarbeit zu vermeiden
String originalWFResult = result.getOriginalWFResultKey();
result.removeSubresult(originalWFResult, true);
// Entfernt das Hauptergebnis, um nur die beste WF zu erhalten
result.removeSubresult(mainResultsKey, true);
} catch (Exception e) {
werfen e;
}
}
return databankRG;
}
}

tomas262
vor 3 Wochen #291157
Hallo,
Wir planen, in Kürze ein Tutorial über die Arbeit mit WF-Ergebnissen durch benutzerdefinierte Analysen zu veröffentlichen.
Ansicht von 2 Antworten - 1 bis 2 (von insgesamt 2)