Научная статья на тему 'Применение агентных систем для решения оптимизационных задач финансовой математики'

Применение агентных систем для решения оптимизационных задач финансовой математики Текст научной статьи по специальности «Математика»

CC BY
223
70
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук
Ключевые слова
ОПТИМИЗАЦИЯ / ФИНАНСОВЫЙ ПРОЦЕСС / НАКОПИТЕЛЬНЫЙ ФОНД / АГЕНТНЫЕ СИСТЕМЫ / ПРОГРАММНЫЙ АГЕНТ

Аннотация научной статьи по математике, автор научной работы — Тубольцев М. Ф., Маторин С. И., Тубольцева О. М.

Рассматриваются вопросы решения оптимизационных задач финансовой математики с применением систем программных агентов. Такой подход позволяет решать приближенно не только традиционные, но и не классические оптимизационные краевые задачи. Необходимость рассмотрения не классических оптимизационных краевых задач определяется требованиями более адекватного моделирования предметной области. В частности, потребности практики требуют рассмотрения ситуаций, когда формирование накопительных фондов заканчивается в различные моменты времени. Поскольку в таких ситуациях классические методы решения краевых задач не применимы, используются системы программных агентов.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Применение агентных систем для решения оптимизационных задач финансовой математики»

УДК 303.732.4

ПРИМЕНЕНИЕ АГЕНТНЫХ СИСТЕМ ДЛЯ РЕШЕНИЯ ОПТИМИЗАЦИОННЫХ ЗАДАЧ ФИНАНСОВОЙ МАТЕМАТИКИ4

Рассматриваются вопросы решения оптимизационных задач финансовой математики с применением систем программных агентов. Такой подход позволяет решать приближенно не только традиционные, но и не классические оптимизационные краевые задачи.

Необходимость рассмотрения не классических оптимизационных краевых задач определяется требованиями более адекватного моделирования предметной области. В частности, потребности практики требуют рассмотрения ситуаций, когда формирование накопительных фондов заканчивается в различные моменты времени. Поскольку в таких ситуациях классические методы решения краевых задач не применимы, используются системы программных агентов.

Ключевые слова: оптимизация, финансовый процесс, накопительный фонд, агентные системы, программный агент.

Эволюция во времени некоторого финансового актива описывается линейным дифференциальным уравнением первого порядка:

dx(t) = p(t) x(t )dt + dU (T). (1)

Здесь x(t) - величина финансового актива в момент времени t, p(t) - сила роста финансового актива, связанная с процентной ставкой соотношением: p(t) =ln(1 + г(t)).

Процентная ставка и сила роста финансового актива в условиях стабильной макроэкономической ситуации являются постоянными величинами, а, в общем случае, это -неотрицательные функции. На практике можно считать их кусочно-постоянными функциями.

В уравнении (1) первое слагаемое в правой части моделирует непрерывное начисление процентов, а второе - отток/ приток внешних средств в финансовый актив. В зависимости от контекста функция U(t) может рассматриваться как абсолютно непрерывная, как стохастический процесс или как обобщенная функция.

Хотя единичные финансовые процессы представляют теоретический и практический интерес, для практики больший интерес представляют совокупности финансовых процессов, например, накопительные системы [1]. Накопительные системы хорошо подходят для консолидации средств из маломощных, постоянно действующих источников [2]. Они представляют собой альтернативу заимствования средств, что важно в условиях отсутствия дешевых долгосрочных кредитов и сложностей их получения. Кроме того, долговая нагрузка, создаваемая при обслуживании взятых кредитов, может компенсироваться доходами от заемных средств только, если кредиты были взяты на коммерческие цели. Инвестиции на социальные проекты должны быть свободны от подобной долговой нагрузки.

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

Требуется дать некоторые пояснения тому, почему используется не один, а несколько счетов в возможно разных коммерческих банках. Это связано с тем, что подобно тому, как

4 Исследования поддержаны грантом РФФИ 11-07-00154 и грантом РФФИ 10-07-00266

