exponenta event banner

Веб-инструмент с использованием RESTful API, JSON и JavaScript

В этом примере показано, как создать веб-приложение, которое вычисляет цену облигации из простой формулы. Он использует API MATLAB ® Production Server™ RESTful и JSON Representation of MATLAB Data Types для отображения сквозного рабочего процесса использования сервера MATLAB Production Server. Этот пример выполняется путем ввода в веб-интерфейс следующих известных значений:

  • Номинальная стоимость (или стоимость облигации на момент погашения) - M

  • Купонная выплата - C

  • Количество платежей - N

  • Процентная ставка - i

Приложение вычисляет цену (P) на основе следующего уравнения:

P = C * ( (1 - (1 + i)^-N) / i ) + M * (1 + i)^-N
Используйте ползунки в веб-приложении, чтобы оценить различные облигации.

Шаг 1: Запись кода MATLAB

Запишите следующий код в MATLAB в ценовые облигации. Сохранение кода с использованием имени файла pricecalc.m.

function price = pricecalc(face_value, coupon_payment,...
                           interest_rate, num_payments)
    M = face_value;
    C = coupon_payment;
    N = num_payments;
    i = interest_rate;
    
    price = C * ( (1 - (1 + i)^-N) / i ) + M * (1 + i)^-N;

Шаг 2: Создание развертываемого архива с помощью приложения компилятора Production Server

Чтобы создать развертываемый архив для этого примера:

  1. На вкладке Приложения выберите приложение Компилятор производственного сервера.

  2. В списке Тип приложения выберите Развертываемый архив.

  3. В поле Экспортированные функции добавьте pricecalc.m.

  4. В разделе Сведения об архивировании измените pricecalc кому BondTools.

  5. Щелкните Пакет (Package).

Созданный развертываемый архив, BondTools.ctf находится в for_redistribution папку проекта.

Шаг 3. Размещение развертываемого архива на сервере

  1. При необходимости загрузите среду выполнения MATLAB по адресу https://www.mathworks.com/products/compiler/mcr. Дополнительные сведения см. в разделе Поддерживаемые версии среды выполнения MATLAB (производственный сервер MATLAB).

  2. Создание сервера с помощью mps-new. Дополнительные сведения см. в разделе Создание экземпляра сервера (производственный сервер MATLAB). Если серверная среда еще не настроена, см. раздел mps-setup(Производственный сервер MATLAB) для получения дополнительной информации.

  3. Если это еще не сделано, укажите местоположение среды выполнения MATLAB на сервере путем редактирования файла конфигурации сервера. main_config и задание пути для --mcr-root. Дополнительные сведения см. в разделе Настройка сервера (MATLAB Production Server).

  4. Запустите сервер с помощью mps-start(Производственный сервер MATLAB) и убедитесь, что он работает с mps-status(Производственный сервер MATLAB).

  5. Копировать BondTools.ctf в файл auto_deploy на сервере для размещения.

Шаг 4. Включение общего доступа к ресурсам (Cross-Origin Resource Sharing, CORS) на сервере

Включите общий доступ к ресурсам (Cross-Origin Resource Sharing, CORS) путем редактирования файла конфигурации сервера. main_config и определяют список источников домена, из которого могут быть сделаны запросы к серверу. Например, установка cors-allowed-origins опция для --cors-allowed-origins * разрешает запросы от любого домена для доступа к серверу. Посмотрите cors-allowed-origins(Производственный сервер MATLAB) и Настройка сервера (Производственный сервер MATLAB) для получения подробной информации.

Шаг 5: Запись кода JavaScript с помощью API RESTful и JSON

Напишите следующий код JavaScript ®, используя API RESTful и JSON Представление типов данных MATLAB в качестве руководства. Сохранить этот код как файл JavaScript с именемcalculatePrice.js.

Код:

 calculatePrice.js

Шаг 6: Встраивание JavaScript в HTML-код

Внедрите JavaScript из предыдущего шага в следующий HTML-код, используя следующий синтаксис:

<script src="calculatePrice.js" type="text/javascript"></script>

Сохранить этот код как HTML-файл с именем bptool.html.

Код:

 bptool.html

Шаг 7: Пример выполнения

Убедитесь, что сервер с развернутой функцией MATLAB запущен. Открытие HTML-файла bptool.html в веб-браузере. Цена облигации по умолчанию - NaN поскольку значения еще не введены. Попробуйте следующие значения, чтобы оценить облигацию:

  • Номинальная стоимость = $1000

  • Купонный платеж = $100

  • Количество платежей = 5

  • Процентная ставка = 0,08 (соответствует 8%)

Итоговая цена облигации составляет $1079,85.

Используйте ползунки в инструменте цены различных облигаций. Изменение процентной ставки приводит к наиболее резкому изменению цены облигации.

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