SOLO LETTURA

Il forum è ora un archivio di sola lettura.

Per segnalazioni di bug e domande sulla piattaforma → [email protected]

La nostra comunità vive su Discord e YouTube: unisciti a noi!

UNISCITI A NOI SU Discordia YouTube

Salvataggio dei risultati della strategia WFM in .sqx

3 risposte

Lorena Rangel

Abbonato, bbp_partecipante, cliente, comunità, sq-ultimate, 9 risposte.

Visita il profilo

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

Abbonato, bbp_partecipante, cliente, comunità, sq-ultimate, 9 risposte.

Visita il profilo

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

Amministratore, sq-ultimate, 2 risposte.

Visita il profilo

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

Abbonato, bbp_partecipante, sq-ultimate, cliente, comunità, 3 risposte.

Visita il profilo

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)