Научный журнал
Фундаментальные исследования
ISSN 1812-7339
"Перечень" ВАК
ИФ РИНЦ = 1,984

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

Портнов К.В. 1
1 ФГАОУ ВО «Самарский государственный экономический университет»
Цель настоящей работы – рассмотрение практических аспектов применения генетических алгоритмов для решения задачи Марковица, заключающейся в адаптации генетических операторов к специфике решения задачи оптимизации портфеля рисковых активов. Основными методами используемыми автором являются методы системного анализ и эвристические методы оптимизации. В качестве данных для эксперимента, которые использовались для эмпирического моделирования, получены из открытых источников котировок Мосбиржи. Рассмотрены аспекты кодирования и декодирования допустимых решений в хромосомы, формализованы требования к размерности хромосом для достижения оптимальной скорости схождения генетического алгоритма. Для решения проблемы сохранения допустимости потенциального решения, с учетом ограничений задач Марковица, предложен оператор нормализации вида хромосом, позволяющий обеспечивать сохранение эквивалентности полученных потомков с допустимыми решениями. Исследования эффективности предложенного оператора генетического алгоритма, проведены по результатам 100 вычислительных экспериментов, и демонстрируют более высокие показатели сходимости чем при традиционном способе уничтожения недопустимых особей, полученных по результатам кроссовера. Вычислительные эксперименты проводились с использованием авторской программы реализованной в среде Lazarus, что позволило в полной мере оценить возможности генетических алгоритмов и их применимость к задачам оптимизации. Приведены результаты динамики целевой функции в процессе поиска оптимальных решений.
портфели ценных бумаг
оптимизация портфеля ценных бумаг
параметрическая оптимизация
структурная оптимизация
генетический алгоритм
оценка рисков
автоматические методы торговли
задача Марковица
алгоритмы принятия решений
1. Dong L. Study of Optimal Portfolio Performance on Markowitz and Index Model // Highlights in Business, Economics and Management. 2024. Vol. 24. P. 1823-1835. DOI: 10.54097/dr5w1j81.
2. Shan Ju., Sun B., Li Yu. Markowitz and Index Model in Capital Markets // Advances in Economics, Management and Political Sciences. 2023. Vol. 17, No. 1. P. 215-226. DOI: 10.54254/2754-1169/17/202310.
3. Дзотова Е.Т. Инвестирование российских коммерческих банков в ценные бумаги: автореф. дис. … канд. экон. наук. Санкт-Петербург, 2004. 18 с.
4. Dai L. Portfolio Optimization Using Markowitz Model and Index Model – A Study on 10 Selected Stocks // Highlights in Business, Economics and Management. 2023. Vol. 10. P. 264-269. DOI: 10.54097/hbem.v10i.8050.
5. Veld C., Veld-Merkoulova Y.V. Portfolio diversification benefits of investing in stamps 2007. URL: https://ssrn.com/abstract=968343 (дата обращения: 28.05.2025). DOI: 10.2139/ssrn.968343.
6. Гостева Л.Н. Прогнозирование развития агропромышленного комплекса с учётом государственного управления рисками при реализации инвестиционной программы (на примере АПК Воронежской области): автореф. дис. … канд. экон. наук. Воронеж, 2007. 22 с.
7. Осина А.В., Гаджиев Н.А., Богданов А.И. Формирование инвестиционного портфеля на принципах модели Марковица // Вестник молодых ученых Санкт-Петербургского государственного университета технологии и дизайна. 2018. № 4. С. 563-569. URL: https://publish.sutd.ru/docs/content/vestnik_mu_4_2018.pdf (дата обращения: 28.05.2025).
8. Евстафьева И.Ю., Присяжная Р.И. Финансовый менеджмент: учебное пособие. Санкт-Петербург: Санкт-Петербургский государственный экономический университет, 2015. 211 с.
9. Лебо Ч., Лукас Д.В. Компьютерный анализ фьючерсных рынков / Пер. с англ. М.: АЛЬПИНА, 1998. 304 с.
10. Портнов К.В. Генетические алгоритмы и поиск эффективных порядков индикаторов в биржевой торговой стратегии на основе пересечения трех скользящих средних // Вестник Самарского государственного технического университета. Серия: Технические науки. 2015. № 32. С. 72-76. URL: https://cyberleninka.ru/article/n/geneticheskie-algoritmy-i-poisk-effektivnyh-poryadkov-indikatorov-v-birzhevoy-torgovoy-strategii-na-osnove-peresecheniya-treh/pdf (дата обращения: 28.05.2025).
11. Сопов Е.А. Иванов И.А. Многокритериальные нейроэволюционные системы в задачах машинного обучения и человеко-машинного взаимодействия // Сибирский федеральный университет, Институт космических и информационных технологий. Красноярск: Сибирский федеральный университет, 2019. 160 с.
12. Полковникова Н.А. Полковников А.К. Применение генетических алгоритмов для решения транспортных задач // Морские интеллектуальные технологии. 2022. № 3-1 (57). С. 265-273. DOI: 10.37220/MIT.2022.57.3.034.
13. Курейчик В.М. Логунова Ю.А. Анализ перспективности применения генетического алгоритма при решении задачи коммивояжера // Информационные технологии. 2018. Т. 24. № 11. С. 691-697. DOI: 10.17587/it.24.691-697.
14. Aivaliotis-Apostolopoulos P. Loukidis D. Swarming genetic algorithm: A nested fully coupled hybrid of genetic algorithm and particle swarm optimization // PLoS ONE. 2022. Vol. 17. № 9. P. e0275094. DOI: 10.1371/journal.pone.0275094.
15. Houshmand Nanehkaran F., Lajevardi S.M., Mahlouji Bidgholi M. Nearest neighbors algorithm and genetic-based collaborative filtering // Concurrency Computation Practice and Experience. 2022. Vol. 34. №. 1. P. e6538. DOI: 10.1002/cpe.6538.
16. Firdaus H., Widianti T. Royal Lineage Genetic Algorithm for a Better Solution to Traveling Salesman Problem. 23rd International Symposium INFOTEH-JAHORINA INFOTEH(20.03.2024). East Sarajevo, Bosnia and Herzegovina, 2024. Р. 1-6. DOI: 10.1109/INFOTEH60418.2024.10496037.
17. Pavlenko A.A., Kukartsev V.V., Tynchenko V.S., et al. Comparison of methods for start points initializing of a nonparametric optimization algorithm // Journal of Physics: Conference Series: International Conference «High-Tech and Innovations in Research and Manufacturing» HIRM 2019 (06 may 2019). Vol. 1353. Krasnoyarsk: Institute of Physics Publishing, 2019. P. e012104. DOI: 10.1088/1742-6596/1353/1/012104.

