Принципиальная схема сеточного метода решения детерминированного эквивалента стохастической задачи управления портфелем финансовых инструментов Ерешко А.Ф. Вычислительный центр им. А.А. Дородницына РАН Введение Задачи стохастического программирования возникают при использовании процессов с дискретным временем для описания изменений финансовых переменных в динамике. Ключевая идея состоит в генерировании множества сценариев реализации случайных параметров в виде дерева и выборе управлений в вершинах дерева. Практическое использование подхода стохастического программирования позволяет учитывать в моделях разнообразные обстоятельства [1-3]. В работах [2,3], опираясь на опыт коллектива исследователей Frank Russell Company, приводится перечень тех возможных характеристик, которые могут быть учтены в многошаговых моделях стохастического программирования: Наличие многих периодов принятия решений; краевые эффекты задаются в виде наступления некоторого стационарного состояния за горизонтом планирования. Согласованность с экономической и финансовой теорией. Дискретные сценарии для случайных переменных: капиталоотдачи, стоимости задолженности, динамики валютных курсов и т.д. Учет дополнительных стохастических характеристик. Институциональные, юридические и политические ограничения. Наложение штрафов за нарушение целевых ограничений. Компромисс между краткосрочными, среднесрочными и долгосрочными целями. Моделирование производных финансовых инструментов и неликвидных активов. Моделирование операционных издержек, налогов и т.д. Разнообразное описание риска в терминах, понятных для лиц, принимающих решения. Максимизация ожидаемой полезности финального богатства за вычетом стоимости штрафов и неустоек. Приобретенный к настоящему времени опыт позволяет решать весьма реалистичные многопериодные задачи на рабочих станциях с использованием алгоритмов математического программирования [4,5]. В одном из примеров на простой трехпериодной модели, использовавшейся на протяжении пяти лет[3], демонстрируется, каким образом претерпевает изменения стратегия с течением времени и в процессе выявления характеристик неопределенности. В настоящей работе предлагается принципиальная схема для численного решения двухкритериальной задачи управления портфелем в динамике с целью максимизации ожидаемого дохода от вложенного капитала и максимизации критерия допустимых потерь в конце процесса. Содержательно постановка аналогична рассмотренным в работах [1] и близка к [4,5]. В идейном плане предложенный алгоритм восходит к работам [9], где рассматривались переборные алгоритмы решения оптимизационных задач в пространстве состояний. Для этих целей необходимо будет осуществить дискретизацию множеств состояний портфеля и значений цен. 2 Рассмотрим управление портфелем ценных бумаг на интервале времени [ 0, T ] , где индекс t [ 0, T ] соответствует номеру торговой сессии. Будем считать, что бумаги i могут быть в день t проданы или куплены по цене ct ,i . Изменение цен от сессии к сессии будем описывать в виде марковского процесса с дискретным временем и глубиной 1 , т.е. вектор цен в день t – это случайный вектор ct с распределением F (ct ) Ft (ct ct 1 ) , t 0,1,2,T . В дальнейшем управление в день t в рассматриваемой модели отождествим с выбором ht . Целью управления будет стремление к увеличению за период [ 0, T ] дохода от вложенного в ценные бумаги в первый день управления капитала и к уменьшению риска. Рассмотрим для этой операции инвестора два критерия: критерий, описывающий ожидаемый результат, и критерий, описывающий риск операции [1]. Критерий математическое ожидание Ставится задача максимизировать математическое ожидание трансформации капитала в классе стратегий : W1 M (ST ) max , M c1 ,c2 ,,cT (cT , hT1 ) , или max W1 max h0 , h1 ,, hT 1 при ограничениях на динамику портфеля и некоторых ограничениях на переменные процесса. Критерий допустимых потерь В последнее время в задачах управления портфелем все большую популярность приобретает критерий VaR (Value at Risk), отражающий вероятность превышения (или недостижения) заданного уровня некоторым избранным показателем качества управления и состояния процесса. Определим в нашем случае при каждой заданной стратегии управления этот критерий в виде W2 PF ( ct ) (( cT , hT ) K ) , t 0,1,, T , где F (ct ) – определенное выше распределение для случайного вектора цен, а K – заданный уровень конечного результата. Перепишем это определение, используя операцию осреднения и характеристическую функцию: W2 M c1 ,c2 ,,cT ( H , (c0 , h0 )) , где характеристическая функция имеет вид 1, если cT hT K , T ( H , (c0 , h0 )) 0, если cT hT K . Как следует из приведенной записи, при управлении портфелем инвестору желательно стремиться к увеличению показателя качества W2 . Парето-оптимальные решения Введенные таким образом критерии позволяют сформулировать двухкритериальную задачу управления портфелем: (W1 ,W2 ) при ограничениях, описывающих динамику изменения состояния портфеля, и при управлении в классе управлений, как функций от состояния портфеля и процесса изменения цен. Как и в общем случае, в данной постановке можно строить отдельные точки паретовского множества введенных критериев, решая задачи: WT (cT , hT ) 1W1 2W2 max 3 при фиксированных 1 , 2 0 и 1 2 1. Как следует из определения (W1 ,W2 ) и свойств операции осреднения, для решения сформулированной задачи max WT (cT , hT ) max M c1 ,,cT (1 (cT , hT ) 2 T ( H , (c0 , h0 )) допустимо использование формализма динамического программирования и, следовательно, возможно выписать уравнения Беллмана. При операциях с ценными бумагами инвестор выплачивает бирже комиссионные сборы. Комиссия взимается с каждого акта, будь то продажа или покупка. Мы будем рассматривать в данной работе два типа поведения инвестора в расчетах с биржей. Основная задача, случай G. Если инвестор в день t проводит операции с некоторым видом бумаг i , то с данным видом бумаг это только одна операция: либо продажа (части) бумаг i , либо покупка (дополнительная) бумаг вида i . В этом случае динамика изменения количества бумаг в портфеле (из ht в ht ) удовлетворяют соотношению N (ct ht ) (ct , ht ) ( k ct ,i ht,i ct ,i ht,i ) . i 1 Вспомогательная задача, случай O Инвестор не выплачивает комиссию. В этом случае динамика портфеля описывается соотношением (ct ht ) (ct , ht ) . Оптимизационные задачи рассмотрим в постановке, когда управление в день t разыскивается в виде функции от истории, и инвестор будет постепенно шаг за шагом получать информацию о ценах, так что его наибольший результат запишется в виде: max W (cT , hT ) max M c1 max M c2 max M cT WT (cT hT1 ) , где символ M ci обозначает h0 h1 hT 1 операцию осреднения (математическое ожидание). Генерация траекторий изменений цен (сценариев) Положим, что величины ct ,i принимают дискретные значения в промежутке [0, c max ] с шагом c (один из параметров алгоритма). Тогда теоретически мы можем сгенерировать шаг за шагом, слева направо всевозможные состояния цен на всем интервале [1, T ] и представить весь случайный процесс формирования цен в виде древовидной структуры. Положим также, что из каждого узла ветвления (вершины дерева) реализаций случайного процесса выходит одинаковое число ветвей k t в один элементарный период времени t , и значение цен ctkt реализуется с вероятностью Pt kt , k t 1,2,, K t . Каждая конкретная последовательность реализаций цен t 0 до t T носит название сценария. Детерминированный эквивалент стохастической задачи в постановке O Принятые выше допущения позволяют сформулировать следующий детерминированный эквивалент исходной задачи в постановке O в виде [1]: В этом случае процесс изменения состояния портфеля имеет вид (ct , ht ) (ct , ht ) , где ht , ht1 – векторы, компоненты которых есть количества ценных бумаг номеров i , i 1,2, , N , в портфеле после акта принятия решения на сессиях номеров t , t 1 соответственно. Управление ищем в виде ht () ht (ct , ht1 ) . Функционал имеет вид WT (cT , hT1 ) . 4 Стохастическая задача в этом случае (в силу марковского процесса изменения цен и типа ограничений) будет иметь вид: max M c1 max M c2 max M cT 1 max WT cT , hT 1 . hT 1: h0 : h : hT 2 : ( c1 ,h11 ) ( cT 2 ,hT2 ) ( c0 , h0 ) S 0 ( cT 1 ,hT 1 ) ( c ,h ) ( cT 1 ,hT 2 ) ( cT 2 ,hT 3 ) 1 0 Генерация пространства фазовых состояний Как отмечено выше, для построения предлагаемого алгоритма необходимо определить дискретное множество состояний портфеля. Это можно осуществить несколькими способами. Например, положим, что в каждый момент времени t возможные значения стоимости портфеля S t удовлетворяет ограничению: S t S max и принимают дискретные значения S tl , t 0,1,2, Lt в промежутке [0, S max ] с шагом S (один из параметров алгоритма). Выбор дискретных значений состояний портфеля htkt ,lt в каждый момент t будем ограничивать условием: ctk t htk t ,lt Stl , l 0,1,2,ht , где htk t , lt набор дискретных возможных состояний портфеля при ценах ctk t и стоимости S tl , вследствие характера принятых ограничений и структуры представления случайного процесса. Детерминированный эквивалент тогда запишется в следующем виде (Приложение 1). Алгоритм Выпишем последовательно для этой задачи шаги алгоритма в соответствии с уравнениями Беллмана [8]: Шаг 0. Определим для каждой пары (cTkT , hTkT11 ,lT 1 ) значение критерия задачи WT сгенерированных значений цен и состояний портфеля в момент времени T 1 , удовлетворяющих условию дискретизации множества цен и фазовых состояний. Шаг 1. На сессии T 1 для каждой пары (cTkT11 , hTkT22 ,lT 2 ) , сгенерированных значений цены и состояний портфеля в момент времени T 1 , удовлетворяющих условию дискретизации множества цен и фазовых состояний решаем следующую задачу о выборе hTkT11 ,lT 1 : WT 1 (cTkT11 , hTkT22 ,lT 2 ) max WT (cTkT , hTkT11 ,lT 1 ) , k ,l hTT11 T 1 при ограничении (c h ) (cTkT11 hTkT22 ,lT 2 ) ………………………………………………………………………………………………. Шаг T t . На сессии t , для каждой пары (ctk t , htkt 11 ,lt 1 ) мы решаем задачу о выборе kT 1 kT 1 , lT 1 T 1 T 1 набора htk t , lt : Wt (ctkt , htkt 11 ,lt 1 ) max Wt 1 (ctkt 11 , htkt ,lt ) k ,l ht t t при ограничении (ctk t htk t ,lt ) (ctk t htkt 11 ,lt 1 ) ……………………………………………………………………………………………….. Шаг T . На сессии 0 решаем задачу о выборе h0l 0 : 5 W0 W1 (c1k1 , h0l 0 ) l l при условии (c0 h00 ) S00 S 0 . где S 0 – начальное значение капитала. В результате расчетов на этом шаге получаем оценку W0 конечного значения выбранного критерия WT с точностью, определяемой степенью дискретизации множеств состояния и цен. Детерминированный эквивалент стохастической задачи в постановке G Рассмотрим задачу в постановке в) при комиссии в форме G и при критерии WT (cT , hT ) 1W1 2W2 max [1]. Как и в предыдущем случае, определим портфель как набор из ценных бумаг ht ( ht ,0 , ht ,1 , , ht ,N ) , где ht ,i – количество бумаг i -го вида в портфеле в момент времени t . ht , 0 – количество текущих денежных средств. В каждый момент t будем рассматривать ht,i , ht,i количество бумаг вида i , находящихся в портфеле до операции купли-продажи и после соответственно. ct ,i – цены в момент времени процессом с глубиной 1. Пусть t ,i – количество купленных бумаг вида i в проданных бумаг вида i в день t . Предполагается, что биржа за каждую операцию пропорционально объему капитала, задействованного пропорциональности будем называть комиссией. Ограничения на количество бумаг имеют вид: ht ,i ht1,i и ht,i 0 , ht,i 0 , t , описываются марковским день t , а t ,i – количество с портфелем взимает плату в операции. Коэффициент ht,i ht,i t ,i t ,i и t ,i 0 , t ,i 0 . Ограничения на капитал: N N i 0 i 0 t ,i N N i 0 i 0 ct ,i ht,i ct ,i ht,i k ct ,it ,i k ct ,i t ,i , учитывая h h t ,i t ,i , t ,i N N i 0 i 0 получим (1 k ) cT 1,iT 1,i (1 k ) cT 1,i T 1,i . Заметим, что если каждый вид бумаги i в день t только покупается или только продается т.е. t ,i t ,i 0 , то ограничение на капитал запишется в виде задачи G. N (ct , ht ) (ct , ht ) ( k ct ,i ht,i ct ,i ht,i ) . i 1 Тогда после операций купли-продажи в момент t , перед новым актом принятия решений в момент t 1 , оценка капитала имеет вид N c i 0 t 1,i t 1,i h Под трансформацией капитала понимается переход от . N ct ,i ht,i к i 0 управлением в день t – м выбор t ,i , t ,i и соответственно ht , t 0, , T . N c i 0 t 1,i t 1,i h , под 6 Определим цель управления портфелем как стремление к максимальному увеличению математического ожидания конечной стоимости портфеля N c i 0 поскольку по условию задачи ht1 ht , к величине N c i 0 T ,i T 1,i h T ,i T ,i h , или, и к увеличению критерия W2 . Как и случае задачи без комиссии, рассмотрим оптимизационную задачу в постановке: max M c1 max M c2 max WT (cT hT1 ) . h0 h1 hT 1 Генерация пространства фазовых состояний Дискретизацию множества переменных htkt ,lt на всех шагах проведем подобно тому, как это было сделано выше. Что касается переменных t ,i и t ,i , то, как было записано выше, их выбор осуществляется из ограниченного множества: N N i 0 i 0 (1 k ) ct ,i t ,i (1 k ) ct ,i t ,i , t ,i 0 , t ,i 0 , N N i 0 i 1 ct t ,i ct ht,i , N N i 0 i 1 ct t ,i ct ht,i В этом случае возможна следующая процедура дискретизации множества состояний t ,i и t ,i . Определим базисные столбцы выписанных ограничений, и построение сетки возможных состояний параметризуем конечным набором коэффициентов линейной свертки базисных столбцов. Обозначим множество возможных выборов купли-продажи портфеля через tkt ,lt и tkt ,lt . Детерминированный эквивалент в этом случае будет иметь вид (Приложение 2). Алгоритм Выпишем шаги алгоритма в соответствии с уравнениями Беллмана. Шаг 0. Определим для каждой пары (cTkT , hTkT11 ,lT 1 ) значение критерия задачи WT (cT , hT1 ) OT* (cTkT , TkT11 ,lT 1 , TkT11 ,lT 1 ) с учетом сгенерированных значений цен в момент времени T 1 и состояний портфеля, удовлетворяющих условию дискретизации множества цен и фазовых состояний k T 1 T 1 (c Шаг 1. При , hTkT22 ,lT 2 ) t T 1 определим оптимальную оценку для каждой пары OT* 1 (cTkT11 , hTkT22 ,lT 2 ) max TkT11 ,lT 1 , TkT11 ,lT 1 OT* (cTkT ,TkT11 ,lT 1 , TkT11 ,lt 1 ) при условии N N (1 k ) cTkT11,iTkT11,i,lT 1 (1 k ) cTkT11,i TkT11,,ilT 1 , i 0 kT 1 , lT 1 T 1, i 0, kT 1 , lT 1 T 1, i i 0 k T 2 , lT 2 T 2, i 0, h TkT11,i,lT 1 TkT11,,ilT 1 0 , (cTkT11TkT11 ,lT 1 ) (cTkT11 hTkT22 ,lT 2 ) , (cTkT11 TkT11 ,lT 1 ) (cTkT11 TkT22 ,lT 2 ) ………………………………………………………………………………………………. Шаг T t .Соответственно для текущего t определим оптимальную оценку для портфеля htkt 11 ,lt 1 при ценах ctk t : 7 Ot* (ctkt , htkt 11 ,lT 1 ) tmax Wt (ctkt , htkt ,lt ) , ,l k ,l t t t , t t N t N (1 k ) ctk,titk,it ,lt (1 k ) ctk,ti tk,ti ,lt , i 0 k t ,lt t ,i 0, k t ,lt t ,i i 0 k t 1 , lt 1 t 1, i 0, h tk,it ,lt tk,ti ,lt 0 , (ctk t tk t ,lt ) (ctk t htkt 11 ,lt 1 ) , (ctk t tk t ,lt ) (ctk t htkt 11 ,lt 1 ) Шаг T. W0 max W1 (c1kT , h0l0 ) , (c0 h0l 0 ) S0l 0 S0 . l h00 В результате расчетов на этом шаге получаем оценку конечного значения выбранного критерия с точностью, определяемой степенью дискретизации множеств состояния и цен. Заключение Предложенный алгоритм представляет собой реализацию схемы динамического программирования в ее исходной формулировке. Практическая его реализация, естественно, крайне затруднена, вследствие неизбежного огрубления вероятностного процесса изменения цен и большой размерности. Современные существенные достижения в этом направлении получены для линейных задач управления портфелем с критерием конечного дохода путем использования приемов декомпозиции и вычислительных устройств с параллельным вычислениями [4-5]. Поэтому предлагаемая переборная процедура для расчетов в случае двух критериев (конечной стоимости и оценки риска) имеет значение, как базовая точка при проведении массовых экспериментальных расчетов. Список использованных источников 1 Ерешко А.Ф. Методы декомпозиции и локально-оптимальные стратегии в задачах управления портфелем ценных бумаг. М.: ВЦ РАН, 2002. 79 с. 2 Carino D.R., et al. MTB pension asset/liability management model // Mimeo-graphed notes. Frank Russell Company, Tacoma, Washington. 1995 3 Worldwide Asset and Liability Modeling / Ziemba W.T., Mulvey J.M. eds. Cambridge: University Press, 1998 4 Dempster M.A.H., Thompson R.T. Parallelization and aggregation of nested Benders decomposition // Proceedings APMOD95 Conference, Brunei University. Annals of Operations Research. 1996. 5 Consigli G. and Dempster M.A.H. The CALM Stochastic Programming Model for Dynamic Asset-Liability Management // Worldwide Asset and Liability Modeling / Ziemba W.T., Mulvey J.M. eds. Cambridge: University Press, 1998. P. 464 – 500 6 Агасандян Г.А. Финансовая инженерия и критерий допустимых потерь (VaR). М.: ВЦ РАН, 2001. 34 с. 7 Agasandian G.A., Gasanov I.I., Ereshko F.I., Ereshko A.F., Stolyarova E.M. The Models of Operations Research in Financial Engineering // World Conference on Computational Intelligence in Financial Engineering. N.Y., 2000. www.iafe.org. 8 Беллман Р. Динамическое программирование. М.: ИЛ, 1960. 9 Моисеев Н.Н.Численные методы в теории оптимальных систем. М.: Наука, 1971. 424 с. 10 Дикусар В.В., Ерешко А.Ф.Модели и методы решения многошаговых задач управления портфелем ценных бумаг. //Динамика неоднородных систем. М: ИСА РАН, 2005. С.6-13. 8 Приложение 1. K1 K2 max p1k1 ( max p2k2 ...( max k1l1 kT 2 ,lT 2 h0l0 k1 1 h1 k2 1 hT 2 KT 1 p kT 1 1 kT 1 T 1 KT ( max pTkT W (cTkT , hTkT11 ,lT 1 ))) ) kT 1 ,lT 1 hT 1 kT 1 l0 1,2,, L0 ( c0 , h ) S0 k1 1,2,, K1 l0 1,2,, L0 l1 1,2,, L1 (c1k1 , h0l0 ) 0 l0 0 kT 2 1,2,, K T 2 kT 3 1,2,, K T 3 lT 3 1,2,, LT 3 lT 2 1,2,, LT 2 (cTkT22 , hTkT33 ,lT 3 ) (cTkT22 , hTkT22 ,lT 2 ) kT 1 1,2,, K T 1 kT 2 1,2,, K T 2 lT 2 1,2,, LT 2 lT 1 1,2,, LT 1 0 (cTkT11 , hTkT22 ,lT 2 ) (cTkT11 , hTkT11 ,lT 1 ) 0 Приложение 2. K1 K2 max p1k1 ( max p2k2 ...( kmax k1l1 T 2 ,lT 2 h0l0 k1 1 1 k 2 1 1k1l1 KT 1 KT pTkT W (cTkT , TkT11 ,lT 1 , TkT11 ,lT 1 )))) pTkT11 ( max kT 1 , lT 1 T 2 kT 1 1 TkT22 ,lT 2 l0 1,2,, L0 (c0 , h0l0 ) k1 1,2,, K1 l0 1,2,, L0 l1 1,2,, L1 (c1k1 , h0l0 ) (c1k1 ,1k1 ,l1 ) (c1k1 , h0l0 ) (c1k1 , 1k1 ,l1 ) (1 k )( c1k1 ,1k1 ,l1 ) ( k 1)( c1k1 , 1k1 ,l1 ) T 2 kT 1 TkT11 ,lT 1 S0 0 0 0 kT 2 1,2,, K T 2 (cTkT22 , hTkT33 ,lT 3 ) (cTkT22 , TkT22 ,lT 2 ) kT 3 1,2,, K T 3 (cTkT22 , hTkT33 ,lT 3 ) (cTkT22 , TkT22 ,lT 2 ) lT 3 1,2,, LT 3 (1 k )( cTkT22 , TkT22 ,lT 2 ) ( k 1)( cTkT22 , TkT22 ,lT 2 ) lT 2 1,2,, LT 2 0 0 0 kT 1 1,2,, K T 1 kT 2 1,2,, K T 2 lT 2 1,2,, LT 2 lT 1 1,2,, LT 1 0 0 0 (cTkT11 , hTkT22 ,lT 2 ) (cTkT11 , TkT11 ,lT 1 ) (cTkT11 , hTkT22 ,lT 2 ) (cTkT11 , TkT11 ,lT 1 ) (1 k )( cTkT11 , TkT11 ,lT 1 ) ( k 1)( cTkT11 , TkT11 ,lT 1 )