exponenta event banner

Реализация финансовой стратегии с использованием Stateflow

В этом примере показано, как использовать автономный график Stateflow ® для моделирования стратегии финансовой торговли, известной как Bollinger Bands. Автономные диаграммы реализуют классическую семантику диаграмм с MATLAB ® в качестве языка действий. Можно запрограммировать диаграмму с помощью всех функциональных возможностей MATLAB, включая функции, ограниченные для генерации кода в Simulink ®. Дополнительные сведения см. в разделе Создание диаграмм потока состояний для выполнения в виде объектов MATLAB.

Вычислить полосы Боллинджера

Торговая стратегия Bollinger Bands заключается в поддержании скользящего среднего N котировки акций для некоторых товаров и выдача торговых инструкций в зависимости от стоимости акций:

  • «Покупать» при падении стоимости акции K стандартные отклонения ниже скользящего среднего.

  • «Продавать» при повышении стоимости акций K стандартные отклонения выше скользящего среднего.

  • «Удерживать», если стоимость запаса находится в пределах K стандартные отклонения скользящего среднего.

В типичных реализациях для этой стратегии используются значения N = 20 и K = 2.

Файл sf_stock_watch.sfx определяет автономную диаграмму Stateflow, реализующую эту финансовую стратегию. Диаграмма состоит из двух внешних состояний в параллельном разложении.

  • StockTicker вложенная диаграмма записывает текущую цену запаса. В подшарте скрыты подробные данные для расчета цен на акции. Для получения доступа к рыночным данным от поставщиков финансовых данных в режиме реального времени возможно использование Toolbox™ Datafeed. Дополнительные сведения см. в разделе Панель инструментов Datafeed.

  • FinancialAdvisor состояние использует последнее N цены акций для расчета высоких и низких диапазонов. В зависимости от текущей цены относительно этих полос государство генерирует инструкции «покупать», «продавать» или «держать». Действие on every(1,sec) создает таймер MATLAB ® для выполнения диаграммы каждую секунду. См. раздел Выполнение контрольной диаграммы с помощью временной логики.

Параллельная декомпозиция - это общий шаблон конструкции, который позволяет алгоритму предварительно обрабатывать входные данные. Дополнительные сведения см. в разделе Декомпозиция состояния.

Выполнение автономной диаграммы

Чтобы выполнить автономную диаграмму, создайте объект диаграммы Stateflow w:

w = sf_stock_watch();

График генерирует поток котировок акций и выпусков инструкций «покупать», «продавать» или «держать».

Note: Chart execution continues until you delete the chart object.
Loading data... Ready in 5 4 3 2 1 0:
HOLD at 14.1942
SELL at 14.2802
SELL at 14.2471
HOLD at 14.2025
BUY at 14.1444

Чтобы остановить выполнение диаграммы, удалите объект диаграммы w:

delete(w);

Связанные темы