Salvando os resultados do WFM da estratégia em .sqx
2 respostas
Lorena Rangel
1 mês atrás #290714
Depois de executar o Optimizer (ou Task Optimize Strategies no fluxo de trabalho) e tentar salvar o resultado, recebo não apenas o resultado do WFM, mas também o System Parameter Permutation e o perfil de otimização são executados e salvos. Quero salvar apenas o melhor resultado do WFM. Como posso fazer isso?
Lorena Rangel
1 mês atrás #290720
Escrevi um código, mas o símbolo e o período de tempo são nulos. Quando tento usar o resultado no portfolio master, recebo um erro.
`package SQ.CustomAnalysis;
import com.strategyquant.lib.*;
importar java.util.ArrayList;
importar java.util.List;
import com.strategyquant.datalib.*;
import com.strategyquant.tradinglib.*;
public class SaveBestWalkForwardMatrixResult extends CustomAnalysisMethod {
//————————————————————————
//————————————————————————
//————————————————————————
/**
* Defina o tipo de snippet de CA aqui - ele pode ser usado como:
* - filtro de estratégia - ele chamará o método filterStrategy() para uma estratégia
* - processador de banco de dados - ele chamará processDatabank() para todas as estratégias no banco de dados
*
* Descomente a que você deseja usar.
*/
público SaveBestWalkForwardMatrixResult() {
super("SaveBestWalkForwardMatrixResult", TYPE_PROCESS_DATABANK);
}
@Override
public ArrayList processDatabank(String project, String task, String databankName, ArrayList databankRG) throws Exception {
para (ResultsGroup result : databankRG) {
tente {
// Remove o perfil de otimização
result.setOptimizationProfile(null);
// Obter chaves para trabalhar
List keysSnapshot = new ArrayList(result.getResultKeys());
String bestWFMResultKey = result.getBestWFResultKey();
String mainResultsKey = result.getMainResultKey();
// Obtém o melhor subresultado e as melhores configurações do WFM
Resultado bestWFMResult = result.subResult(bestWFMResultKey);
SettingsMap bestWFMSettingsMap = bestWFMResult.getSettings();
// Remove todos os resultados das simulações wfm
for (String currentKey : keysSnapshot) {
Se (!currentKey.equals(bestWFMResultKey) && !currentKey.equals(mainResultsKey)) {
result.removeSubresult(currentKey, true);
}
}
// Remove a separação do WFM original para evitar duplicação
String originalWFResult = result.getOriginalWFResultKey();
result.removeSubresult(originalWFResult, true);
// Remove o resultado principal para manter apenas o melhor WF
result.removeSubresult(mainResultsKey, true);
} catch (Exception e) {
lançar e;
}
}
return databankRG;
}
}

tomas262
3 semanas atrás #291157
Olá,
Planejamos lançar em breve um tutorial sobre como trabalhar com os resultados do WF por meio da análise personalizada
Visualizando 2 respostas - 1 até 2 (de um total de 2)