Введение

Одним из видов задач параметрической оптимизации является задача Марковица [1], который впервые предложил математическую формализацию задачи нахождения оптимальной структуры портфеля ценных бумаг в 1951 году, за что позднее был удостоен Нобелевской премии по экономике [2-4]. Существует две постановки задачи оптимизации портфеля ценных бумаг по максимизации доходности портфеля при заданном уровне риска, и минимизации риска портфеля при заданной доходности [5].

Цель исследования – разработка генетического алгоритма для поиска квази-оптимальных решений задачи максимизации доходности портфеля в задаче Марковица, и адаптации генетических операторов к этой задаче.

Материалы и методы исследования

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

Результаты исследования и их обсуждение

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

missing image file, (1)

где N – количество активов; wi – доля общего вложения, приходящаяся на i-й актив; Ei – ожидаемая доходность i-ого актива (%); Ep – ожидаемая доходность портфеля (%); σp – мера риска портфеля; σij – ковариация между доходностями i-ого и j-ого актива[6].

Одним из ограничений будет условие неотрицательности на доли ценных бумаг в портфеле, что обеспечивает работу с классическим портфелем состоящих из «длинных» позиций. Особенностью этого ограничения модели является предел доходности допустимого портфеля, т.к. доходность любого стандартного портфеля не превышает наибольшей доходности актива с максимальной доходностью входящего в портфель[7].

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

На рисунке 1 представлена графическая, теоретическая интерпретация решения задачи, заключающаяся в поиске множества эффективных портфелей среди множества допустимых портфелей[8].

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

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

В рамках данной научной работы, исследуется потенциальная возможность использования генетических алгоритмов для решения задачи Марковица, который необходимо адаптировать под каждую решаемую задачу, что находит отражение в научных трудах, указанных в источниках [10,11].

missing image file

Рис. 1. Допустимое и эффективное множество решений Источник: разработан авторами на основе источника [8, с. 187]

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

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

Под особью xi будем понимать любое допустимое решение задачи (1) в форме вектора действительных чисел, следующего вида:

xi = {w1, w2,… wn}, (2)

где wi – доля i-ого актива.

Необходимо отметить, что особь должна соответствовать ограничениям задачи (формула 1) [12,13].

Под популяцией, в контексте генетического алгоритма, будем подразумевать массив допустимых решений P[K], где K – количество особей в популяции.

Первичная популяция, представленная выражением (3):

P0[K] = {x1, x2,…x k}, (3)

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

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

missing image file (4)

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

1) Максимальное значение функции fitmax (Pi[K])

2) Среднее значение функции fitav(Pi[K])

Допустимые решения, которые использует генетический алгоритм при проведении операций, представлены в двоичной форме, поэтому необходимо определиться с понятием функции кодирования и декодирования представленных выражениями (5) и (6). Если xi – особь(допустимое решение), а hi – хромосома(двоичное представление допустимого решения) то функцией декодирования будет являться функция такая, что:

x1 = dec(hi) (5)

а функцией кодирования будет являться функция такая, что:

