Иллюстрированный самоучитель по Architecture .NET

Моделирование фондовой биржи

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

  • Модуль Admin (Управляющий модуль) предоставляет пользовательский интерфейс для конфигурирования и запуска модели. Кроме того, в нем реализованы операции, вызываемые моделирующей машиной.
  • Модуль Engine (Машинный модуль) – это и есть моделирующая машина. В данном модуле есть внутренние часы; модуль случайным образом, в соответствии с параметрами конфигурации, генерирует информацию о совершаемых сделках.

На рис. 5.2 показана общая архитектура модели.

Модель допускает выполнение следующих операций:

  • PrintTick: показывать ход часов (номер текущего шага);
  • PrintTrade: показывать все совершаемые сделки.

Модель содержит следующие параметры:

  • включить/выключить вывод информации о текущем шаге;
  • включить/выключить вывод информации о совершаемых сделках;
  • установить количество шагов моделирования.

Иллюстрированный самоучитель по Architecture .NET › Управляемый C++ в .NET Framework › Моделирование фондовой биржи
Рис. 5.2. Архитектура эмулятора фондовой биржи

Запуск моделирования

Скомпонуйте и запустите программу StockMarket. Начните с принятой по умолчанию конфигурации: информация о текущем шаге не выводится, информация о сделках выводится, количество шагов – 100. (Заметим, что в программе используется генератор случайных чисел, так что результаты будут разными при каждом запуске программы.)

Ticks are OFF
Trades are ON
Run count = 100
Enter command, quit to exit
: run
2 ACME 23 600
27 MSFT 63 400
27 IBM 114 600
38 MSFT 69 400
53 MSFT 75 900
62 INTC 27 800
64 MSFT 82 200
68 MSFT 90 300
81 MSFT 81 600
83 INTC 30 800
91 MSFT 73 700
99 IBM 119 400

Список доступных команд выводится по команде help (помощь). Вот что выводится по этой команде:

count set run count
ticks toggle ticks
trades toggle trades
config show configuration
run run the simulation
quit exit the program

При выполнении программы выводится информация о шаге, акциях, цене и количестве проданных акций.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.