• Оптимизационное пространство (иногда называемое сеткой) – совокупность всех возможных комбинаций значений параметров формирует полное оптимизационное пространство.
• Узел (junction) – наименьшая структурная единица оптимизационного пространства, определяемая уникальной комбинацией значений параметров.
• Вычисление – все процедуры, необходимые для расчета целевой функции для одного узла оптимизационного пространства.
• Полный оптимизационный цикл – совокупность всех вычислений, производимых в процессе поиска оптимального решения (от старта процедуры оптимизации до остановки алгоритма).
• Целевая функция – количественный показатель, выражающий меру полезности определенной комбинации значений параметров с точки зрения разработчика торговой системы (может рассчитываться аналитически или алгоритмически).
• Глобальный максимум – узел, имеющий наибольшее значение целевой функции. Глобальных максимумов может быть несколько.
• Локальный максимум – узел, расположенный на одной из вершин оптимизационного пространства, но имеющий меньшее значение целевой функции, чем глобальный максимум. Локальных максимумов может быть несколько.
• Оптимальное решение – значение параметров и целевой функции узла, на котором остановился алгоритм оптимизации. Оптимальное решение не всегда совпадает с глобальным максимумом. Чем эффективнее методика, тем ближе оптимальное решение к глобальному максимуму.
• Робастность оптимального решения – степень изменчивости целевой функции в той области оптимизационного пространства, которая окружает узел оптимального решения. Робастным считается такое решение, вокруг которого располагаются узлы, не уступающие ему (или уступающие лишь незначительно) по значению целевой функции. Хотя понятие «робастность» имеет широкое применение в статистике, экономике и даже биологии, применительно к оптимизации он не имеет строгой математической формализации.
• Оптимальная область – область оптимизационного пространства, все узлы которой имеют достаточно высокое значение целевой функции (выше определенного порога). Оптимальных областей может быть несколько. Как правило, данные области располагаются вокруг узлов глобального и/или локального максимума. В отдельных случаях оптимальная область представляет собой приподнятое ровное плато без явно выраженных экстремумов.
2.1.2. Оптимизационное пространство
Оптимизационное пространство представляет собой совокупность всех возможных комбинаций значений параметров. Оно определяется тремя факторами:
1. Количеством оптимизируемых параметров (размерность);
2. Диапазоном допустимых значений для каждого параметра;
3. Шагом оптимизации.
Большинство задач оптимизации, представляющих практический интерес для построения автоматизированных торговых систем, являются многомерными. Это означает, что целевая функция рассчитывается на основе многих параметров (то есть имеет более одного аргумента). В отдельных случаях количество оптимизируемых параметров может быть очень большим (хотя в этих случаях многократно возрастает риск переоптимизации, о чем речь пойдет в следующих главах). Поскольку нас интересуют только прямые методы оптимизации (когда значения целевой функции рассчитываются алгоритмически), сложность алгоритма напрямую зависит от размерности целевой функции. Соответственно, сложность решения задачи оптимизации определяется количеством аргументов этой функции, то есть количеством параметров.
Диапазон допустимых значений определяется теми ограничениями, которые разработчик торговой системы накладывает на параметры, участвующие в расчете целевой функции. Например, в главе 1 нами исследовались два параметра – порог критерия и диапазон страйков. В качестве диапазона допустимых значений для первого параметра использовался интервал от нуля до бесконечности. Логика выбора именно такого диапазона заключается в следующем. Поскольку в качестве критерия мы использовали математическое ожидание прибыли, то было вполне естественным не рассматривать ту часть диапазона значений параметра, где ожидаемая прибыль отрицательна. Для параметра «порог критерия» диапазон значений был определен от 0 до 50 %. Нижний предел обусловлен тем, что данный параметр не может быть отрицательным. Верхний же предел объясняется невозможностью практического использования страйков, отстоящих слишком далеко от текущей цены базового актива (в силу их низкой ликвидности и широких спредов).
Наилучшим методом прямой оптимизации является расчет целевой функции для всех допустимых значений параметра (метод полного перебора). Однако на практике такой подход оказывается в большинстве случаев нереализуем по причине того, что количество допустимых значений может быть слишком большим. Если параметр является целочисленным, то количество его значений конечно (в пределах допустимого диапазона, не включающего бесконечности). Тем не менее даже в этом случае полный перебор всех значений может потребовать неоправданно большого количества расчетов и времени. В случае же если параметр является непрерывной величиной, то количество принимаемых им значений бесконечно вне зависимости от диапазона допустимых значений. В такой ситуации необходимо задать некоторый шаг изменения его значения (мы будем называть его «шагом оптимизации») и исследовать параметр, каждый раз изменяя его на величину шага. Чем больше величина шага, тем меньше времени потребуется для оптимизации. Однако при использовании слишком широкого шага возрастает риск пропуска глобального максимума (острый пик может оказаться в промежутке между двумя значениями параметра).
Форма оптимизационного пространства влияет самым непосредственным образом на результаты процедуры оптимизации и на ее эффективность. При одномерной оптимизации (когда имеется всего один параметр) оптимизационное пространство может быть представлено в виде линии с координатами, соответствующими значениям параметра (ось X) и целевой функции (ось Y). Если эта линия имеет единственный глобальный максимум, то целевая функция (и оптимизационное пространство)является унимодальной. Если, помимо глобального максимума, целевая функция имеет один или несколько локальных максимумов, то она называется полимодальной. Если целевая функция имеет приблизительно одинаковые значения на всем диапазоне значений параметра, то она является безмодальной и вряд ли может быть эффективно использована для оптимизации данного параметра.
В случае двумерной оптимизации (когда имеются два параметра) оптимизационное пространство может быть легко представлено в виде поверхности. Такую поверхность удобно изображать в виде топографической карты, оси которой соответствуют параметрам, а высотные отметки – целевой функции. Унимодальная поверхность будет иметь одну вершину, а полимодальная – множество таких возвышений. Более или менее плоская поверхность является безмодальной и малопригодной для оптимизации.
В трехмерном случае моды представляют собой области высоких значений всех трех параметров. Их можно изобразить в трехмерном пространстве, как участки с повышенной плотностью. (Хотя такое представление является достаточно условным и не совсем точным.) В случаях с более высокой размерностью невозможно представить оптимизационное пространство топологически, но это и необязательно, поскольку расчетные алгоритмы не нуждаются в нашем воображении.
Большинство методов оптимизации лучше всего приспособлены к поиску глобального максимума унимодального пространства. При наличии в пространстве параметров локальных максимумов, многие методы достигают решения, которое может не оказаться наилучшим.
Оптимизационное пространство обладает рядом свойств, оказывающих существенное влияние на поиск оптимальных решений. Среди них следует отметить два основных. Первое – это гладкость оптимизационного пространства. В двумерном случае гладкость обозначает отсутствие большого количества небольших локальных максимумов, делающих поверхность «холмистой». В предельных случаях оптимизационное пространство может быть либо абсолютно гладким (с единственным экстремумом), либо полностью изломанным с большим количеством острых пиков и впадин (в двумерном случае). Очевидно, гладкое пространство является предпочтительным с точки зрения эффективности оптимизации. Холмистое пространства повышает риск остановки процедуры оптимизации на локальном экстремуме. Далее мы покажем (раздел 2.7.2), что чем более гладким является пространство, тем выше эффективность применения различных методов оптимизации и тем больше вероятность нахождения наилучшего решения.
Второе важное свойство – это устойчивость оптимизационного пространства. Под устойчивостью мы понимаем нечувствительность рельефа пространства (или, другими словами, неизменность формы пространства) к небольшим изменениям параметров, которые не участвуют в оптимизации,