Как выдержать мин количество сделок при генетической оптимизации в Ами
Беда генетического оптимизатора в Ами в том, что он находит лучшие наборы параметров, не учитывая количество сделок. Приходится либо колдовать с границами параметров, либо увеличивать сроки оптимизации.
Для себя я нашел такое решение — посчитал новую метрику modified Recovery Factor (я обычно по нему оптимизирую): если количество трейдов меньше 50, то приравнял его -1, иначе он равен Recovery Factor по расчетам ами. Теперь, если этот modified Recovery Factor использовать в качестве цели оптимизации, то получим наборы параметров, которые дают не менее определенного количества сделок за период оптимизации.
Код, показанный ниже, надо просто добавить в конце afl скрипта стратегии:
TotalTrades = 0;
SetCustomBacktestProc("");
if (Status(«action») == actionPortfolio)
{
bo = GetBacktesterObject(); // Get backtester object
bo.Backtest(); // Run backtests
stats = bo.GetPerformanceStats(0); // Get Stats object for all trades
for (trade = bo.GetFirstTrade(); trade; trade = bo.GetNextTrade())
{
TotalTrades++;
}
for (trade = bo.GetFirstOpenPos(); trade; trade = bo.GetNextOpenPos())
{
TotalTrades++;
}
modRF = stats.GetValue(«RecoveryFactor»); // Calculate new metric
if (TotalTrades < 50) // Минимальное количество сделок — 50
{
modRF = -1;
}
bo.AddCustomMetric(«modRF», modRF);
bo.AddCustomMetric(«TotalTrades», TotalTrades);
}
274 |
Читайте на SMART-LAB:
Установили новый купон по выпуску облигаций БО-П13
Друзья, привет! Первый пост в этом году начинаем с хороших новостей — в рамках оферты мы установили новую ставку купона по облигациям серии...
Российский бизнес вдвое увеличил активность на денежном рынке
ПАО «АПРИ» объявляет сбор заявок на новый выпуск облигаций серии БО-002Р-13
ПАО «АПРИ» объявляет сбор заявок на новый выпуск облигаций серии БО-002Р-13
ПАО «АПРИ» сообщает об открытии книги заявок на...
Актуальный состав портфеля и взгляд на рынок 2026: по-прежнему 0% позитива.
Добрый вечер! С момента предыдущего поста, касающегося моего портфеля, прошел квартал. Пришло время актуализировать его состав. Также поделюсь...
amibroker.com/guide/afl/afl_view.php?id=359
www.amibroker.com/guide/h_optimization.html