Algorithm for combining automated trading systems to jointly achieve the target result
- Authors: Plotnikov A.P.1, Shishlov R.A.1
-
Affiliations:
- Yuri Gagarin State Technical University of Saratov
- Issue: Vol 15, No 1 (2024)
- Pages: 113-128
- Section: MANAGEMENT
- URL: https://journals.ssau.ru/eco/article/view/27315
- DOI: https://doi.org/10.18287/2542-0461-2024-15-1-113-128
- ID: 27315
Cite item
Full Text
Abstract
Automated trading systems (trading robots) used to make transactions in financial markets do not always provide stable results. The article proposes a universal algorithm that provides a high ratio of profitability and risk in the automatic management of an investment portfolio. The algorithm involves dividing the investment portfolio into several parts, each of which is controlled by an individual trading robot. Each robot gets to manage a part of the investment portfolio, the size of which is calculated according to the chosen method. The rapid automatic adjustment of the size of these parts in accordance with the change in the performance of each robot allows you to achieve a consistently high ratio of profitability and risk of the entire investment portfolio. As concrete examples of the possible implementation of the algorithm, a method for adjusting the shares of the investment portfolio under the control of individual robots in proportion to the effectiveness of each robot and a method for adjusting the shares of the investment portfolio based on nonlinear programming are described. The versatility of the algorithm makes it possible to further supplement and replace these methods and the criteria used for evaluating performance. The article emphasizes that in addition to the result of investments, the use of the algorithm helps to increase the liquidity of investment assets traded on the stock exchange, increases the receipt of taxes, exchange fees and commissions, simplifies calculations, increases the speed of decision-making, increases the number of transactions made in financial markets, which helps bring the latter closer to the state of efficiency, and the improvement of methods for adjusting portfolio shares can make a significant contribution to theoretical research on automatic trading in financial markets and the management of diversified investment portfolios. The algorithm presented in this paper can be used as an instruction for the development of MVP software for combining trading robots to jointly achieve a common target result in managing an investment portfolio. The algorithm is a step-by-step description of the key use case for adjusting the shares of the investment portfolio, which is supplemented for greater clarity with diagrams of use cases and activities performed in UML 2.0 notation.
Full Text
Введение
На современном этапе технологического развития часть задач, ранее выполняемых исключительно человеком, передается автоматическим или полуавтоматическим системам. Этот процесс затронул и виртуальное пространство, в котором применение автоматических систем позволило добиваться более высоких, чем люди, результатов и сделало возможным полностью обходиться без человеческого участия. В частности, сферой деятельности, относящейся к виртуальному пространству, является интернет-трейдинг финансовых инструментов. Применяемые в указанной сфере автоматические торговые системы полностью автоматизируют процесс торговли, получают информацию о состоянии рынка, основываясь на методах технического и/или фундаментального анализа, производят ее обработку и самостоятельно принимают решения о совершении торговых операций. Таким образом, автоматические торговые системы представляют собой комплекс полноценного программного обеспечения и вычислительной техники для осуществления торговли на финансовом рынке [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, иллюстрирующая процесс корректировки долей инвестиционного портфеля.
- Обоснована ценность реализации указанного алгоритма.
About the authors
Arkadiy P. Plotnikov
Yuri Gagarin State Technical University of Saratov
Author for correspondence.
Email: arcd1@yandex.ru
ORCID iD: 0000-0002-2625-9104
Doctor of Economics, professor of the Department of Industry Management and Economic Security
Russian Federation, 77, Polytechnicheskaya Street, Saratov, 410054, Russian FederationRoman A. Shishlov
Yuri Gagarin State Technical University of Saratov
Email: romanshishlov@yandex.ru
ORCID iD: 0000-0002-0999-9821
applicant
Russian Federation, 77, Polytechnicheskaya Street, Saratov, 410054, Russian FederationReferences
- Shishlov R.A., Glazkov V.P. The development of the methods for a merging of the automated trading systems to jointly an achieve target result. In: Problems of management in socio-economic and technical systems: collection of scientific articles based on the materials of the XIII International scientific conference, Saratov, April 06–07, 2017. Saratov, 2017, pp. 322–328. URL: https://www.elibrary.ru/item.asp?id=30265621. EDN: https://www.elibrary.ru/zmhwhl. (In Russ.)
- Ananchenko I.V., Musaev A.A. Trading robots and management in chaotic environments: a review and critique analysis. SPIIRAS Proceedings, 2014, no. 3 (34), pp. 178–203. Available at: http://proceedings.spiiras.nw.ru/index.php/sp/article/download/1868/1695. (In Russ.)
- Batova T.N., Sizova T.M., Khomkov A.V. Evaluation of the performance of automated trading systems based on non-parametric methods. Scientific journal NRU ITMO. Series «Economics and Environmental Management», 2017, no. 4, pp. 54–63. DOI: http://doi.org/10.17586/2310-1172-2017-10-4-54-63. (In Russ.)
- Bukunov S.V., Bukunova O.V. Multi-trend trade system for financial markets. Business Informatics, 2022, vol. 16, no. 4, pp. 36–49. DOI: http://doi.org/10.17323/2587-814X.2022.4.36.49. (In Russ.)
- Plotnikov A.P., Shishlov R.A., Arsenov V.V. An algorithm for organizing long volatility trading based on a delta-neutral strategy. Vestnik Samarskogo universiteta. Ekonomika i upravlenie Vestnik of Samara University. Economics and Management, 2022, vol. 13, no. 3, pp. 156–173. DOI: https://doi.org/10.18287/2542-0461-2022-13-3-156-173. EDN: https://www.elibrary.ru/djtffr. (In Russ.)
- 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. In: 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. Available at: 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.
- Burenin A.N. Securities market and derivative financial instruments: textbook. Moscow: Federativnaya Knigotorgovaya Kompaniya, 1998, 352 p. Available at: https://dl.booksee.org/genesis/30000/39f125de49edeedc862cf589cb8fdfff/_as/[Burenin_A.N.]_Ruenok_cennueh_bumag_i_proizvodnueh(BookSee.org).pdf. (In Russ.)
- Burenin A.N. Portfolio management. Moscow: Nauchno-tekhnicheskoe obshchestvo imeni akademika S.I. Vavilova, 2008, 440 p. Available at: https://klex.ru/1di1?ysclid=ltsek7gizc157572704. (In Russ.)
- Brealey R.A., Myers S.C. Principles of Corporate Finance. Translated from English by N. Baryshnikova. Moscow: ZAO «Olimp–Biznes», 2008, 1008 p. Available at: https://djvu.online/file/UXEfSlfUTgyN7?ysclid=ltsep00sg889452410. (In Russ.)
- Sharpe W.F., Alexander G.J., Bailey J.V. Investments: translated from English. Moscow: INFRA-M, 2001, XII, 1028 p. Available at: https://djvu.online/file/Qc6nuy7mmoNSG?ysclid=ltsfztl9jk772627308. (In Russ.)
- Shapkin A.S., Shapkin V.A. Securities investment portfolio management. 6th edition. Moscow: Dashkov i K°, 2021, 510 p. (In Russ.)
- Gmurman V.E. Probability theory and mathematical statistics: textbook for universities. 9th edition, stereotyped. Moscow: Vyssh. shk., 2003, 479 p. Available at: https://djvu.online/file/kuAHtexuR2pUI?ysclid=ltsiwo6wd5899786554. (In Russ.)
- Eliseeva I.I. [et al.] Statistics: textbook for universities. 6th edition, revised and enlarged. Moscow: Izdatel'stvo Yurait, 2023, 619 p. Available at: https://urait.ru/book/statistika-517575?ysclid=ltsj6gqdf4302585727. (In Russ.)
- Orlov A.I. Decision theory: textbook. Moscow: Izdatel'stvo «Ekzamen», 2005, 656 p. Available at: http://iweb.vyatsu.ru/document/material/40/Теория%20принятия%20решений_Орлов%20А.И_Уч%20пос_2005%20-656с.pdf. (In Russ.)
- Goldshtein A.L. Decision theory. Tasks and methods of operations research and decision making: textbook for university students studying in the field of preparation of qualified specialists «Informatics and computing technology». Perm: Perm. gos. tekhn. un-t, 2004 (OTsNIT Perm. gos. tekhn. un-ta), 360 p. Available at: https://www.elibrary.ru/item.asp?id=19444041. EDN: https://www.elibrary.ru/qjmvth. (In Russ.)
- Khalin V.G. [et al.] Theory of decision making in 2 vols. Vol. 1: textbook and workshop for universities. Moscow: Yurait, 2023, 250 p. Available at: https://lib.samtuit.uz/uploads/files/61b82d96355b09.
- pdf. (In Russ.)
- Yudin D.B. Computational methods of decision theory. Moscow: Nauka. Gl. red. fiz.-mat. lit., 1989, 320 p. (Theory and methods of system analysis). Available at: https://reallib.org/reader?file=470971&ysclid=ltsjuagqvd469059287. (In Russ.)