Cela semble pratique, mais je ne le comprends pas très bien. Étudiez en écrivant pour le maîtriser. Toujours en train d'écrire.
L'écran réel Quant Analyzer Analyze - Vue d'ensemble et
C:\QuantAnalyzer4\extend\Snippets\com\strategyquant\extend\OverviewTab\SQDefault.java Je devinerai en comparant le contenu avec VS Code.
d2WithPlType(stats.getXXXXX(XXXXX), combination.getPLType()) Il semble correspondre au format d'affichage (montant, pips,%) d2WithPlType(stats.getXXXXX(XXXXX), SQConst.PL_IN_PCT) Il semble que le format d'affichage soit fixé à% d2(stats.getXXXXX(XXXXXXXXXX) Il semble que vous cherchiez la deuxième place après la virgule décimale. statsConst.XXXXX Je souhaite que je pourrais voir le contenu de ceci. Si vous savez comment est la valeur calculée, il semble que vous puissiez la combiner de différentes manières.
Dans SQDefault.java, stats.getInt (StatsConst.NUMBER_OF_TRADES)
Dans SQDefault.java, d2WithPlType (stats.getDouble (dd_key), combination.getPLType ()) ANNUAL % / MAX DD %: Dans SQDefault.java, d2 (stats.getDouble (StatsConst.AAR_DD_RATIO))
Dans SQDefault.java, d2 (stats.getDouble (StatsConst.SHARPE_RATIO)) Le risque (écart type) mesure le rendement excédentaire par unité (profit excédentaire qui dépasse le rendement pouvant être obtenu même avec un risque nul), et plus cette valeur est élevée, plus le rendement excédentaire obtenu en prenant le risque est élevé ( Bénéfices efficacement gagnés). Ceci est utile pour comparer différents objectifs de placement et déterminer quel rendement est le plus élevé pour le même risque. Ce ratio élevé est également utilisé pour évaluer le rendement de la gestion des fiducies de placement en tant que mesure des rendements ajustés au risque.
Dans SQDefault.java, d2WithPlType (stats.getDouble (StatsConst.PCT_DRAWDOWN), SQConst.PL_IN_PCT) R EXPECTANCY: Dans SQDefault.java, d2WithPlType (stats.getDouble (StatsConst.R_EXPECTANCY), "R") performance metrics developed by Van Tharp, it gives you the average profit value related to average risk (R) that you can expect from a system over many trades. Il semble que vous puissiez bénéficier du risque en moyenne. En quoi est-ce différent du ratio net?
Dans SQDefault.java, d2 (stats.getDouble (StatsConst.PROFIT_FACTOR)) Aucune explication nécessaire
Dans SQDefault.java, d2WithPlType (stats.getDouble (StatsConst.AVG_PROFIT_BY_DAY), combination.getPLType ()) Aucune explication nécessaire R EXPECTANCY SCORE: Dans SQDefault.java, d2WithPlType (stats.getDouble (StatsConst.R_EXPECTANCY_SCORE), "R") standard R-Expectancy doesn’t consider the length of testing period and number of trades produced. There is a difference when you make for example $2000 per year by making 10 trades, or by making 100 trades. R-Expectancy Score adds a score for trades frequency. It is computed as: R-Expectancy * averageTradesPerYear
RETURN / DD RATIO Dans SQDefault.java, d2 (stats.getDouble (StatsConst.RETURN_DD_RATIO))
Dans SQDefault.java, d2WithPlType (stats.getDouble (StatsConst.AVG_PROFIT_BY_MONTH), combination.getPLType ()) STR QUALITY NUMBER: Dans SQDefault.java, d2 (stats.getDouble (StatsConst.SQN))
Dans SQDefault.java, d2 (stats.getDouble (StatsConst.WINNING_PCT)) Aucune explication nécessaire AVERAGE TRADE: Dans SQDefault.java, d2WithPlType (stats.getDouble (StatsConst.AVG_TRADE), combinaison.getPLType ()) SQN SCORE: Dans SQDefault.java, d2 (stats.getDouble (StatsConst.SQN_SCORE))
Strategy
Wins / Losses Ratio: Dans SQDefault.java, d2 (stats.getDouble (StatsConst.WIN_LOSS_RATIO)) Vous venez d'exprimer le taux de gain sous forme de ratio? AHPR: Dans SQDefault.java, d2 (stats.getDouble (StatsConst.AHPR)) Reportez-vous à ce site, peut-être une formule comme profit / perte / période de détention. Expectancy Dans SQDefault.java, d2 (stats.getDouble (StatsConst.EXPECTANCY))
Dans SQDefault.java, "" + stats.getInt (StatsConst.STAGNATION_PERIOD) C'est un mystère pourquoi les chaînes de caractères vides sont ajoutées.
Payout Ratio (Avg Win/Loss) Dans SQDefault.java, d2 (stats.getDouble (StatsConst.PAYOUT_RATIO)) Z-Score Dans SQDefault.java, d2 (stats.getDouble (StatsConst.Z_SCORE)) Deviation Dans SQDefault.java, d2WithPlType (stats.getDouble (StatsConst.STANDARD_DEV), combination.getPLType ()) Il existe une description de StatsConst.STANDARD_DEV, est-ce un écart type?
Dans SQDefault.java, d2WithPlType (stats.getDouble (StatsConst.STAGNATION_PERIOD_PCT), SQConst.PL_IN_PCT)
Average # of Bars in Trade Dans SQDefault.java, d2 (stats.getDouble (StatsConst.AVG_BARS_TRADE)) Z-Probability Dans SQDefault.java, d2 (stats.getDouble (StatsConst.Z_PROBABILITY)) + "%" Exposure Dans SQDefault.java, d2 (stats.getDouble (StatsConst.EXPOSURE, 0)) + "%" Le pourcentage des actifs financiers détenus qui sont exposés au risque de fluctuations des prix du marché.
Dans SQDefault.java, d2 (Math.pow (stats.getDouble (StatsConst.STABILITY), 4)) Valeur de mesure personnalisée. Un coefficient de la distance entre la «courbe des profits et pertes» et la «ligne droite reliant la première et la dernière transaction». On peut dire que plus la valeur est proche de 1, plus elle est stable. Normalement, c'est r ^ 2, mais Quant Analyzer semble utiliser r ^ 4, donc la différence est facile à comprendre. Je voulais que ce soit plus facile à comprendre, j'ai donc choisi r ^ 16.
Il semble que l'explication soit agaçante, je vais donc la reporter.
Aucune explication nécessaire Dans SQDefault.java, "" + stats.getInt (StatsConst.NUMBER_OF_PROFITS)
Aucune explication nécessaire Dans SQDefault.java, d2WithPlType (stats.getDouble (StatsConst.GROSS_PROFIT), combination.getPLType ())
Aucune explication nécessaire Dans SQDefault.java, d2WithPlType (stats.getDouble (StatsConst.MAX_PROFIT), combination.getPLType ())
Aucune explication nécessaire Dans SQDefault.java, d2 (stats.getDouble (StatsConst.AVG_CONSEC_WIN))
Aucune explication nécessaire Dans SQDefault.java, "" + stats.getInt (StatsConst.NUMBER_OF_LOSSES)
Aucune explication nécessaire Dans SQDefault.java, d2WithPlType (stats.getDouble (StatsConst.GROSS_LOSS), combination.getPLType ())
Aucune explication nécessaire Dans SQDefault.java, d2WithPlType (stats.getDouble (StatsConst.MAX_LOSS), combination.getPLType ())
Aucune explication nécessaire Dans SQDefault.java, d2 (stats.getDouble (StatsConst.AVG_CONSEC_LOSS))
Dans SQDefault.java, ""
Aucune explication nécessaire Dans SQDefault.java, d2WithPlType (stats.getDouble (StatsConst.AVG_WIN), combination.getPLType ())
Aucune explication nécessaire Dans SQDefault.java, "" + stats.getInt (StatsConst.MAX_CONSEC_WINS) Avg # of Bars in Wins Je pense que c'est le nombre de barres que vous chevauchez entre le début de la négociation et le règlement ... (Honnêtement je ne sais pas) Dans SQDefault.java, d2 (stats.getDouble (StatsConst.AVG_BARS_WIN))
Aucune explication nécessaire Dans SQDefault.java, "" + stats.getInt (StatsConst.NUMBER_OF_CANCELED)
Aucune explication nécessaire Dans SQDefault.java, d2WithPlType (stats.getDouble (StatsConst.AVG_LOSS), combination.getPLType ())
Aucune explication nécessaire Dans SQDefault.java, "" + stats.getInt (StatsConst.MAX_CONSEC_LOSS) Avg Bars in Losses Je pense que c'est le nombre de barres que vous chevauchez entre le début de la négociation et le règlement ... (Honnêtement je ne sais pas) Dans SQDefault.java, d2 (stats.getDouble (StatsConst.AVG_BARS_LOSS))
Vous pouvez en savoir beaucoup en vous référant à "return stats.getDouble (StatsConst.STABILITY, 0" dans "GetValue" du fichier dans le même dossier.
QuantAnalyzer4\extend\Snippets\com\strategyquant\extend\DatabankColumns\Stability.java
@Override
public Object getValue(SQResultsGroup strategyResults, String dataType, String direction, String sampleType, String plType) throws Exception {
SQResult result = strategyResults.getResult(SQConst.SYMBOL_PORTFOLIO);
SQStats stats = result.getStats(direction, getGlobalPlType(plType), sampleType);
if(stats==null) throw new StatsMissingException();
return stats.getDouble(StatsConst.STABILITY, 0);
}
Stability
stats.getDouble(StatsConst.STABILITY, 0)
Comme mentionné précédemment, il s'agit du coefficient de corrélation (r ^ 4) entre la "courbe de profits et pertes" et la "ligne droite reliant la première et la dernière transaction".
Symmetry
stats.getDouble(StatsConst.SYMMETRY)
Eh bien, je ne sais pas!
Fittness
strategyResults.getResult(SQConst.SYMBOL_PORTFOLIO)
.getStats(SQConst.DIRECTION_ALL, SQConst.PL_IN_MONEY, SQConst.KEY_SAMPLE_ALL)
.getDouble(StatsConst.FITNESS, 0)
Eh bien, je ne sais pas!
CalmarRatio
stats.getDouble("CalmarRatio", 12)
The Calmar ratio is a comparison of the average annual compounded rate of return and the maximum drawdown risk of commodity trading advisors and hedge funds. The lower the Calmar ratio, the worse the investment performed on a risk-adjusted basis over the specified time period; the higher the Calmar ratio, the better it performed. Generally speaking, the time period used is three years, but this can be higher or lower based on the investment in question. J'écris quelque chose comme un rapport risque-rendement. En quoi est-ce différent du ratio net? Vous pouvez voir que plus il est élevé, mieux c'est. Fondamentalement, je le vois sur une base de 3 ans, mais il semble que cela puisse être court ou long.
Il semble qu'il y ait diverses choses, il peut donc être intéressant de jeter un coup d'œil.
Recommended Posts