Speichern von Strategie-WFM-Ergebnissen in .sqx
3 Antworten
Lorena Rangel
vor 1 Jahr #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?
0
Lorena Rangel
vor 1 Jahr #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;
}
}
0
tomas262
vor 1 Jahr #291157
Hallo,
Wir planen, in Kürze ein Tutorial über die Arbeit mit WF-Ergebnissen durch benutzerdefinierte Analysen zu veröffentlichen.
0
Francisco Martinez
vor 9 Monaten #291933
Mir ist aufgefallen, dass man WFM sowohl über Retester als Teil der Cross Checks (Robustheit) als auch über Optimizer ausführen kann. Ich habe dieselben Strategien mit beiden ausgeführt und die Ergebnisse sind völlig unterschiedlich, 3D-Diagramm usw. ... sogar einige der Strategien widersprechen sich, sie werden in Retester akzeptiert, aber nicht in Optimizer oder umgekehrt. Ich würde gerne wissen, welche der beiden Optionen für die Ausführung von WFM die richtige ist ... ob es Unterschiede in den Ergebnissen gibt oder ob die Ergebnisse identisch sein sollten ... und wenn Retester und Optimizer nach der Ausführung von WFM unterschiedliche Ergebnisse liefern, worin bestehen die Unterschiede und welche Option ist für den WFM-Test am besten geeignet ... vielen Dank im Voraus für Ihre Antworten.
0
Ansicht von 3 Antworten - 1 bis 3 (von insgesamt 3)