К вопросу об управлении портфелем - Д. А. Молодцов
1.Введение.
Проблема управления портфелем финансовых инструментов является обычно достаточно важной и сложной задачей для любого учреждения,
занимающегося управлением финансовыми потоками. Рациональные способы решения этой проблемы требуют быстрой обработки достаточно
больших объемов информации. Чем быстрее будет обработана информация, и чем больший объем ее будет проанализирован, тем лучше, вообще
говоря, будут финансовые результаты организации.
Компьютер, который на первых этапах использовался для быстрого поиска информации, для графической визуализации различных данных, для
вычисления различных вспомогательных функций и т.п., теперь должен все больше брать на себя расчеты по выработке окончательных
рекомендаций по принятию решений. Все этапы принятия решений, которые могут быть формализованы и которые не требуют выбора
человека, необходимо передать компьютеру. При создании соответствующей программы человек получит возможность освободиться от
рутинных расчетов и сконцентрироваться на проблеме выбора факторов, которые только он и может задавать.
Реализация этой задачи требует четкой формализации, как самой задачи управления портфелем, так и подходов к ее решению. В настоящей
работе излагается один из возможных подходов к формализации задачи управления портфелем и формализации процесса ее решения.
Предлагаемая методика явилась основой для создания компьютерной программы «Стратегия на бирже», предназначенной для частичной
автоматизации управления портфелем. Описание этой программы и некоторые результаты исследования, полученные с ее помощью, также
приводятся в работе.
2.Методология сравнения и отбора стратегий.
В настоящей работе мы будем рассматривать не полный набор существующих финансовых инструментов, а только часть инструментов,
которые удовлетворяют следующим требованиям.
? Время жизни финансового инструмента не ограничено.
? Инструмент свободно продается и покупается по ценам покупки и продажи, которые формируются на бирже.
? Все прибыли от инструмента получаются за счет покупки и продажи, никаких купонных или иных выплат по инструменту не предполагается.
? Инструмент считается ликвидным, т.е. цены покупки и продажи таковы, что операции по ним могут быть осуществлены достаточно быстро.
Примерами инструментов, удовлетворяющих таким требованиям, являются валюты, акции, если прибыль хотят получить только за счет игры
на ценах, различные индексы, драгоценные металлы и т. д. Конечно, требуемые свойства финансовых инструментов обеспечиваются
соответствующими рынками.
Лицо или организацию, занимающиеся управлением портфелем, мы будем называть Игроком. Игрок, обладая некоторым начальным капиталом
и имея возможность брать кредиты, может покупать и продавать финансовые инструменты. Целью Игрока является получение возможно
большей прибыли от этих операций. Такова неформальная постановка задачи управления портфелем.
Основными вопросами, возникающими при формализации задачи, являются следующие:
1. Что является стратегией Игрока?
2. Как сравнивать различные стратегии Игрока, т.е. как определяется отношение «лучше» на множестве стратегий?
3. Какие стратегии следует выбирать?
Рассмотрим сначала первый вопрос. В каждый момент времени Игрок имеет возможность продать некоторое количество каждого инструмента,
а затем купить некоторое количество каждого инструмента. Конечно, количество покупаемого и продаваемого инструмента ограничено
естественными балансовыми ограничениями с учетом возможного кредитования. Стратегией Игрока мы будем называть отображение,
аргументами которого являются время и вся информация, доступная игроку к этому моменту времени. Значением этого отображения являются
объемы продажи и покупки каждого инструмента в текущий момент времени.
Предполагается, что доступной считается вся информация о ценах на все инструменты, начиная с некоторой даты и вплоть до текущего
момента времени. Этот объем информации считается минимальным, но в принципе возможно построение стратегий с привлечением
информации о других факторах, значения которых будут доступны Игроку к текущему моменту времени. Такими факторами могут быть,
например, объемы продаж инструментов, экспертная оценка политического состояния, показатели солнечной активности и т. д.
Подчеркнем еще раз, что стратегией Игрока является не значение конкретного выбора объема продаж и покупок, а правило формирования этих
объемов.
Перейдем теперь к проблеме сравнения стратегий. Вообще говоря, сравнение стратегий полностью зависит от точки зрения Игрока и
навязывать ему какие либо способы сравнения мы не можем, но учитывая стремление Игрока получить возможно большую прибыль, мы
можем предложить некоторые способы формализации этой цели. Если Игрок принимает такую формализацию, то он может использовать
программу, основанную на этом подходе. Если Игрока не удовлетворяет предлагаемый подход, то ему следует воспользоваться другими
существующими формализациями либо построить свою формализацию сравнения стратегий.
Рассмотрим более детально, чем принципиально отличаются различные подходы к сравнению стратегий. Предположим, что зафиксированы
следующие объекты:
? Отрезок времени, на котором производятся торговые операции.
? Стратегия Игрока.
? Начальный капитал Игрока.
? Условия кредитования (кредитное плечо) и условия платы за торговые операции (комиссионные сборы и цена сделки).
? Цены покупки и цены продажи на все инструменты на всем рассматриваемом отрезке времени.
В этих условиях нетрудно подсчитать прибыль, которую принесет данная стратегия на выбранном отрезке времени. Основная проблема,
которая стоит перед Игроком какой отрезок времени нужно выбрать для подсчета прибыли при сравнении стратегий.
Поскольку Игрока интересует будущая прибыль, то, казалось бы, вполне естественно в качестве временного отрезка, на котором производятся
торговые операции, выбрать некоторый будущий отрезок времени. Но тогда возникает принципиальный вопрос, при каких ценах вычислять
прибыль? Поскольку будущие цены не известны, то необходимо принять какие-то гипотезы относительно поведения и значения цен.
В этой ситуации в основном применяется два подхода. Первый состоит в том, что цены считаются случайными, а закон их распределения
подсчитывается по имеющейся статистике. Математическое ожидание прибыли и дисперсия прибыли, трактуемая как мера риска, являются
основными величинами, используемыми для сравнения стратегий.
Такой подход возможен, но обладает рядом недостатков. Во-первых, трудно проверить, можно ли с достаточной точностью считать цены
случайными величинами. Во-вторых, закон распределения случайной величины меняется достаточно медленно и поэтому на этой основе
нельзя построить стратегии, достаточно оперативно реагирующие на изменение цен инструментов или изменение другой информации.
Второй способ формулировки гипотезы о ценах состоит в построении прогноза цен на выбранном будущем отрезке времени. Если способ
прогнозирования цен зависит от стратегии, то прибыль на каждой стратегии подсчитывается для соответствующего прогноза цен. После этого
значение прибыли можно использовать для сравнения стратегий.
Если прогнозирование дает не один вариант цен, а некоторое множество, то опять возникает задача с неопределенными факторами и Игрок
должен определять способы сравнения стратегий в условиях неопределенности.
Основной проблемой во втором способе сравнения стратегий является построение хорошей системы прогнозирования. Если такая система
прогнозирования построена, то собственно проблема сравнения и выбора стратегий управления не возникает, т. к. при достаточно точно
известных будущих ценах выбор объемов покупок и продаж является достаточно простой задачей. Как показывает практика, построение
достаточно точного прогноза цен на рыночные инструменты является крайне сложной задачей. Если же прогноз неточен, то метод управления
портфелем, основанный на нем, является весьма рискованным.
Указанные проблемы естественно приводят к мысли об отказе сравнения стратегий на будущих интервалах времени и к использованию для
сравнения стратегий прошлых интервалов времени.
На первый взгляд такое сравнение стратегий может показаться не вполне естественным, ведь необходимо получить прибыль в будущем, а не в
прошлом. Обычно против такого способа сравнения стратегий можно услышать возражения, что лучшая стратегия на прошлых данных может
быть неудовлетворительной в будущем. Против этого, конечно, ничего возразить нельзя. Отметим только, что эти соображения применимы к
любому способу отбора стратегий. Любой способ отбора базируется (если вообще требует статистики) только на прошлых данных. Даже если
мы подсчитываем прогнозируемую прибыль, то сам прогноз все равно базируется на данных статистики, т.е. на прошлых данных.
По сути дела, выбор стратегии управления портфелем - это попытка уловить какие-то закономерности в поведении цен на рынке.
Единственная методология поиска закономерностей заключается в проверке закономерностей на достаточно большом объеме прошлых
реальных данных и, в случае, когда характеристики этих закономерностей удовлетворительны, вера в то, что в будущем характеристики этих
закономерностей будут примерно такими же, как в прошлом. Никаких гарантий выполнения закономерностей в будущем никто дать не может.
Даже фундаментальные физические законы имеют точно такое же основание. Многократная проверка закона на прошлых данных и вера в то,
что в будущем он будет выполняться, это все что может предложить наука для обоснования закономерности.
Поэтому мы будем рассматривать поиск стратегии управления портфелем, как поиск закономерности, присущей рассматриваемому рынку.
Подсчет прибыли для выбранной стратегии управления на некотором прошлом отрезке времени при реальных ценах инструментов, который
мы будем называть прогонкой стратегии, теперь можно рассматривать, как аналог опыта для проверки физической закономерности. Отличие
стратегии управления от физической закономерности состоит в том, что физическая закономерность выполняется практически для всех опытов,
а стратегия управления дает на различных прогонках менее устойчивые результаты. Однако это различие относится к способу оценки опытов, а
не к принципиальному подходу оценки на опытах. Здесь конечно для законности выполнения прогонок необходимо предполагать, что объемы
операций Игрока достаточно малы по сравнению с общими объемами операций рынка и операции Игрока не могут вызвать существенного
влияния на цены.
Такой подход к сравнению стратегий вполне естественен и с практической точки зрения. Любой разумный Игрок, прежде чем применять какую
либо стратегию на практике, сначала проверит ее на прошлых реальных данных, т.е. проделает ряд прогонок.
Кроме этого проведение прогонок намного проще технически, т.к. не требует решения сложных оптимизационных или даже максиминных
задач, которые возникают при стохастическом подходе или при неоднозначном прогнозировании.
Итак, прогонка стратегии на прошлых данных принимается за основу сравнения стратегий. Однако остаются еще следующие вопросы:
? Какой объем прогонок достаточен для сравнения стратегий управления портфелем?
? По каким критериям и как конкретно сравнивать стратегии?
Ответ на первый вопрос зависим от того, какой объем прогонок необходим для того, чтобы у Игрока появилось достаточно сильное чувство
веры в то, что и в будущем результаты будут аналогичными, полученным при прогонках. Отсюда понятно, что ответ на этот вопрос сугубо
индивидуален и отражает различия в характерах различных игроков. Более рискованные Игроки могут ограничиться прогонкой по нескольким
месяцам прошлых данных, более осторожные сделают прогонку по нескольким годам. Таким образом, выбор объемов прогонки целиком
зависит от индивидуальности Игрока и отражает его представление о риске и надежности.
Вопрос о критериях сравнения, строго говоря, также окончательно решается только самим Игроком, и мы можем лишь рекомендовать
некоторые критерии, которые с нашей точки зрения целесообразно учитывать при сравнении стратегий. Такими критериями, вычисляемыми
по результатам прогонки, являются следующие:
1. Эффективность стратегии, вычисляемая в годовых процентах.
2. Минимальное значение общего капитала за период прогонки, в процентах от начального капитала.
3. Максимальное значение общего капитала за период прогонки, в процентах от начального капитала.
4. Показатель монотонности изменения капитала за период прогонки, вычисляемый как отношение прибыли к полному изменению капитала на
этом периоде в процентах (в финансовых вычислениях полное изменение функции часто называют волатильностью).
5. Отношение числа прибыльных сделок к числу убыточных в процентах.
Проведение нескольких прогонок и наличие нескольких критериев делает задачу сравнения стратегий по сути многокритериальной и поэтому
для определения формального отношения доминирования стратегий можно воспользоваться одним из наиболее распространенных способов.
Можно, например, считать что стратегия доминирует другую стратегию, если значения всех критериев на ней строго больше соответствующих
критериев на другой стратегии. В другом варианте определения доминирования все аналогично, но значения всех критериев должны быть
больше или равны соответствующих значений на другой стратегии и, хотя бы для одного критерия, значение должно быть строго больше.
Другой путь сравнения стратегий состоит в формировании из многих критериев одного единого критерия. С помощью этого единого критерия
и будет производиться сравнение стратегий.
Учитывая сказанное, проблему сравнения стратегий управления портфелем можно считать в принципе аналогичной сравнению стратегий в
теории многокритериальных задачах. Однако проблема выбора оптимальных (или рациональных) стратегий, на базе введенных отношений
доминирования стратегий, возникающая в рассматриваемой задаче, имеет свои весьма существенные особенности.
В теории многокритериальных задач в качестве множества оптимальных стратегий обычно рассматривают множество недоминируемых
стратегий. При этом множество исходных или допустимых стратегий считается заданным.
В нашем случае ситуация осложняется следующими обстоятельствами. Хотя стратегия управления портфелем определена так, что может
использовать только прошлую информацию по отношению к текущему моменту времени, но при проведении оптимизации
(однокритериальной или многокритериальной) мы подбираем в некотором смысле наилучшую стратегию, используя информацию о ценах на
всем интервале прогонки.
Таким образом, оптимальные стратегии, хотя явно не используют информацию о будущих ценах инструментов, но, по сути, строятся с
использованием информации обо всех ценах на интервале прогонки. Это обстоятельство может существенно подорвать веру в то, что на других
участках данных, прошлых или будущих, но на которых еще не проводились прогонки, стратегия будет давать приемлемые результаты. Для
решения этой проблемы можно предложить два подхода.
Первый подход заключается в том, что после отбора множества оптимальных или рациональных стратегии на базе некоторых интервалов
прогонки, эти оптимальные стратегии последовательно подвергаются проверке на других, достаточно больших, интервалах прогонки, которые
могут быть различными для различных стратегий. Окончательно принимаются к практическому применению только те оптимальные
стратегии, которые прошли эти дополнительные проверки.
Недостатком этого подхода являются большие объемы необходимых прогонок, что с одной стороны требует больших затрат машинного
времени, а с другой стороны ставит под вопрос осмысленность поиска закономерности, т. к. закономерности могут изменяться и на очень
больших интервалах может не существовать удовлетворительной единой закономерности (стратегии).
Второй подход к повышению веры в будущую эффективность найденной стратегии заключается в том, чтобы изначально сузить класс
допустимых стратегий. Чем в более узком классе стратегий удастся найти стратегию, дающую хорошие результаты на выбранных интервалах
прогонки, тем больше вера в эффективность этой стратегии в будущем.
Если для реализации первого подхода требуется только изменение Игроком своих принципов отбора стратегий и не требуется создания
дополнительного программного обеспечения, то реализация второго подхода тесно связана с построением программного обеспечения. Для
возможности варьирования класса допустимых стратегий в программе должны быть предусмотрены возможности по формированию таких
классов. На первом этапе создания программы, эта задача была упрощена, и в программу был заложен только один класс допустимых
стратегий. Таким образом, выбор класса допустимых стратегий возможен только путем сужения исходного класса стратегий управления,
заложенного в программе. Описанию этого исходного класса стратегий посвящен следующий параграф.
3.Класс допустимых стратегий управления.
При выборе исходного допустимого класса стратегий управления портфелем присутствует две противоречивых тенденции. Первая состоит в
желании расширить этот класс, так как чем шире класс допустимых стратегий, тем более эффективную стратегию в нем можно найти. Вторая
тенденция состоит в желании сузить класс допустимых стратегий, так как чем шире класс допустимых стратегий, тем меньше веры в будущую
эффективность найденной стратегии. К сожалению пока не удалось формализовать выбор класса, учитывающий эти тенденции и поэтому
выбор исходного класса допустимых стратегий в программе «Стратегия на Бирже» носит неформальный характер.
Основные идеи, использованные при построении этого класса, несколько отличаются от традиционного взгляда на принципы управления
портфелем. Довольно часто портфель используется, прежде всего, для снижения рискованности вложений. Для этого средства размещаются
одновременно в различных инструментах, руководствуясь правилом о том, что не следует все яйца помещать в одну корзину.
Вместе с тем портфель предоставляет возможность существенно увеличить эффективность вложений за счет отказа от приведенного правила.
Основная идея, на которой базируется такое увеличение эффективности, состоит в помещении средств в каждый момент времени в наиболее
эффективный на данный момент инструмент. Такой подход не совпадает с общепринятым в техническом анализе соглашением о том, что
покупать нужно в точках минимума цены инструмента, а продавать в точках максимума цены. Для управления портфелем этот принцип не
имеет места.
Для наглядности приведем пример с конкретными числами.
Пусть у нас имеется возможность покупать и продавать три ценные бумаги, покупка и продажа доступна только в четыре момента времени t =
0,1,2,3. В начальный момент времени имеется 1 000 рублей. Цена покупки и цена продажи одна и та же для каждого момента времени t и для
каждой ценной бумаги i и обозначена a(i,t). Значения цен заданы следующим образом:
a(1,0)=1 000; a(1,1)=1 005; a(1,2)=1 006; a(1,3)=1 007;
a(2,0)=1 000; a(2,1)=1 001; a(2,2)=1 006; a(2,3)=1 007;
a(3,0)=1 000; a(3,1)=1 001; a(3,2)=1 002; a(3,3)=1 007.
Легко видеть, что для любой ценной бумаги цены, как функции времени, являются возрастающими и, следовательно, классический
технический анализ рекомендует в начальный момент времени покупать каждую бумагу, а в последний момент продавать. При таком
поведении безразлично, в какую ценную бумагу вкладывать деньги, т.к. начальные и конечные цены у всех бумаг одинаковы. Если закупить,
например, первую бумагу на 1000 рублей, то прибыль составит 7 рублей.
Рассмотрим теперь другую стратегию поведения. В момент t=0 покупается первая бумага на 1 000 рублей. В момент t=1 первая бумага
продается и покупается вторая бумага. В момент t=2 вторая бумага продается и покупается третья бумага. В момент t=3 продается третья бумага.
Нетрудно видеть, что прибыль такой стратегии составляет 15 рублей, что более чем в два раза выше, чем прибыль на стратегии
рекомендованной техническим анализом.
Концентрация средств по наиболее эффективным направлениям вложения средств является типичным результатом для многих линейных задач
распределения ресурсов. Если считать цены инструментов известными на всем протяжении прогонки, то максимизация прибыли от
управления портфелем также является линейной задачей. Эти соображения, конечно, не могут быть формальным доказательством
оптимальности выбранного исходного класса допустимых стратегий, но могут рассматриваться как мотивация выбора именно такого класса.
Итак, основа класса допустимых стратегий это принцип помещения средств в наиболее эффективный на данный момент инструмент. Наиболее
эффективны те инструменты, цены на которые будут наиболее сильно меняться на следующем интервале принятия решений. К сожалению
будущие цены неизвестны, и поэтому представление о поведении цен в будущем можно строить только на базе информации о прошлых ценах.
Задача нахождения наиболее меняющихся в будущем инструментов напоминает задачу прогнозирования цен, но в действительности она много
проще. Эта задача не требует достаточно точного нахождения самих цен, а предполагает лишь упорядочение их скоростей изменений, даже не
требуя более или менее точного нахождения истинных скоростей изменения цен.
Для решения задачи сравнения эффективностей пользователю предлагается каждому инструменту из портфеля поставить в соответствие
функцию из предлагаемого списка, которая и будет являться оценкой для истинной эффективности и называться функцией эффективности.
Следует отметить, что значением функций эффективности является не число, а числовой интервал. Это позволяет более гибко строить процесс
сравнения эффективностей и учитывать приближенный характер самой функции эффективности. Кроме возможности выбора функций
эффективности из списка пользователь может задавать значения ряда параметров для каждой функции.
Поскольку функции эффективности являются только приближенной оценкой для истинной эффективности и могут с ней не совпадать, то
необходимо предусмотреть ряд механизмов для предотвращения убытков от неточного нахождения истинной эффективности.
Одним из таких механизмов в программе является механизм, названный останов потерь (Stop Loss). Работа этого механизма организована
следующим образом. В каждый момент времени, для каждого инструмента из портфеля, для каждого типа позиций (длинные и короткие) по
выбранной Игроком функции останова потерь (для этого инструмента) вычисляется число величина останова. Для каждого инструмента и
каждого типа позиций подсчитывается текущая оценка капитала открытых позиций, а также максимальная оценка капитала открытых позиций
за период с момента открытия первой незакрытой на текущий момент позиции до текущего момента. Если разность между максимальным
капиталом и текущим капиталом больше, чем величина останова, умноженная на максимальный капитал и деленная на 100, то вырабатывается
команда к закрытию всех позиций данного типа по этому инструменту. Другими словами механизм останова потерь не дает уменьшиться
достигнутому выигрышу больше чем на определенный величиной останова процент
Другим механизмом предотвращения потерь, реализованных в программе, является механизм останов границ (Stop Profit). Он устроен
следующим образом. В каждый момент времени, для каждого инструмента по выбранной Игроком функции останова границ (для этого
инструмента) вычисляются два числа: верхняя и нижняя границы цены. Если в следующий момент времени цена продажи превышает верхнюю
границу цены, вычисленную в предыдущий момент, то вырабатывается команда закрытия длинных позиций по этому инструменту.
Соответственно, если цена покупки меньше нижней границы цены, то вырабатывается сигнал к закрытию коротких позиций.
Игрок может для каждого инструмента выбирать свои функции останова потерь и останова границ из списка допустимых функций, а также
выбирать параметры, входящие в эти функции.
Мы описали все механизмы, которые задаются для каждого инструмента. Опишем теперь механизмы, имеющие общий характер и задаваемые
для всего портфеля в целом.
Первым общим механизмом, направленным на предотвращение убытков, вызванных неправильным определением инструмента для вложения
средств, является механизм экстремального выбора.
Смысл работы этого механизма заключается в том, что свободные в данный момент средства размещаются не только в инструмент с
максимальной эффективностью, но и в инструменты, имеющие близкую к максимальной эффективность. Формально этот механизм работает
следующим образом. По функции экстремального выбора, задаваемой Игроком, в каждый момент времени вычисляется некоторое число, также
называемое параметр выбора. Подсчитывается максимум из двух величин: максимум из всех положительных нижних эффективностей (левая
граница интервальной функции эффективности) и максимум из модулей всех отрицательных верхних эффективностей (правая граница
интервальной функции эффективности). Далее эта величина уменьшается на процент, определяемый параметром выбора, и получается
экстремальная граница.
Все инструменты, для которых либо положительная верхняя эффективность меньше экстремальной границы либо модуль отрицательной
верхней эффективности меньше экстремальной границы, не рекомендуются к открытию позиций (в некоторых вариантах рекомендуется
закрытие позиций). Те инструменты, для которых положительные верхние эффективности превышают экстремальную границу, рекомендуются
к открытию длинных позиций. Если же модуль нижней отрицательной эффективности превышает экстремальную границу, то рекомендуется
открывать короткие позиции по этому инструменту.
Следующий общий механизм порог эффективности. Он не допускает открытие позиций с низкой эффективностью, соответствующей
инструменту. Алгоритм работы этого механизма весьма прост. По функции порога эффективности вычисляется величина порога
эффективности. Все инструменты, для которых модуль эффективности меньше величины порога эффективности, не рекомендуются для
открытия позиций. Здесь, конечно, сравнения значений эффективности понимаются в интервальном смысле. Отметим, что даже если
эффективность инструмента максимальна среди остальных инструментов, но эта эффективность меньше величины порога эффективности, то не
будет выработано рекомендаций по открытию позиций по этому инструменту.
Еще один общий механизм страховой фонд. Этот механизм фактически служит для управления кредитным плечом в процессе прогонки.
Свободные деньги в данный момент времени в соответствии со значением функции страхового фонда делятся на две части. Первая служит
страховым фондом, а вторая часть предназначается для открытия позиций.
Следующий общий механизм распределение средств. Этот механизм определяет, каким образом средства, выделенные на открытие позиций,
распределяются между инструментами, рекомендованными для открытия позиций. Пока в программе только одна функция распределения
средств, которая распределяет средства примерно равномерно. По желанию пользователей могут быть добавлены и другие способы
распределения средств.
Последний общий механизм выработка рекомендаций. В каждый момент принятия решений программа вырабатывает различные сигналы об
открытии и закрытии позиций от различных механизмов: от функций эффективности, от функций останова потерь, от функций останова
границ. Способы формирования окончательных рекомендаций из всех этих сигналов могут быть различными, их выбор и определяет механизм
выработки рекомендаций.
Итак, каждая стратегия допустимого класса управлений портфелем описывается выбором следующих функций:
1. Функция эффективности.
2. Функция останова потерь.
3. Функция останова границ.
4. Функция экстремального выбора.
5. Функция порога эффективности.
6. Функция страхового фонда.
7. Функция распределения средств.
8. Функция выработки рекомендаций.
Первые три функции выбираются для каждого инструмента из портфеля, остальные выбираются для всего портфеля.
4. Описание программы «Стратегия на Бирже».
Идеология сравнения стратегий и описанный класс допустимых стратегий управления были реализованы в компьютерной программе
«Стратегия на Бирже». По своей структуре программа естественным образом распадается на два блока. Первый блок предназначен для
проведения аналитических исследований стратегий управления портфелем с помощью проведения прогонок.
Второй блок предназначен для работы на бирже в режиме реального времени. Здесь по информации о ценах, по выбранной стратегии и по
текущей информации о сделках Игрока вырабатываются рекомендации по открытию и закрытию позиций.
Рассмотрим более подробно структуру и функциональные возможности каждого блока.
Первый блок состоит из трех основных окон.
1. Окно базы данных.
2. Окно среды.
3. Окно стратегии.
При включении программы в окно базы данных автоматически загружается база данных, выбранная по умолчанию. Пользователь может
изменить название базы данных по умолчанию и может загрузить любую другую базу с нужным форматом. База данных должна быть в формате
dBase и содержать одно обязательное поле DATE с моментами времени котировок. Моменты времени должны быть упорядочены, но никакой
периодичности от них не требуется.
Пользователю также доступно любое редактирование текущей базы данных. Вся дальнейшая работа, как в первом блоке, так и во втором блоке
происходит с текущей базой данных. В окне среды формируется среда стратегии, т.е. задаются инструменты, из которых состоит портфель, поля
базы данных, содержащие цены покупки и продажи, комиссионные сборы, размер минимального лота, название основной валюты и другая
вспомогательная информация. В этом окне пользователь может редактировать и сохранять любые среды. Внешний вид окна среды представлен
на рисунке.
Окно стратегии является основным в первом блоке. В этом окне пользователь может создавать, редактировать, сохранять и загружать
стратегии. Для создания стратегии необходимо задать ее имя, вставить в стратегию некоторую среду, выбрать все функции, описывающие
стратегию и задать параметры этих функций. Следует отметить, что в процессе использования программы от пользователей поступают
пожелания по включению в список возможных функций различных дополнений, поэтому программа находится в постоянном развитии.
Приведем описание текущего состояния банка функций, описывающих стратегию.
Список возможных функций эффективности:
1. Линейный тренд.
2. Квадратичный тренд.
3. Тройной линейный тренд.
4. Линейный по тикам.
5. Тройная средняя.
6. Полоса.
7. Поддержка.
Линейный тренд находится с помощью решения задачи минимизации дисконтированного среднеквадратичного отклонения линейной функции
от реальных цен, заданных на некотором предшествующем отрезке времени по отношению к текущему моменту. Параметрами в этой функции
являютя длина интервала времени, коэффициент дисконтирования и разброс. Значение эффективности получается как сумма углового
коэффициента найденной линейной функции и интервала [-d,d], умноженного на разброс. Через d здесь обозначена величина найденного
среднеквадратичного отклонения.
Линейный по тикам отличается от линейного тренда только тем, что предшествующий отрезок времени задается не длиной интервала, а
количеством тиков информации.
Квадратичный тренд аналогичен по структуре линейному тренду, но вместо линейной функции используется квадратичная функция.
Тройной линейный тренд подсчитывается, как минимальный интервал, содержащий значения трех линейных трендов, вычисленных на
различных интервалах времени.
Тройная средняя подсчитывается следующим образом. Сначала вычисляются три осредненные цены инструмента с различными параметрами
осреднения. Затем, при выполнении определенных соотношений между этими тремя средними, формируются значения эффективности,
численно равные линейному тренду от одного из осреднений.
Полоса и поддержка формируются из решения задачи определения полосы минимальной ширины, содержащей указанный участок цен
инструмента. Разница между ними заключается в подсчете ширины. В функции поддержки ширина вычисляется, через перпендикулярное к
полосе сечение, а в функции полосы рассматривается вертикальное сечение.
Функции останова потерь выбираются пользователем из следующего списка.
1. Постоянная.
2. По волатильности.
3. По тик волатильности.
Первая функция определяет величину останова постоянной на всем интервале прогонки. Вторая функция определяет величину останова,
равной коэффициенту, умноженному на волатильности цены или логарифма цены на некотором предшествующем текущему моменту интервале
времени. Третья функция аналогична второй, но интервал времени определяется по тикам информации. На математическом языке
волатильность функции это просто полное изменение функции на выбранном интервале.
Функция останова границ может выбираться из следующего списка.
1. Постоянная.
2. По волатильности.
3. По тик-волатильности.
4. По волатильности Ln.
5. По прошлому.
6. По успеху.
Первая функция задает постоянный интервал цен. Функции со второй по четвертую определяют интервал цен, как сумму цены инструмента
плюс-минус волатильность, умноженная на коэффициент. Волатильность подсчитывается либо от цены, либо от натурального логарифма
цены.
Функция «По прошлому» определяет интервал цен, как минимальный интервал, содержащий все цены инструмента на предшествующем
промежутке.
Последняя функция строит интервал цен из расчета достижения определенного процента роста капитала на позициях по этому инструменту.
Все функции общего типа, кроме функции выработки рекомендаций, могут принимать пока только одно значение быть постоянными.
Функция выработки рекомендаций выбирается из следующего списка.
1. По план-прибыли.
2. По эффективности.
3. По эффективности консервативно.
4. Открытие по эффективности.
Первые три функции реализуют различные варианты организации сигналов к открытию и закрытию позиций из сравнения значений
эффективности инструментов. Четвертая функция отличается тем, что после сравнения значений эффективности инструментов формирует
только сигналы к открытию позиций и никогда не формирует сигналы к закрытию позиций. При ее выборе все позиции закрываются только по
сигналам останова потерь или останова границ.
Завершение формирования стратегии состоит в выборе параметров функций. После окончания формирования функции пользователь может
прогнать построенную стратегию по некоторому интервалу базы данных. Для этого необходимо задать границы прогонки (по умолчанию они
ставятся максимально возможными), задать начальный капитал и выбрать условия прогонки (с полным отчетом или нет).
Получение полного отчета требует большого количества оперативной памяти и поэтому при прогонке больших интервалов базы данных лучше
проводить прогонку без полного отчета. Следует заметить, что даже без полного отчета программа предоставляет полную информацию о всех
совершенных сделках. После прогонки программа выдает следующую краткую информацию о прогонке:
1. Абсолютное значение прибыли.
2. Эффективность стратегии в годовых процентах на интервале прогонки.
3. Значение максимального капитала за время прогонки в процентах к исходному капиталу.
4. Значение минимального капитала за время прогонки в процентах к исходному капиталу.
5. Количество прибыльных сделок.
6. Количество убыточных сделок.
7. Общее количество сделок.
8. Количество закрытий позиций по сигналу стоп потерь.
9. Количество закрытия позиций по сигналу стоп границ.
10. Время счета прогонки.
11. Показатель монотонности роста капитала.
Общий вид окна стратегии выглядит следующим образом
Если прогонка осуществлялась с полным отчетом, то пользователю доступна любая информация о значениях различных факторов в каждый
момент прогонки. К их числу относятся
? Сигналы от функции эффективности, от останова потерь и от останова границ.
? Значения функций эффективности, функции останова потерь, функции останова границ.
? Оценка стоимости открытых позиций по каждому инструменту.
? Цены на инструменты, с учетом комиссионных.
? Распределение денег по инструментам.
? Окончательные рекомендации по каждому инструменту.
В отдельной таблице представлена информация о совершенных сделках. Эта информация может быть сохранена на жестком диске.
Для получения более подробной информации в графическом представлении предусмотрено специальное окно.
Выбранная информация может отображаться на двух синхронизированных по времени графиках, причем на каждом графике возможно
построение до трех выбранных факторов в общем масштабе. Это окно имеет следующий вид
Для облегчения подбора удовлетворяющих пользователя значений параметров для выбранных функций, описывающих стратегию, в программе
предусмотрен режим параметрической оптимизации. Пользователь может выбрать несколько переменных величин, привязать к ним параметры
функций, задать границы изменений переменных, тип переменных и программа будет осуществлять случайный поиск наилучших параметров.
Критерий отбора параметров формируется пользователем, как взвесь трех показателей: эффективность стратегии, монотонность капитала,
процент прибыльных сделок. Остановка поиска происходит либо по окончанию времени оптимизации, либо по достижению определенных
значений для выбранных пользователем критериев. После нахождения подходящей стратегии пользователь должен сохранить ее и после этого
переходить к следующему блоку применению этой стратегии в режиме выработки рекомендаций в реальном времени.
Главным условием работы этого режима является подкачка в базу данных, которая используется программой, поступающих в реальном времени
свежих данных. Реализация этой подкачки зависит от той системы поступления данных, которая используется пользователем.
Если такая подкачка работает, то для работы стратегии в режиме рекомендаций в реальном времени нужно только задать начальный капитал и
выбрать в меню пункт «Старт». Программа выдает полный набор рекомендаций со всеми сигналами от всех механизмов и по всем
инструментам. По желанию пользователя можно выдавать сокращенную информацию со звуковой и цветовой сигнализацией о изменении
значений выбранных показателей. Рекомендации выдаются программой в трех случаях: при поступлении новой информации в базу данных,
при прохождении срока принятия решений, который задает пользователь, и при нажатии на кнопку «Подсчет Рекомендаций».
Поскольку реальные сделки могут совершаться по ценам несколько отличающимся от тех, которые были в базе данных на момент выдачи
рекомендаций, то предусмотрена специальная панель для ввода совершенных сделок. Вся информация об открытых позициях и о всех
совершенных сделках также доступна пользователю в соответствующих таблицах. Кроме этого пользователь может получить полную
информацию о динамике изменения портфеля и всех остальных показателях.
В случае, если компьютер необходимо выключить, а часть позиций осталась незакрытой, то пользователь может сохранить состояние всех
открытых сделок и при включении компьютера загрузить это состояние для продолжения работы.
При необходимости в процессе проведения торгов изъять некоторое количество средств, то программа определяет наиболее подходящие
открытые позиции для закрытия и получения необходимых средств.
5. Некоторые результаты.
В этом параграфе будут приведены некоторые результаты поиска стратегий управления портфелем с помощью программы «Стратегия на
Бирже» для различных рынков. Конечно, эти примеры далеко не полны и не отражают все аналитические результаты, полученные к
настоящему времени. Большая часть найденных стратегий предназначена для практического управления портфелем и поэтому представляет
собой закрытую информацию.
Первая база данных содержит дневные котировки акций российских предприятий за период с 05.01.97 до 31.12.97. Рассматривалось несколько
портфелей с одинаковыми функциями, описывающими стратегию, причем все функции эффективности, останова границ, останова потерь и все
их параметры были одинаковыми для всех инструментов. Сначала набор этих функций и параметров подбирался так, чтобы сделать
максимальной эффективность при прогонке портфеля, состоящего из двух акций: KMAZ и NKEL. Полученные функции использовались во всех
остальных портфелях. В таблице приведены результаты прогонок для этих портфелей.
Портфель Эффект. Макс.Капит. Мин.Капит. Монот. Приб.Сдел. Убыт.Сдел.
KMAZ 93.79 195.17 92.56 16.78 6 7
NKEL 101.53 223.14 99.99 22.63 8 6
RTKM 30.56 140.59 99.76 14.49 6 2
KMAZ+NKEL 1106.02 1327.37 97.94 28.96 33 17
KMAZ+RTKM 315.74 423.34 100 23.63 22 13
NKEL+RTKM 209.91 371.01 100 18.43 28 19
KMAZ+NKEL+RTKM 679.46 855.05 100 29.17 75 49
Следующая база данных содержит дневные котировки американских акций за период с 31.07.97 по 13.01.99. Здесь была применена такая же
схема. Сначала на одном портфеле были найдены подходящие функции управления и их параметры. Затем для различных портфелей были
применены те же самые функции для всех инструментов. Результаты прогонок отражены в следующей таблице.
№ Портфель Эффект. Макс.Капит. Мин.Капит. Монот. Приб.Сдел. Убыт.Сдел.
1 AMZN 107.28 258.24 81.9 16.47 41 50
2 AOL 24.25 139.14 81.5 7.84 41 43
3 ATT -4.92 103.24 80.31 -5.41 22 20
4 BA 13.61 120.88 89.68 10.28 19 24
5 BTrust 19.04 155.22 100 9.82 21 24
6 EK -8.4 106.78 87.61 -6.94 19 24
7 INTEL -4.22 114.42 90.78 -2.88 24 29
8 LEHMAN 14.93 160.85 87.29 4.4 33 39
9 MSFT 13.48 126 90.24 10.1 25 21
10 № 4;1 124.48 283.61 65.5 21.42 45 56
11 № 4;1;7 183.49 370.64 77.82 24.66 52 59
12 № 4;1;7;2 367.86 642.59 79.33 35.79 65 61
13 № 4;1;7;2;3 427.26 730.21 89.88 37.51 68 60
14 № 4;1;7;2;3;5 432.61 738.09 85.31 36.7 66 64
15 № 4;1;7;2;3;5;9 509.24 851.13 95.02 38.23 69 64
16 № 4;1;7;2;3;5;9;8 726.02 1170.88 88.5 41.66 75 60
17 № 4;1;7;2;3;5;9;8;6 804.89 1287.21 93.25 41.86 78 57
Из приведенных результатов хорошо видно, что расширение портфеля приводит к повышению эффективности, причем зависимость
эффективности от инструментов явно нелинейная, т.к. рост эффективности намного больше линейного.
Биржевая торговля: Управление капиталом - Портфель - Риск - Страхование