М.Ф.ТУБОЛЬЦЕВ С.И. МАТОРИН О.М.ТУБОЛЬЦЕВА

Белгородский государственный национальный исследовательский университет

e-mail: Tuboltsev@bsu.edu.ru e-mail: matorin@bsu.edu.ru

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

Теория стохастических финансовых расчетов, хотя и достигла впечатляющих результатов [3, 4], еще не стала достоянием широких масс. Поэтому на данный момент наиболее практичный способ формирования накопительного портфеля состоит в том, чтобы, разделив фонды по степени приемлемого риска, начать их накопление на счетах в разных коммерческих банках.

Математическая формализация поставленной задачи имеет вид:

п

І X и і (‘^ min,

‘н і =1

Х і (‘) = РгХг (‘) + иг (‘ X Р, = 1п(1 + Г X (2)

Хг (‘н ) = 0 Хг () = 8 г ,

X и,(і) ^ и.

1 = 1

В (2) учтено, что накопительный портфель состоит из п счетов, процентные ставки по которым различны и постоянны, а само накопление начинается с нуля (вложения средств в начальный момент времени ^ отсутствуют) до некоторого заданного в конечный момент времени ^ значения. Кроме того, указывается, что в любой момент времени суммарные вложения в накопительный портфель не могут превышать мощности источника финансирования. Целевая функция представляет собой интеграл по всему периоду накопления от функции суммарных вложений, которая является измеримой и ограниченной и играет роль управления.

В такой постановке задача (2) имеет простое решение, которое можно получить с использованием принципа максимума Понтрягина [5]. Целевая функция в задаче минимального вложения средств достигает своего минимума тогда, когда процесс накопления организован следующим образом:

1. в каждый момент времени в активном режиме накопления находится только один фонд и источник финансирования используется максимально, т.е. и(Х) = и только для одного ^ а для остальных и^)=о;

2. порядок активного формирования фондов определяется порядком убывания процентных ставок п, т.е. первым формируется фонд с наибольшей процентной ставкой, в последнюю очередь формируется фонд с наименьшей процентной ставкой;

3. начальный этап сменяет период пассивного накопления, когда рост происходит только вследствие капитализации процентов;

4. период активного накопления для последнего фонда сменяет период (иногда его длительность может быть равной нулю), когда для всех фондов реализуется режим пассивного накопления (только за счет начисления процентов).

Моменты переключения управления определяются граничными условиями задачи и при постоянных процентных ставках могут быть легко вычислены [5].

Задача (2) может модифицироваться в различных направлениях, но, при сохранении общего интервала накопления для всех фондов, решения модифицированных задач также могут быть получены с использованием принципа максимума [6, 7].

Не ставя под сомнение целесообразность рассмотрения задачи (2) отметим, что условие общности накопительного интервала для всех фондов излишне ограничительно для практики. Во-первых, не обязательно все фонды должны быть накоплены к одному и тому

же моменту времени. В практике муниципальных образований - это, скорее всего, норма. Во-вторых, вполне вероятно добавление в уже формируемый накопительный портфель еще одного фонда (или нескольких фондов).

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

Для определенности будем считать, что в накопительный портфель не вносится изменений и дополнений, т.е. можно считать, что накопление всех фондов начато одновременно. Тогда накопительная задача может быть формализована следующим образом:

К -п

I ^ и, (t) dt ^ min

Хг (t) = Р,Хг (t) + U, (t X Рг = ln(1 + Г X

Xi (tH ) = 0 Хг (tk ) = Sг > (3)

tK = max( tk \ tk "v. tkn X

t г -1

-1

В (з) учтено, что управления ui(t) продолжены нулем с интервала накопления отдельного фонда [tH, W] на интервал накопления всего портфеля [tH, fe].

Отличие задач (2) и (3) только в том, что они имеют разные граничные условия, точнее, правые граничные условия заданы в различные моменты времени. Однако это не дает возможность применить принцип максимума или методы оптимального импульсного управления [8].

Основываясь на замечании Рассела: «Искусственный интеллект был отчасти основан как способ избежать ограничений математических средств, применявшихся в теории управления...» [9, с.53], применим для приближенного решения задачи (3) методы агентных систем.

Агентом является все, что может рассматриваться как воспринимающее свою окружающую среду (окружение, среду) с помощью датчиков и воздействующее на свою окружающую среду с помощью исполнительных механизмов [9, с.75]. Агент или множество агентов создается для решения некоторой задачи выбранной проблемной области. Формулировка решаемой задачи в терминах агентных систем включает в себя определение четырех компонентов, в совокупности получивших аббревиатуру PEAS (Performance, Environment, Actuators, Sensors - поведение, окружающая среда, исполнительные механизмы, датчики) [9, с.83].

Поведение (Performance) агента определяется назначением агента, а, в конечном счете, запросом надсистемы к нему, в качестве которой выступает разработчик агентной системы (возможно, это - авторский коллектив). Поведение агента определяет его функциональность, т.е. способность преобразования восприятия окружающей среды в действия. Рациональность поведения агента оценивается с помощью показателей (критериев) и означает соответствие (адекватность) запросу надсистемы.

Термин «Окружающая среда (Environment)» применительно к агентам означает примерно то же, что в теории динамических систем называется фазовым пространством. Фактически - это набор данных, которые агент может получить от датчиков. Иногда агент обладает полным знанием своего окружения, но чаще это не так.

НАУЧНЫЕ ВЕДОМОСТИ

Серия История. Политология. Экономика. Информатика. 2012. №7 (126). Выпуск 22/1

151

Исполнительные механизмы (Actuators) реализуют функциональность агента, т.е. оказывают некоторое воздействие на окружающую среду в ответ на некоторую последовательность актов восприятия. В свою очередь, каждый акт восприятия окружающей среды представляет собой чтение информации об окружающей среде, поступившей с датчиков (Sensors).

Агенты могут иметь разную природу, поскольку «...понятие агента рассматривается как инструмент для анализа систем, а не как абсолютная классификация, согласно которой мир делится на агентов и не агентов» [9, с.78]. В частности, агентом может быть программное обеспечение. Возможность использования программных агентов дает большие преимущества, поскольку нужно реализовать только программу агентной системы. Кроме того, виртуализация, широко применяемая в информационных технологиях, дает возможность реализации многоагентных систем на простейших одноядерных процессорах.

В нашем случае решается задача (3), а предметной областью являются финансовые вычисления. Из компонентов PEAS для программных агентов требуется задать только поведение и окружение, поскольку механизмы и датчики встроены в вычислительную систему.

Следует отметить, что архитектура агентной системы определяется прикладной задачей не однозначно. В наибольшей степени это относится к поведению и окружению. Целесообразно начинать проектирование агентной системы с определения окружения, поскольку программа агента в качестве входных данных получает считанную информацию о состоянии окружения, а действия механизмов приводят к изменению окружения.

В нашем случае определение окружения фактически сводится к дискретизации задачи (3). Разделим интервал накопления [tH, tx] на N равных частей, и в каждый из полученных интервалов поместим агента, наделив его денежными средствами в размере u = U*(tx - tH)/N. Агент может вложить все свои средства в некоторый накопительный фонд или не вкладывать их никуда. Затраты на формирование накопительных фондов состоят из вложенных агентами средств. Состояние окружающей среды для данной прикладной задачи определяется тем, какие агенты, в какие фонды вносят свои средства. Для практических целей удобно агентов привязывать к хронологическим датам, поскольку вложение средств в накопительные фонды вряд ли будет осуществляться чаще, чем один раз в день.

Определение поведения агентов является сложной задачей, поскольку это равносильно записи решения прикладной задачи в программу агента. Принято выделять следующие четыре базовых типа агентов [9, с.93].

1. Простой рефлексный агент - поведение определяется полностью текущими актами восприятия окружения.

2. Рефлексный агент с моделью окружения - поведение определяется текущими актами восприятия окружения и запомненными данными о прошлых актах восприятия вместе с априорными знаниями об эволюции окружения.

3. Агенты, действующие на основе цели - поведение определяется, помимо отмеченного ранее, знанием цели функционирования на основе явно сформулированного запроса надсистемы.

4. Агенты, действующие на основе полезности - поведение определяется, помимо отмеченного ранее, явно заданными ограничениями надсистемы.

Поведение агентов четвертого типа может быть признано рациональным и в наибольшей степени соответствует современным представлениям об интеллектуальном поведении, поскольку в этом случае поведение оптимизируется в соответствии с максимизацией функции полезности. В нашей задаче функцию полезности можно задать на основе целевой функции задачи (3) и штрафных функций (штраф за нарушение граничных условий). Таким путем задачу (3) можно было бы свести к сложной задаче программирования одного агента четвертого типа.

Однако, более практично свести задачу (3) к программированию мультиагентной системы, состоящей из простых рефлексных агентов, окружение которых было определено выше. Рациональность поведения таких агентов основана на следующем простом правиле: с учетом ограничений задачи (3) каждый агент стремится занять максимально раннюю

2012. №7 (126). т1|2ус№22/(126). Выпуск 22/1

позицию, занимая позицию левого агента-соседа, если он (сосед) вкладывает свои средства в фонд с меньшей процентной ставкой или не вкладывает свои средства вообще. Это эвристическое правило вытекает из того, что если агенты «заработают» как можно больше денег при тех же затратах, то их поведение вполне рационально.

Таким образом, акт восприятия каждого агента сводится к выяснению того, по какой процентной ставке разместил свои средства агент слева. Если ставка текущего агента выше, чем у агента слева, то они меняются местами, если нет, то агент ничего не делает. Практическая реализация программы мультиагентной системы требует также создания агента-координатора для первоначальной инициализации агентной системы (см. рис. 1), а также распределения заданий агентам (в какой фонд вкладывать средства, вкладывать ли их вообще). Кроме этого, координатор выполняет визуализацию результатов.

Рис. 1. Инициализация агентной системы

На рисунке 1 представлен частный случай задачи(3), в котором осуществляется накопление трех гипотетических фондов муниципального образования («Фонд ЖКХ», «Фонд благоустройства», «Фонд развития»). Все параметры фондов представлены на рисунке 1. Кроме того, представлено первоначальное (допустимое) приближенное решение: в квадратиках указан номер фонда, куда агент вносит свои деньги и ноль, если средства агента никуда не вкладываются. В нижней части рисунка 1 приводятся также данные о затратах, накопленной сумме и т.д. Поскольку интервал накопления был разделен по хронологическим датам, то, как указано на рисунке 1, количество созданных агентов совпадает с числом дней накопительного периода.

Процесс инициализации агентной системы (т.е. процесс создания агентов и выдача им заданий) прост, но важен, поскольку позволяет установить разрешимость задачи

Серия История. Политология. Экономика. Информатика. 1 53

2012. №7 (126). Выпуск 22/1

(наличие допустимых решений). Поскольку фонды упорядочены по увеличению длительности накопительного периода, то сначала агенты получают задание вкладывать средства в первый фонд, затем во второй и т.д. Если осуществить накопление какого-либо фонда нельзя с соблюдением ограничений задачи, то с высокой вероятностью можно ожидать, что допустимых решений нет. В этом случае следует уменьшить шаг дискретизации по времени и решить инициализировать агентную систему заново. Можно также, просто несколько увеличить мощность источника финансирования.

Как видно на рисунке 1 процесс инициализации агентной системы прошел успешно и можно запустить процесс оптимизации. Поскольку для вычислений использовалась одноядерная вычислительная система, то программы агентов выполнялись в одном потоке, т.е. агенты были виртуальными. Как показали многочисленные прогоны программы, за приемлемое время осуществить оптимизацию агентной системы для данной прикладной задачи удается только при числе агентов не более 300-400, т.е. общий период накопления для системы фондов должен быть около года, если агент ассоциирован с хронологической датой (рис. 2).

НАУЧНЫЕ ВЕДОМОСТИ

Рис. 2. Оптимизация агентной системы

Такое число агентов связано со сложностью по данным алгоритма оптимизации, которая составляем 0(№), где N - число агентов. Как видно из рисунка 2, в результате оптимизации агентной системы увеличилась общая сумма накоплений; понизить общие затраты не удалось, поскольку они изменяются скачком с довольно большим (в контексте текущей задачи) шагом.

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

2012. № 7 (126). Выпуск 22/1 Серии Исюрин. Полиюло1ия. Экономика. Информашка. 154

2012. №7 (126). Выпуск 22/1

Литерату Ра

1. Тубольцев М.Ф. Математическое моделирование систем накопительных фондов//«Научные ведомости», серия «История, Политология, Экономика, Информатика»,

№1 (56) выпуск 9/1.- Белгород: Изд-во БелГУ, 2009.- стр.45-51.

2. Тубольцев М.Ф. Методы оптимального накопления фондов в бюджете развития муниципального образования.// «Научная мысль Кавказа», Ростов-на-Дону, Изд-во Северо- Кавказкого научного центра высшей школы, 2005, №8. - с.82-91.

3. Markowitz H. Mean-Variance Analysis in Portfolio Choice and Capital Markets.

Cambridge, MA: Blackwell, 1990.

4. Ширяев А.Н. Основы стохастической финансовой математики. Т. 1,2. -М.:

Фазис, 1998.

5. Тубольцев М.Ф. Оптимальные по критерию минимума вложения средств стратегии создания накопительных фондов. // «Научные ведомости», серия «Информатика, Прикладная математика, Управление», № 1 (21) выпуск 2.- Белгород: Изд-во БелГУ, 2006.- стр.50-55.

6. Тубольцев М.Ф. Оптимизация накопительных фондов по двум критериям

//«Научные ведомости», серия «История, Политология, Экономика, Информатика», №9 (64) выпуск 11/1.- Белгород: Изд-во БелГУ, 2009.- стр.170-176.

7. Тубольцев М.Ф., Михелев В.М. Использование импульсных управлений при

моделировании финансовых процессов. // «Информационные системы и технологии»,

Известия ОрелГТУ, №6/56 (569). - Орел: Изд-во ОрелГТУ, 2009. - стр.106-111.

8. Дыхта В.А., Самсонюк О.Н. Оптимальное импульсное управление с приложениями.

2-е изд. - М.: ФИЗМАТЛИТ, 2003. - 256 с.

9. Рассел, Стюарт, Норвиг, Питер. Искусственный интеллект: современный подход,

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

2-е изд..: Пер. с англ. — М.: Издательский дом "Вильяме", 2006. — 1408 с.: ил.

НАУЧНЫЕ ВЕДОМОСТИ

APPLICATION OF AGENT SYSTEMS FOR SOLVING OPTIMIZATION PROBLEMS OF FINANCIAL MATHEMATICS

M.F.TUBOLTSEV S.I. MATORIN O.M.TUBOLTSEVA

Belgorod National Research University

e-mail: Tuboltsev @bsu.edu.ru e-mail: matorin@bsu.edu.ru

The problems of solving optimization problems in mathematical finance systems with software agents. This approach allows us to solve not only the traditional approximation, but not classical optimization boundary value problems.

The need to consider is not the classical boundary-value problems of optimization is determined by the requirements of a more adequate modeling of the domain. In particular, the needs of practice require the consideration of situations in which the formation of the accumulation of funds ends at different times. Because in these situations the classical methods for solving boundary value problems are not applicable, use of software agents.

Key words: optimization, financial process, savings fund, agent system, a software agent.

i Надоели баннеры? Вы всегда можете отключить рекламу.