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