h1 = cod(xi) (6)

Программный принцип этих функций представлен на рисунке 2.

Стоит отметить, что для поставленных целей достаточно использовать целочисленные значения долей wi. Если требуется более высокая точность необходимо увеличивать разрядность двоичной хромосомы[13].

missing image file

Рис. 2. принципы кодирования и декодирования для особей из 3х активов Источник: разработан авторами

missing image file

а) Схематичное представление эволюционного процесса, с изменением характеристик популяций

missing image file

б) теоретический вид динамики функции приспособленности

Рис. 3. Моделирование эволюционного процесса Источник: разработан авторами

В результате применения генетических операторов, следует последовательная смена поколений[14], что моделирует процесс эволюции, в конце которой получаем популяцию с квази-оптимальными значениями функции приспособленности. Данный процесс отражен на рисунке 3.

Переход между поколениями популяций в генетическом алгоритме – ключевой цикл эволюционного процесса, обеспечивающий улучшение решений. Переход из поколения Pn в поколение Pn+1 осуществляется через последовательное применение генетических операторов: селекции, кроссовера (скрещивания) и мутации[15,16,17]. Эти операторы имитируют биологические механизмы естественного отбора, рекомбинации генов и случайных изменений.

Для осуществления селекции должен существовать механизм, с помощью которого формируется некоторое множество P[Q] представляющее собой некоторое подмножество особей из популяции Pj[N] которые имеют возможность быть родителями и передавать свою генетическую информацию, процесс схематично отражен на рисунке 4. Такое подмножество называется родительским пулом.

Основные алгоритмы формирования родительского пула, следующие:

1) элитарный способ;

2) селекция турнирным методом;

3) метод «рулетки».

missing image file

Рис.4. Формирование родительского пула Источник: разработан авторами

missing image file

а) устройство оператора кроссовера с одной точкой

missing image file

б) устройство оператора мутации с одной точкой

Рис. 5. Устройство операторов кроссовера и мутации в генетическом алгоритме Источник: разработан авторами

missing image file

а) экранная форма поиска квази-оптимального значения функции приспособленности

missing image file

б) корреляционная матрица 20 ценных бумаг Мосбиржи

Рис. 6. Экспериментальные результаты работы алгоритма оптимизации Источник: разработан авторами

После формирования родительского пула P[Q] проводим операции кроссовера и мутации, принцип работы которых, представлен на рисунке 5.

Как видим из рисунка 5а в результате кроссовера, получается хромосома с недопустимыми параметрами(в данном случае сумма весов превышает 100%). Полученная хромосома требует проведения нормализации и замены данной хромосомы на эквивалентную с сохранением пропорции долей, указанных в генах.

Экспериментальное исследование эффективности генетического алгоритма для решения задачи Марковица проводилась с использованием приложения разработанного в среде разработки Lazarus IDE, для выборки из 20 акций индекса Мосбиржи (идентификаторы активов: GAZP, SBER, ROSN, LKOH, YAND, GMKN, NVTK, VTBR, TCSG, ZHMF, ALRS, PLZL, MGNT, PHOR, NLMK, RLAL, SNGSP, TATN, MTSS, PIKK). Оценка уровня доходности, риска и корреляции проводилась на исторических данных о дневных котировках за 3–5 лет.

Параметры генетического алгоритма, использующиеся для проведения эксперимента:

– размер популяции: 100–500 особей;

– вероятность мутации: 1–5%;

– критерий остановки: стагнация функции приспособленности за 15 поколений.

Экспериментальные результаты работы алгоритма оптимизации представлены на рисунке 6а. В тестовой версии программы, корреляция предустановлена в виде массива констант, отраженного на рисунке 6б. Ограничение по уровню риска задается полем «Огр.риска», результат поиска максимальной доходности приведен в поле «Макс.дох-ть», на рисунке 6а.

Нахождение с помощью генетического алгоритма квази-оптимальных решений задачи максимизации доходности портфеля, при ограничении риска происходит, при достаточно большой ёмкости портфеля состоящего из двадцати активов, за приемлемое время, примерно 60-70 это итераций.

Заключение

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

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

При необходимости адаптации к многокритериальности (например ликвидности активов), могут использоваться модифицированные генетические алгоритмы SPEA, а также применяться методы ниширования (niching) и разделения приспособленности (fitness sharing), что позволит поддерживать разнообразие решений. Это особенно важно при учёте дополнительных параметров.


Библиографическая ссылка

Портнов К.В. ИСПОЛЬЗОВАНИЕ ГЕНЕТИЧЕСКИХ АЛГОРИТМОВ ДЛЯ РЕШЕНИЯ ЗАДАЧИ МАРКОВИЦА // Фундаментальные исследования. 2025. № 6. С. 95-101;
URL: https://fundamental-research.ru/ru/article/view?id=43861 (дата обращения: 04.07.2025).
DOI: https://doi.org/10.17513/fr.43861