Лабораторная работа 3
Задание для лр (для групп 3-4 человека)
Задача – спроектировать высокоуровневую архитектуру агентной системы поддержки принятия решений для одной из следующих областей:
· Группа 1: Умный город (оптимизация движения транспорта и работы светофоров в реальном времени).
· Группа 2: Кризисный менеджмент (координация действий спасателей, медиков и полиции при крупном стихийном бедствии).
· Группа 3: Алгоритмическая торговля на финансовых рынках*.
Представить:
1. Типы агентов в системе? (3-5 типов).
2. Роль каждого агента
3. Один конкретный сценарий их взаимодействия
Требования для отчета/презентации:
1. Анализ компромиссов (Trade-off Analysis): Обоснуйте ключевые архитектурные решения. Например:
2. Централизованный координатор vs. Полностью децентрализованная система? Какие плюсы и минусы каждого подхода для вашей предметной области?
3. Скорость реакции vs. Оптимальность глобального решения?
4. Пропускная способность каналов связи vs. Надежность?
5. Моделирование данных и коммуникации: Опишите ключевые форматы сообщений или API между агентами. Что за данные они передают? (например, агент перекрестка отправляет {traffic_flow: 0.85, avg_speed: 22.5, emergency_vehicle_detected: true}).
6. Рассмотрение рисков и этики: Особенно для темы алготрейдинга и умного города. Что если агент даст сбой? Как избежать дискриминационных решений в распределении ресурсов при кризисе? Как обеспечить кибербезопасность?
Пример выполнения задания (на основе темы "Умный город")
Тема: Группа 1: Умный город (оптимизация движения транспорта и работы светофоров в реальном времени).
1. Типы агентов в системе:
1. Агент Датчика Перекрестка (Intersection Sensor Agent)
2. Агент Светофора (Traffic Light Agent)
3. Агент Анализа Потока (Traffic Flow Analyzer Agent)
4. Агент Координатора Района (District Coordinator Agent)
5. Агент Приоритетного Транспорта (Emergency Vehicle Agent) - опционально, но усложняет сценарий.
2. Роль каждого агента:
· Агент Датчика Перекрестка: Собирает сырые данные с камер, радаров, петлей индукции на конкретном перекрестке (интенсивность, скорость, длина очереди, обнаружение спецтранспорта).
· Агент Светофора: Управляет работой светофорных фаз на своем перекрестке. Получает рекомендации от координирующих агентов, но имеет локальную логику для экстренных случаев.
· Агент Анализа Потока: Агрегирует данные от нескольких Агентов Датчиков. Строит краткосрочный прогноз загруженности, идентифицирует возникающие пробки.
· Агент Координатора Района: Получает данные от Агентов Анализа Потока в своем районе. Принимает стратегические решения для оптимизации потока во всем районе (например, "зеленая волна"), рассылает целевые показатели Агентам Светофоров.
· Агент Приоритетного Транспорта: Сообщает системе о своем маршруте и местоположении, запрашивая приоритетный проезд.
3. Конкретный сценарий их взаимодействия:
Сценарий: Проезд кареты скорой помощи через перегруженный район.
1. Инициация: Агент Приоритетного Транспорта (скорая) отправляет сообщение ближайшему Агенту Координатора Района: {vehicle_id: "AMB123", type: "Ambulance", route: [A, B, C], priority: "HIGH"}.
2. Осведомленность: Агент Координатора Района запрашивает у всех Агентов Анализа Потока вдоль маршрута A->B->C данные о текущей загруженности.
3. Планирование: На основе полученных данных Агент Координатора вычисляет оптимальный план ("зеленая улица") и рассылает целевые команды Агентам Светофоров на маршруте: {light_id: "L45", command: "preempt_phase", for_vehicle: "AMB123", ETA: 120 seconds}.
4. Локальное исполнение: Агент Светофора L45 получает команду. Он может локально взаимодействовать со своими Агентами Датчиков, чтобы точно определить момент переключения фазы, когда скорая приблизится, не создавая аварийной ситуации для других направлений.
5. Обратная связь и адаптация: После проезда скорой, Агенты Светофоров сообщают Агенту Координатора о выполнении плана. Агент Координатора запускает процесс плавного возврата системы к нормальному режиму работы, чтобы минимизировать последствия приоритизации.
*.
Алготрейд (от англ. Algorithmic Trading) — это алгоритмическая торговля, то есть использование компьютерных программ и математических моделей для автоматического совершения сделок на финансовых рынках.
Главная идея в том, что решения о покупке или продаже принимаются не человеком на основе эмоций или интуиции, а алгоритмом на основе заранее заданных правил и анализа больших объемов данных.
Ключевые особенности алготрейдинга:
1. Скорость: Алгоритмы могут реагировать на изменения рынка за миллисекунды, что недоступно человеку.
2. Дисциплина: Алгоритм не подвержен страху, жадности или другим эмоциям. Он строго следует своей логике.
3. Объем данных: Алгоритмы могут анализировать огромное количество данных (котировки, новости, макроэкономическую статистику) одновременно.
4. Массовость: Одна программа может одновременно отслеживать и торговать сотнями инструментов (акций, валютных пар и т.д.).
Пример.
Задача алгоритма: Купить акции компании Х, если ее цена опустится на 2% ниже скользящей средней за 50 дней.
Сценарий:
1. Программа-алгоритм постоянно в режиме реального времени получает цену акции Х и вычисляет ее 50-дневную скользящую среднюю.
2. Условие: Если (Текущая цена < (Скользящая средняя * 0.98)), то КУПИТЬ.
3. В какой-то момент рынок совершает колебание, и условие срабатывает.
4. Без участия человека алгоритм мгновенно отправляет на биржу заявку на покуплю заданного количества акций.
5. Сделка совершена.
Стратегии в алготрейдинге
Стратегии могут быть невероятно сложными, но их можно сгруппировать в несколько типов:
· Арбитраж: Поиск кратковременной разницы в цене одного и того же актива на разных биржах. Купить там, где дешевле, и сразу продать там, где дороже.
· Торговля по тренду (Trend Following): Алгоритм определяет начало восходящего или нисходящего тренда и следует за ним ("покупай на росте, продавай на падении").
· Статистический арбитраж и парный трейдинг (Pairs Trading): Поиск корреляции между двумя активами (например, акциями "Газпрома" и "Лукойла"). Если их привычная ценовая разница нарушается, алгоритм покупает недооцененный актив и продает переоцененный.
· Создание рынка (Market Making): Алгоритм постоянно выставляет как заявки на покупку (бид), так и на продажу (аск), зарабатывая на разнице между ними (спреде). Это обеспечивает ликвидность рынку.
· Высокочастотный трейдинг (High-Frequency Trading, HFT): Самый продвинутый и спорный вид. Сверхбыстрые алгоритмы совершают тысячи сделок в секунду, пытаясь заработать на микроскопических движениях цены. Требует прямое подключение к серверам биржи.
Пример архитектуры агентной системы для алготрейдинга:
1. Типы агентов:
· Агент Сбора Данных (Data Feed Agent): Получает рыночные данные в реальном времени с бирж.
· Агент Анализа (Analyzer Agent): Анализирует данные, ищет сигналы для торговли по заданным стратегиям.
· Агент Управления Рисками (Risk Manager Agent): Следит за уровнем риска портфеля, может отменять опасные сделки.
· Агент Исполнения Сделок (Execution Agent): Отправляет приказы на покупку/продажу на биржу.
· Агент-Координатор (Coordinator Agent): Управляет взаимодействием всех агентов, распределяет ресурсы.
2. Сценарий взаимодействия:
1. Инициация: Агент Сбора Данных фиксирует резкий всплеск объема торгов по акции Y.
2. Анализ: Он сообщает об этом Агенту Анализа. Тот, используя свою модель, определяет, что это сильный сигнал к покупке.
3. Проверка: Агент Анализа отправляет запрос на сделку Агенту Управления Рисками.
4. Разрешение: Агент Рисков проверяет, не превысит ли сделка установленные лимиты, и дает "добро".
5. Исполнение: Агент-Координатор передает разрешенную заявку Агенту Исполнения, который мгновенно выставляет ее на биржу.