Алгоритм объединения автоматических торговых систем для повышения качества инвестиционного портфеля
- Авторы: Плотников А.П.1, Шишлов Р.А.1
-
Учреждения:
- Саратовский государственный технический университет имени Гагарина Ю.А.
- Выпуск: Том 15, № 1 (2024)
- Страницы: 113-128
- Раздел: МЕНЕДЖМЕНТ
- URL: https://journals.ssau.ru/eco/article/view/27315
- DOI: https://doi.org/10.18287/2542-0461-2024-15-1-113-128
- ID: 27315
Цитировать
Полный текст
Аннотация
Автоматические торговые системы (торговые роботы), применяемые для совершения сделок на финансовых рынках, не всегда обеспечивают стабильный результат. В статье предложен универсальный алгоритм, обеспечивающий высокое соотношение доходности и риска при автоматическом управлении инвестиционным портфелем. Алгоритм предполагает разделение инвестиционного портфеля на несколько частей, каждая из которых управляется индивидуальным торговым роботом. Каждому роботу достается в управление часть инвестиционного портфеля, размер которой рассчитывается в соответствии с выбранным методом. Оперативная автоматическая корректировка размера указанных частей в соответствии с изменением результативности каждого робота позволяет добиваться стабильно высокого соотношения доходности и риска всего инвестиционного портфеля. В качестве конкретных примеров возможной реализации алгоритма описан метод корректировки находящихся под управлением индивидуальных роботов долей инвестиционного портфеля пропорционально результативности каждого робота и метод корректировки долей инвестиционного портфеля, основанный на нелинейном программировании. Универсальность алгоритма позволяет в дальнейшем дополнять и заменять указанные методы и используемые критерии оценки результативности. В статье подчеркивается, что кроме результата от инвестиций применение алгоритма способствует увеличению ликвидности торгуемых на бирже инвестиционных активов, увеличивает поступление налогов, биржевых сборов и комиссий, упрощает расчеты, повышает скорость принятия решений, увеличивает количество сделок, совершаемых на финансовых рынках, что способствует приближению последних к состоянию эффективности, а совершенствование методов корректировки долей портфеля способно внести существенный вклад в теоретические исследования по автоматической торговле на финансовых рынках и управлению диверсифицированными инвестиционными портфелями. Представленный в настоящей работе алгоритм можно использовать в качестве инструкции для разработки MVP программного обеспечения по объединению торговых роботов для совместного достижения общего целевого результата при управлении инвестиционным портфелем. Алгоритм представляет собой пошаговое описание ключевого варианта использования для корректировки долей инвестиционного портфеля, которое для большей наглядности дополнено диаграммами вариантов использования и деятельности, выполненными в нотации UML 2.0.
Полный текст
Введение
На современном этапе технологического развития часть задач, ранее выполняемых исключительно человеком, передается автоматическим или полуавтоматическим системам. Этот процесс затронул и виртуальное пространство, в котором применение автоматических систем позволило добиваться более высоких, чем люди, результатов и сделало возможным полностью обходиться без человеческого участия. В частности, сферой деятельности, относящейся к виртуальному пространству, является интернет-трейдинг финансовых инструментов. Применяемые в указанной сфере автоматические торговые системы полностью автоматизируют процесс торговли, получают информацию о состоянии рынка, основываясь на методах технического и/или фундаментального анализа, производят ее обработку и самостоятельно принимают решения о совершении торговых операций. Таким образом, автоматические торговые системы представляют собой комплекс полноценного программного обеспечения и вычислительной техники для осуществления торговли на финансовом рынке [1–3]. В связи с тем, что такие системы обладают высокой степенью автономности и автоматизации заложенных в них алгоритмов, их называют «торговыми роботами» [3]. Доля сделок, приходящихся на торговых роботов, с каждым годом стремительно растет, и уже в 2020 году автоматические торговые системы совершали более 50 % торговых операций на Московской бирже [4]. Автоматизация сделок способна улучшить качество расчетов и скорость принятия инвестиционных решений, делает торговые операции более системными и устойчивыми к негативному влиянию человеческого фактора (эмоции, запоздалость действий, ошибочное выставление заявок и т. п.), давая возможность участникам торгов получать повышенный результат от инвестиций [1–6]. Наличие высокорезультативных автоматических торговых систем повышает эффективность и ликвидность на финансовых рынках, увеличивает сумму налогов и комиссий, поступающих от торговых сделок, вносит вклад в диверсификацию экономики, обеспечивая государственный бюджет поступлением денег от высокотехнологичной отрасли. Увеличение спроса на автоматические торговые системы позволяет создать новые рабочие места и стимулировать прикладные научные исследования. Все это делает разработку методов автоматической торговли на финансовых рынках актуальным и востребованным направлением [1–6]. В настоящее время торговые роботы, несмотря на широкую распространенность, недостаточно совершенны, чтобы обеспечивать стабильный результат. Алгоритмы, на базе которых совершается автоматическая торговля, основываются на методах, которые эффективны лишь на отдельно взятом временном интервале, и наступает момент, когда они показывают свою несостоятельность. Это связано не только с тем, что алгоритм содержит ограниченный набор правил, учитывающих не все варианты развития событий на рынке, но также тем, что сами финансовые рынки постоянно меняются, и те правила, которые могли быть эффективны раньше, в новых реалиях с течением времени утрачивают свою актуальность. Поэтому использование одного торгового робота, независимо от качества лежащего в его основе алгоритма и результатов его деятельности в прошлом, имеет высокий риск и может привести к нежелательным результатам [1; 2]. Это побуждает создавать методы автоматической торговли, которые обеспечивают не только высокую эффективность, но также стабильность результатов и способность адаптироваться к любым рыночным реалиям. Рациональным методом является автоматическое формирование инвестиционного портфеля, разделенного на несколько частей, каждая из которых управляется различными роботами. Указанное распределение менее рискованно, чем передача всех средств одному самому эффективному роботу, т. к. обеспечивает принцип диверсификации [1; 2]. Диверсификация успешно применяется в других, связанных с инвестированием, ситуациях. Например, при формировании портфеля из акций рекомендуется выбирать не одну ценную бумагу, обладающую наилучшими характеристиками, а несколько акций, способных своим индивидуальным влиянием уменьшить общий риск портфеля [1; 8–10]. С той же целью формируются паевые инвестиционные фонды фондов и управляемые вручную хедж-фонды, состоящие из множества других хедж-фондов [1; 8–10]. В рамках предлагаемого метода целесообразно создать программное обеспечение (далее – Систему) для подключения к нему поставщиками неограниченного количества роботов. Система передает в управление каждому подключенному роботу часть инвестиционного портфеля пользователя, размер которой может меняться и зависит от результативности робота [1; 2].
Ранее в работе В.П. Глазкова, Р.А. Шишлова [1] предлагалось выполнять указанное распределение прямо пропорционально показателю результативности функционирования робота: чем выше результативность алгоритма, рассчитанная методом Монте-Карло, тем большая доля средств передается под его управление. Для оценки итоговой результативности при этом использовался коэффициент Шарпа. В настоящей работе вместо обязательного применения конкретных критериев и методов будет предложен универсальный алгоритм распределения долей инвестиционного портфеля, управляемых отдельными роботами, в рамках которого могут применяться:
- различные критерии результативности всего инвестиционного портфеля, управляемого множеством роботов;
- различные критерии результативности каждого робота, участвующего в управлении инвестиционным портфелем;
- различные методы перераспределения долей инвестиционного портфеля между множеством роботов.
Таким образом, целью настоящей работы является разработка универсального алгоритма для объединения торговых роботов с целью совместного достижения общего результата при управлении инвестиционным портфелем в рамках концепции MVP, с минимальным набором функций и упрощенными UI/UX для их совершенствования в новых версиях.
Для достижения поставленной цели необходимо решить ряд вспомогательных задач.
- Ввести условные обозначения для терминов, сокращений и ключевых параметров алгоритма.
- Составить диаграмму вариантов использования в нотации UML0, иллюстрирующую взаимодействие Системы с внешними объектами.
- Осуществить реализацию варианта использования для корректировки долей инвестиционного портфеля на указанной диаграмме, раскрывающую более детально взаимодействие Системы с внешними объектами по шагам, в виде текстового описания.
- Дополнить реализацию варианта использования для корректировки долей инвестиционного портфеля диаграммой деятельности, выполненной в нотации UML0.
Ход исследования
Условные обозначения
В настоящей статье введены специальные термины и сокращения, представленные в таблице 1.
Таблица 1 – Специальные термины и сокращения
Table 1 – Special terms and abbreviations
Сокращение/термин | Расшифровка/обозначение |
Брокерский счет | Специальный открытый у брокера счет, с помощью которого инвестор может торговать ценными бумагами, валютой и другими активами |
Вариант использования | Описание последовательности действий (включая их разновидности), осуществляемых системой и порождающих значимый результат для определенного действующего лица |
Демо-счет | Принадлежащий Пользователю демонстрационный брокерский счет, на котором он посредством Системы совершает торговые сделки, используя не реальные, а виртуальные средства |
Диаграмма вариантов использования | Диаграмма, показывающая набор вариантов использования, действующих лиц и их связей |
Диаграмма деятельности | Графическое представление рабочих процессов поэтапных действий и действий с поддержкой выбора, итерации и параллелизма |
Доходность | Доходность в расчете на год |
Пользователь | Физическое или юридическое лицо, которое использует Систему для управления Портфелем |
Пользовательское соглашение | Юридический документ, который регулирует отношения между владельцами и пользователями сайта, приложения или программы, фиксирует права, обязанности и ответственность сторон, а также правила использования ресурса и контента |
Поставщик роботов | Физическое или юридическое лицо, которое предоставляет Системе роботов |
Портфель | Инвестиционный портфель, совокупность финансовых инструментов и денежных средств, управляемая как единое целое |
Реализация вариантов использования | Описание всех или некоторых сценариев, составляющих вариант использования |
Реальный счет | Принадлежащий Пользователю реальный брокерский счет, на котором он посредством Системы совершает торговые сделки, используя не виртуальные, а реальные средства |
Робот | Автоматическая торговая система, которая используется Системой для управления Портфелем |
Сессия | Временной интервал, в течение которого происходит взаимодействие Пользователя с Системой |
Система | Реализованное в виде веб-приложения программное обеспечение по объединению торговых роботов для совместного достижения общего целевого результата при управлении Портфелем |
Спецификация | Текстовое описание синтаксиса и семантики конкретного схематичного блока, декларативное описание того, чем является и что делает некая сущность |
Таймфрейм | Торговый период, интервал времени, используемый для группировки значений результативности и связанных с ней элементов при построении их графика или таблицы и расчете зависимых от них показателей |
Торговый терминал | Специальное программное обеспечение для отслеживания биржевых котировок, просмотра графиков, просмотра результатов управления Портфелем, размещения торговых приказов о покупке или продаже финансовых инструментов |
ТТД | Торговый терминал, подключенный к демо-счету |
ТТР | Торговый терминал, подключенный к реальному счету |
act | Диаграмма деятельности |
CB | Стоимость активов, управляемая текущим роботом, на начало периода |
CE | Стоимость активов, управляемая текущим роботом, на конец периода |
| Ковариация доходности i-го и j-го робота Портфеля |
D | Доходность Портфеля в расчете на год |
d | Доходность робота, управляющего Портфелем, в расчете на год |
MVP | Минимально жизнеспособный продукт, продукт, обладающий минимальными, но достаточными для удовлетворения первых потребителей функциями |
mindd | Минимально допустимый уровень доходности Портфеля, который устраивает Пользователя |
mind | Минимально допустимый уровень доходности, при котором отдельный i-й робот допускается до управления частью Портфеля |
minshh | Минимально допустимый уровень упрощенного коэффициента Шарпа Портфеля, который устраивает Пользователя |
minsh | Минимально допустимый уровень упрощенного коэффициента Шарпа Портфеля, при котором отдельный робот допускается до управления частью Портфеля |
maxsdd | Максимально допустимый уровень среднеквадратичного отклонения Портфеля, который устраивает Пользователя |
maxsd | Максимально допустимый уровень среднеквадратичного отклонения, при котором отдельный робот допускается до управления частью Портфеля |
minw | Минимальная доля Портфеля для одного робота, выраженная в процентах |
Sh | Упрощенный коэффициент Шарпа Портфеля, показатель результативности Портфеля, который вычисляется как отношение доходности Портфеля к среднеквадратичному отклонению доходности Портфеля |
sh | Упрощенный коэффициент Шарпа робота, показатель результативности робота, который вычисляется как отношение доходности робота к среднеквадратичному отклонению доходности робота |
t | Количество лет |
UC | Диаграмма вариантов использования |
uc | Диаграмма вариантов использования |
UI | Userinterfacedesign, процесс визуального управления пользователем через интерфейс продукта с помощью интерактивных элементов, обеспечивающий обмен информацией между человеком и программными компонентами |
UML 2.0 | UnifiedModelingLanguage версии 2.0, язык графического описания для объектного моделирования в области разработки программного обеспечения, для моделирования бизнес-процессов, системного проектирования и отображения организационных структур |
UX | Userexperiencedesign, процесс проектирования и улучшения качественного взаимодействия между пользователем и приложением |
w | Удельный вес робота в Портфеле |
σ | Среднеквадратичное отклонение доходности робота |
| Среднеквадратичное отклонение доходности Портфеля |
R | Показатель результативности робота |
Диаграмма вариантов использования Системы
Диаграмма вариантов использования в нотации UML 2.0, иллюстрирующая взаимодействие Системы с внешними объектами, представлена на рисунке 1.
Примечания
- В настоящей работе на стадии проектирования MVP намеренно представлен алгоритм с ограниченным набором функций. Обновление функций и совершенствование UI/UX авторы статьи рекомендуется сделать в более поздних версиях Системы.
- В вариантах использования «Управление», «Установка параметров» и «Корректировка долей Портфеля» в рамках универсального алгоритма используются конкретные методы перераспределения долей и критерии оценки результативности. В новых версиях Системы они могут быть скорректированы или заменены другими.
- При проектировании Системы наряду с реальным брокерским счетом используется брокерский демо-счет, т. к., параллельно тестируя робота на исторических данных демо-счета, можно получать статистику по результативности робота не только за время его использования на реальном счете, которого не всегда достаточно для получения объективной оценки, но и за большие предыдущие интервалы времени.
Реализация вариантов использования Системы
Реализация каждого варианта использования представленной на рисунке 1 диаграммы, раскрывающая более детально взаимодействие Системы с каждым внешним объектом по шагам, может быть представлена в виде текстовых описаний. Последние достаточно громоздки и имеют много повторяющихся элементов. Поэтому приведем для примера описание корректировки долей портфеля, отражающее суть предлагаемого в статье метода.
Примерный макет главной страницы интерфейса Пользователя представлен на рисунке 2.
Корректировка долей Портфеля
Участники: Пользователь, Система, ТТР, ТТД.
Описание: Автоматическая корректировка долей Портфеля Системой в ТТР для повышения результативности управления Портфелем.
Предусловие:
- Система получила команду о запуске корректировки долей Портфеля при выборе Пользователем опции «Запустить», см. UC «Управление».
Постусловие:
- Система осуществила корректировку долей Портфеля с момента ее запуска до момента ее приостановки Пользователем.
Основной поток:
- Система запрашивает от ТТР данные:
- долю каждого робота, участвующего в управлении Портфелем;
- доходность Портфеля (D).
- ТТР передает указанные выше данные Системе.
- Система рассчитывает показатели всего Портфеля: Sh, – на основании данных из ТТР: доходностей Портфеля за несколько периодов (см. примечание 1 ниже);
- Система отображает в соответствующих полях, указанных в вариантах использования «Управление», «Обзор показателей всех роботов», «Обзор конкретного робота»:
- упрощенный коэффициента Шарпа всего Портфеля (Sh);
- доходность всего Портфеля(D);
- среднеквадратичное отклонение всего Портфеля ( );
- количество активных роботов, управляющих Портфелем;
- доли каждого робота, управляющего Портфелем.
- Если корректировка долей Портфеля приостановлена, указанные поля отображают свои последние значения до приостановки корректировки долей Портфеля.
- Если значения указанных полей никогда ранее не были рассчитаны, они заполняются знаком «–».
Рисунок 1 – Диаграмма вариантов использования Системы
Figure 1 – Diagram of System use cases
Рисунок 2 – Примерный макет главной страницы интерфейса Пользователя
Figure 2 – Sample layout of the main page of the User interface
- Система запрашивает от ТТД:
- доходность каждого робота (d), рассчитанная при тестировании робота на исторических данных.
- ТТД передает запрошенные данные Системе.
- Система:
- рассчитывает показатели каждого робота: sh, – на основании d (см. примечание 2 ниже);
- отображает показатели каждого робота: sh, d, – в соответствующих столбцах таблиц, указанных в варианте использования «Обзор показателей всех роботов» и «Обзор конкретного робота»;
- если корректировка долей Портфеля приостановлена, указанные поля отображают свои последние значения до приостановки корректировки долей Портфеля;
- если значения указанных столбцов никогда ранее не были рассчитаны, они заполняются знаком «–»;
- выбирает роботы, удовлетворяющие условиям, указанным в группе полей «Предельные значения результативности каждого робота» в соответствии с вариантом использования «Установка параметров»;
- с учетом показателей всех выбранных согласно указанным условиям роботов: sh, d, – рассчитывает доли Портфеля, которые должны управляться отдельными роботами:
- если Пользователь в выпадающем списке «Метод распределения долей Портфеля для каждого робота» выбирает вариант «Пропорционально результату», доли Портфеля корректируются прямо пропорционально результативности, увеличение которой желательно (sh, d), и обратно пропорционально результативности, увеличение которой нежелательно ( ) (см. примечание 3 ниже);
- если Пользователь в выпадающем списке «Метод распределения долей портфеля для каждого робота» выбирает вариант «Нелинейное программирование», Система подбирает оптимальные значения долей каждой части Портфеля, которые обеспечивают наилучшее значение для целевого показателя: максимальное – для sh, d, минимальное – для (см. примечание 4 ниже);
- если согласно результатам расчетов робот, отстраненный от управления Портфелем и имеющий статус «Приостановлен автоматически», получает долю в Портфеле более 0 %, его статус меняется на «Активен»;
- если согласно результатам расчетов робот, ранее допущенный до управления Портфелем и имеющий статус «Активен», отстраняется от управления и его доля в Портфеле становиться равна 0%, его статус меняется на «Приостановлен автоматически»;
- если согласно результатам расчетов совместная деятельность роботов не способна обеспечить достаточную результативность всего Портфеля, указанную в группе полей «Предельные значения результативности всего портфеля» в соответствии с вариантом использования «Установка параметров», всем роботам присваивается статус «Приостановлен автоматически», а их доля в Портфеле становится равной 0 %;
- передает значение долей Портфеля, которые должны управляться отдельными роботами, вТТР;
- ТТР:
- получает значения долей Портфеля;
- на основании полученных значений корректирует доли Портфеля.
- Переход на шаг 1.
Исключительный поток:
- На любом шаге основного потока, если Пользователь находится на главной странице интерфейса Пользователя, он может выбрать опцию «Остановить».
- Система прерывает выполнение действия варианта использования «Корректировка долей Портфеля».
Примечания
- Показатели всего Портфеля (Sh, ) рассчитываются по следующим формулам:
, |
(1) |
где – стандартное отклонение доходности Портфеля; – средняя доходность Портфеля; она определяется как средняя арифметическая доходностей Портфеля, полученных из ТТР, за периоды наблюдения, а именно:
, | (2) |
где – доходность Портфеля в i-м периоде (дне); n – количество периодов (дней), авторы статьи рекомендуют рассчитывать значение σ при наличии данных не менее, чем за 10 дней [1; 2; 8–17].
, |
(3) |
где – стандартное отклонение доходности Портфеля, вычисляется по
формуле (1); D – средняя доходность Портфеля в расчете на год за рассматриваемый период, полученная из ТТР, которая вычисляется по формуле:
– 1, | (4) |
где – стоимость Портфеля на конец периода; – стоимость Портфеля на начало периода; t – количество лет [1, 2, 8–17].
- Показатели каждого робота (sh, ) рассчитываются по следующим формулам:
, | (5) |
где σ – стандартное отклонение доходности робота, – средняя доходность робота; она определяется как средняя арифметическая доходностей робота за периоды наблюдения, а именно:
, | (6) |
где di – доходность робота в i-м периоде (дне), n – количество периодов (дней), авторы статьи рекомендуют рассчитывать значение σ при наличии данных не менее, чем за 10 дней [1, 2, 8–13].
, | (7) |
где σ – стандартное отклонение доходности робота, вычисляется по формуле (5);
d – средняя доходность робота в расчете на год за рассматриваемый период, полученная из ТТД, которая вычисляется по формуле:
– 1, | (8) |
где CE – стоимость активов, управляемая текущим роботом, на конец периода,
CB – стоимость активов, управляемых текущим роботом, на начало периода; t – количество лет
[1; 8–12].
- При выборе Пользователем в варианте использования «Установка параметров» метода распределения долей Портфеля «Пропорционально результату» каждая доля Портфеля, управляемая отдельным роботом, вычисляется следующим образом.
Для упрощенного коэффициента Шарпа и доходности:
| (9)
|
где – удельный вес i-го робота в Портфеле, выраженный в процентах; –показатель результативности (упрощенного коэффициента Шарпа или доходности) i-го робота; –показатель результативности (среднеквадратичного отклонения) j-го робота; n–количество роботов, доступных Пользователю [1; 2; 8–17].
Для среднеквадратичного отклонения:
| (10) |
где – удельный вес i-го робота в Портфеле, выраженный в процентах; – показатель результативности (среднеквадратичного отклонения) i-го робота; – показатель результативности (среднеквадратичного отклонения) j-го робота; n – количество роботов, доступных Пользователю [1; 8–16].
Если в результате вычислений рассчитанная доля Портфеля, предназначенная для робота, оказывается меньше минимально допустимого уровня, указанного Пользователем в варианте использования «Установка параметров», она перераспределяется между другими роботами, удовлетворяющими всем критериям для управления Портфелем, пропорционально их рассчитанным долям по тем же принципам, в соответствии с формулой (9) или (10). Подобные итерации по перераспределению слишком малых долей Портфеля производится до тех пор, пока сумма всех долей, выраженная в процентах, при округлении ее дробной части до целого не станет равной 100 %.
- При выборе Пользователем в варианте использования «Установка параметров» метода распределения долей Портфеля «Нелинейное программирование» каждая доля Портфеля, управляемая индивидуальным роботом, вычисляется в соответствии с изложенными ниже принципами.
В основе расчета лежит то, что доходность Портфеля, которую можно представить как среднее гармоническое доходностей в расчете на год отдельных частей Портфеля, управляемых индивидуальными роботами, определяется формулой:
| (11) |
где – доходность Портфеля;
– доходность i-го робота;
– удельный вес i-го робота в Портфеле;
– удельный вес j-го робота в Портфеле[1, 2, 8–13].
Суммарный риск Портфеля, состоящего из множества компонентов (долей Портфеля, управляемых отдельными роботами), определяется формулой:
, | (12) |
где – риск портфеля;
– удельный вес i-го робота в Портфеле;
– удельный вес j-го робота в Портфеле;
– ковариация доходности i-го и j-го компонентов портфеля[1, 2, 8–13].
- Если в качестве целевого показателя используется Sh, целевая функция, подлежащая максимизации, с учетом наложенных в варианте использования «Установка параметров» ограничений имеет вид:
;
;
minw; 0, |
(13) |
где Sh – упрощенный коэффициент Шарпа Портфеля; – упрощенный коэффициент Шарпа отдельного i-го робота; D – доходность Портфеля; – доходность отдельного i-го робота; – среднеквадратичное отклонение доходности Портфеля; – среднеквадратичное отклонение отдельного i-го робота; – удельный вес i-го робота в Портфеле; – удельный вес j-го робота в Портфеле; minw – минимальная доля Портфеля для одного робота, выраженная в процентах; – ковариация доходности i-го и j-го робота Портфеля; mindd – минимально допустимый уровень доходности Портфеля, который устраивает Пользователя; mind – минимально допустимый уровень доходности, при котором отдельный i-й робот допускается до управления частью Портфеля; minshh – минимально допустимый уровень упрощенного коэффициента Шарпа Портфеля, который устраивает Пользователя; minsh – минимально допустимый уровень упрощенного коэффициента Шарпа Портфеля, при котором отдельный i-й робот допускается до управления частью Портфеля; maxsdd – максимально допустимый уровень среднеквадратичного отклонения Портфеля, который устраивает Пользователя; maxsd – максимально допустимый уровень среднеквадратичного отклонения, при котором отдельный i-й робот допускается до управления частью Портфеля; – среднеквадратичное отклонение доходности Портфеля: – среднеквадратичное отклонение доходности отдельного i-го робота; n – количество роботов, доступных Пользователю [1; 2; 8–16].
- Если в качестве целевого показателя используется доходность Портфеля, целевая функция, подлежащая максимизации, с учетом наложенных в варианте использования «Установка параметров» ограничений имеет вид:
|
(14) |
|
|
;
;
minw; 0, |
|
|
|
где Sh – упрощенный коэффициент Шарпа Портфеля; – упрощенный коэффициент Шарпа отдельного i-го робота; D – доходность Портфеля; – доходность отдельного i-го робота; – среднеквадратичное отклонение доходности Портфеля; – среднеквадратичное отклонение отдельного i-го робота; – удельный вес i-го робота в Портфеле; – удельный вес j-го робота в Портфеле; minw – минимальная доля Портфеля для одного робота, выраженная в процентах; – ковариация доходности i-го и j-го робота Портфеля; mindd – минимально допустимый уровень доходности Портфеля, который устраивает Пользователя; mind – минимально допустимый уровень доходности, при котором отдельный i-й робот допускается до управления частью Портфеля; minshh – минимально допустимый уровень упрощенного коэффициента Шарпа Портфеля, который устраивает Пользователя; minsh – минимально допустимый уровень упрощенного коэффициента Шарпа Портфеля, при котором отдельный i-й робот допускается до управления частью Портфеля; maxsdd – максимально допустимый уровень среднеквадратичного отклонения Портфеля, который устраивает Пользователя; maxsd – максимально допустимый уровень среднеквадратичного отклонения, при котором отдельный i-й робот допускается до управления частью Портфеля; – среднеквадратичное отклонение доходности Портфеля: – среднеквадратичное отклонение доходности отдельного i-го робота; n – количество роботов, доступных Пользователю [1, 2, 8–16].
- Если в качестве целевого показателя используется среднеквадратичное отклонение доходности Портфеля, целевая функция, подлежащая минимизации, с учетом наложенных в варианте использования «Установка параметров» ограничений имеет вид:
, |
(15) | |
;
;
minw; 0, |
|
|
где Sh – упрощенный коэффициент Шарпа Портфеля; – упрощенный коэффициент Шарпа отдельного i-го робота; D – доходность Портфеля; – доходность отдельного i-го робота; – среднеквадратичное отклонение доходности Портфеля; – среднеквадратичное отклонение отдельного i-го робота; – удельный вес i-го робота в Портфеле; – удельный вес j-го робота в Портфеле; minw – минимальная доля Портфеля для одного робота, выраженная в процентах; – ковариация доходности i-го и j-го робота Портфеля; mindd – минимально допустимый уровень доходности Портфеля, который устраивает Пользователя; mind – минимально допустимый уровень доходности, при котором отдельный i-й робот допускается до управления частью Портфеля; minshh – минимально допустимый уровень упрощенного коэффициента Шарпа Портфеля, который устраивает Пользователя; minsh – минимально допустимый уровень упрощенного коэффициента Шарпа Портфеля, при котором отдельный i-й робот допускается до управления частью Портфеля; maxsdd – максимально допустимый уровень среднеквадратичного отклонения Портфеля, который устраивает Пользователя; maxsd – максимально допустимый уровень среднеквадратичного отклонения, при котором отдельный i-й робот допускается до управления частью Портфеля; – среднеквадратичное отклонение доходности Портфеля: – среднеквадратичное отклонение доходности отдельного i-го робота; n – количество роботов, доступных Пользователю [1; 2; 8–16].
Диаграмма деятельности для варианта использования «Корректировка долей Портфеля»
Так как вариант использования «Корректировка долей Портфеля» является наиболее значимой частью алгоритма, для его реализации, помимо текстового описания, дополнительно составлена представленная на рисунке 3 диаграмма деятельности в нотации UML 2.0.
Рисунок 3 – Диаграмма деятельности корректировки долей Портфеля
Figure 3 – Activity diagram of Portfolio share adjustments
В настоящей статье был разработан универсальный алгоритм, позволяющий обеспечивать приемлемую с точки зрения соотношения доходности и риска результативность автоматической торговли, способный сохранять высокие показатели с течением времени в любых рыночных условиях. На основе предложенных моделей и алгоритма может быть разработано программное обеспечение, позволяющее объединить автоматические торговые системы для совместного достижения целевого результата. Уточнению предложенного алгоритма и расширению его функционала будут посвящены отдельные работы.
Кроме результата от инвестиций, применение алгоритма при разработке Системы приводит к более активному использованию торговых роботов, что способствует увеличению ликвидности торгуемых на бирже инвестиционных активов, увеличивает поступление налогов, биржевых сборов и комиссий, что приносит большую социально-экономическую пользу. Использование Системы упрощает расчеты, повышает скорость принятия решений и способно значительно увеличить количество сделок, совершаемых на финансовых рынках, что способствует приближению последних к состоянию эффективности. Кроме того, совершенствование поиска оптимальных значений долей инвестиционного портфеля методом нелинейного программирования, в частности путем введения новых ограничений для целевых функций, и нахождение новых методов перераспределения долей Портфеля, например с использованием машинного обучения, способно внести существенный вклад в теоретические исследования по автоматической торговле на финансовых рынках и управлению диверсифицированными инвестиционными портфелями [1–6; 14–16].
Полученные результаты и выводы
- Математически обоснованы условия изменения долей инвестиционного портфеля, управляемого отдельными роботами.
- Разработан универсальный алгоритм для программного обеспечения по объединению торговых роботов для совместного достижения общего целевого результата при управлении инвестиционным портфелем.
- Составлена диаграмма вариантов использования в нотации UML0, иллюстрирующая взаимодействие Системы с внешними объектами.
- Составлена спецификация в виде текстового описания к варианту использования для корректировки долей инвестиционного портфеля на указанной диаграмме, детально раскрывающая взаимодействие Системы с внешними объектами по шагам.
- Для варианта использования «Корректировка долей Портфеля» составлена диаграмма деятельности в нотации UML0, иллюстрирующая процесс корректировки долей инвестиционного портфеля.
- Обоснована ценность реализации указанного алгоритма.
Об авторах
Аркадий Петрович Плотников
Саратовский государственный технический университет имени Гагарина Ю.А.
Автор, ответственный за переписку.
Email: arcd1@yandex.ru
ORCID iD: 0000-0002-2625-9104
доктор экономических наук, профессор кафедры «Отраслевое управление и экономическая безопасность»
Россия, 410054, Российская Федерация, г. Саратов, ул. Политехническая, 77Роман Андреевич Шишлов
Саратовский государственный технический университет имени Гагарина Ю.А.
Email: romanshishlov@yandex.ru
ORCID iD: 0000-0002-0999-9821
соискатель
Россия, 410054, Российская Федерация, г. Саратов, ул. Политехническая, 77Список литературы
- Шишлов Р.А., Глазков В.П. Разработка методики по объединению автоматических торговых систем для совместного достижения целевого результата // Проблемы управления в социально-экономических и технических системах: сб. науч. ст. по материалам ХIII Междунар. науч. конф., г. Саратов, 06–07 апр. 2017 г. Саратов, 2017. C. 322–328. URL: https://www.elibrary.ru/item.asp?id=30265621. EDN: https://www.elibrary.ru/zmhwhl.
- Ананченко И.В., Мусаев А.А. Торговые роботы и управление в хаотических средах: обзор и критический анализ. //Труды СПИИРАН. 2014. № 3 (34). С. 178–203. URL: http://proceedings.
- spiiras.nw.ru/index.php/sp/article/download/1868/1695.
- Батова Т.Н., Сизова Т.М., Хомков А.В. Оценка результативности автоматизированных торговых систем на основе непараметрических методов // Научный журнал НИУ ИТМО. Серия Экономика и экологический менеджмент. 2017. № 4. С. 54–63. DOI: http://doi.org/10.17586/2310-1172-2017-10-4-54-63.
- Букунов С.В., Букунова О.В. Мультитрендовая торговая система для работы на финансовых рынках // Бизнес-информатика. 2022. Т. 16, № 4. С. 36–49. DOI: http://doi.org/10.17323/2587-814X.2022.4.36.49.
- Плотников А.П., Шишлов Р.А., Арсенов В.В. Алгоритм для организации длинной торговли волатильностью на базе дельта-нейтральной стратегии // Вестник Самарского университета. Экономика и управление. 2022. Т. 13, № 3. С. 156–173. DOI: https://doi.org/10.18287/2542-0461-2022-13-3-156-173. EDN: https://www.elibrary.ru/djtffr.
- Plotnikov A.P., Shishlov R.A., Kazakova F.A., Bakieva M.Y. Automation of the Transaction Strategy with Shares Based on the Government Bonds’ Yield Curve // Proceedings of the 37th International-Business Information Management Association Conference Innovation Management and Information Technology Impact on Global Economy in the Era of Pandemic. Cordoba, Spain, 2021, pp. 2849–2856. URL: https://ibima.org/accepted-paper/automation-of-the-transaction-strategy-with-shares-based-on-the-government-bonds-yield-curve; https://www.elibrary.ru/item.asp?id=50399632. EDN: https://www.elibrary.ru/rpncng.
- Буренин А.Н. Рынок ценных бумаг и производных финансовых инструментов: учебное пособие. Москва: Федеративная Книготорговая Компания, 1998. 352 с. URL: https://dl.booksee.org/genesis/30000/39f125de49edeedc862cf589cb8fdfff/_as/[Burenin_A.N.]_Ruenok_cennueh_bumag_i_proizvodnueh(BookSee.org).pdf.
- Буренин А.Н. Управление портфелем ценных бумаг. Москва: Научно-техническое общество имени академика С.И. Вавилова, 2008. 440 с. URL: https://klex.ru/1di1?ysclid=ltsek7gizc157572704.
- Брейли Р., Майерс С. Принципы корпоративных финансов / пер. с англ. Н. Барышниковой. Москва: ЗАО «Олимп–Бизнес», 2008. 1008 с. URL: https://djvu.online/file/UXEfSlfUTgyN7?ysclid=ltsep00sg
- 889452410.
- Шарп У., Александер Г., Бэйли Дж. Инвестиции: пер. с англ. Москва: ИНФРА-М, 2001. XII. 1028 с. URL: https://djvu.online/file/Qc6nuy7mmoNSG?ysclid=ltsfztl9jk772627308.
- Шапкин А.С., Шапкин В.А. Управление портфелем инвестиций ценных бумаг. 6-е изд. Москва: Дашков и К°, 2021. 510 с.
- Гмурман В.Е. Теория вероятностей и математическая статистика: учеб. пособие для вузов. 9-е изд., стер. Москва: Высш. шк., 2003. 479 с. URL: https://djvu.online/file/kuAHtexuR2pUI?ysclid=ltsiwo6wd5899786554.
- Статистика: учебник для вузов / И.И. Елисеева [и др.]; ответ. ред. И.И. Елисеева. 6-е изд., перераб. и доп. Москва: Юрайт, 2023. 619 с. URL: https://urait.ru/book/statistika-517575?ysclid=ltsj6gqdf4302585727.
- Орлов А.И. Теория принятия решений: учебное пособие. Москва: Экзамен, 2005. 656 с. URL: http://iweb.vyatsu.ru/document/material/40/Теория%20принятия%20решений_Орлов%20А.И_Уч%20пос_2005%20-656с.pdf.
- Теория принятия решений. Задачи и методы исследования операций и принятия решений: учеб. пособие для студентов вузов, обучающихся по направлению подгот. дипломир. специалистов «Информатика и вычислит. Техника» / А.Л. Гольдштейн; М-во образования и науки Рос. Федерации, Перм. гос. техн. ун-т. Пермь: Перм. гос. техн. ун-т, 2004 (ОЦНИТ Перм. гос. техн. ун-та). 360 с. URL: https://www.elibrary.ru/item.asp?id=19444041. EDN: https://www.elibrary.ru/qjmvth.
- Теория принятия решений: в 2 т. Том 1: учебник и практикум для вузов / В.Г. Халин [и др.]; под редакцией В.Г. Халина. Москва: Юрайт, 2023. 250 с. URL: https://lib.samtuit.uz/uploads/files/61b82d96355b09.55742140.pdf.
- Юдин Д.Б. Вычислительные методы теории принятия решений. Москва: Наука. Гл. ред. физ.-мат. лит., 1989. 320 с. (Теория и методы системного анализа). URL: https://reallib.org/reader?file=470971&ysclid=ltsjuagqvd469059287.