Обсуждение статьи "Алгоритм оптимизации койотов — Coyote Optimization Algorithm (COA)"

 

Опубликована статья Алгоритм оптимизации койотов — Coyote Optimization Algorithm (COA):

Представляем MQL5-реализацию Coyote Optimization Algorithm: стаи с локальными альфами, медианная тенденция и встроенный кроссовер обеспечивают параллельное исследование областей пространства и контроль преждевременной сходимости. Алгоритм встроен в C_AO и проверен на стандартном стенде и композитном античит-тесте. В статье — код, псевдокод и разбор операторов, позволяющие применить COA для оптимизации параметров торговой системы.

Каждый, кто хоть раз запускал оптимизацию торговой системы, знает это чувство. Пространство параметров огромно: периоды индикаторов, уровни стопов и тейков, фильтры времени и волатильности — даже у скромного советника легко набирается десяток измерений. Полный перебор невозможен физически. Преждевременная сходимость — главный враг любого, кто ищет устойчивые параметры на многоэкстремальном ландшафте, а ландшафт прибыли торговой системы именно таков: изрезан, зашумлён, полон узких пиков и широких пологих плато, которые нас на самом деле и интересуют.

Есть задача оптимизации, есть понимание, что один рой, сходящийся в одну точку, — это лотерея. Напрашивается вопрос: существуют ли алгоритмы, которые умеют исследовать несколько областей пространства параллельно, не теряя при этом скорости сходимости? В нашей серии статей о популяционных алгоритмах оптимизации мы уже разобрали не один десяток метаэвристик — от классических роевых до самых экзотических — и прогнали каждую через единый испытательный стенд: функции Hilly, Forest и Megacity, три размерности, фиксированный бюджет в 10 000 обращений к целевой функции, десять повторений. Такой единый протокол позволяет не верить авторам алгоритмов на слово, а сравнивать всех в равных условиях. Рейтинговая таблица серии не раз показывала, что громкое название и красивая природная метафора ничего не гарантируют.

Сегодняшний гость серии — Coyote Optimization Algorithm (COA), алгоритм оптимизации койотов, предложенный Жулиано Пьерезаном и Леандро душ Сантушем Коэльо в 2018 году. На первый взгляд — очередной зверь в длинном зоопарке метаэвристик. Но у COA есть структурная особенность: популяция в нём изначально разбита на изолированные стаи, каждая из которых живёт своей социальной жизнью, эволюционирует вокруг собственного лидера и лишь изредка обменивается особями с соседями. Это не рой, который дышит как единое целое, — это архипелаг маленьких популяций, естественным образом удерживающий разнообразие. Плюс два механизма, которых нет в типичном рое: коллективная культура стаи, выраженная через медиану (а не среднее — и это важно), и рождение щенков — генетический кроссовер, встроенный прямо в роевую схему.

Автор: Andrey Dik