В этом примере показано, как создать веб-приложение, которое вычисляет цену связи от простой формулы. Это использует MATLAB® Production Server™ RESTful API и Представление JSON типов данных MATLAB, чтобы изобразить сквозной рабочий процесс использования MATLAB Production Server. Вы запускаете этот пример путем ввода следующих известных значений в веб-интерфейс:
Номинальная стоимость (или значение связи в зрелости) — M
Купонный платеж — C
Количество платежей — N
Процентная ставка — i
Приложение вычисляет цену (P
) на основе следующего уравнения:
P = C * ( (1 - (1 + i)^-N) / i ) + M * (1 + i)^-N
Шаг 2: создайте развертываемый архив с приложением Production Server Compiler
Шаг 4: включите Разделение ресурсов перекрестного источника (CORS) на сервере
Шаг 5: Запишите код JavaScript с помощью УСПОКОИТЕЛЬНОГО API и JSON
Напишите следующий код в 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;
Создать развертываемый архив для этого примера:
На вкладке Apps выберите Production Server Compiler App.
В списке Application Type выберите Deployable Archive.
В поле Exported Functions добавьте pricecalc.m
.
Под Archive information, изменение pricecalc
к BondTools
.
Нажмите Package.
Сгенерированный развертываемый архив, BondTools.ctf
расположен в for_redistribution
папка проекта.
Загрузите MATLAB Runtime, в случае необходимости, в https://www.mathworks.com/products/compiler/mcr. Смотрите Поддерживаемые Версии MATLAB Runtime (MATLAB Production Server) для получения дополнительной информации.
Создайте сервер с помощью mps-new
. Смотрите Создают Сервер (MATLAB Production Server) для получения дополнительной информации. Если вы не имеете, уже установите свою серверную среду, смотрите mps-setup
(MATLAB Production Server) для получения дополнительной информации.
Если вы уже не сделали так, задайте местоположение MATLAB Runtime к серверу путем редактирования конфигурационного файла сервера main_config
и определение пути для --mcr-root
. Смотрите Редактирование Конфигурационный файл (MATLAB Production Server) для деталей.
Запустите сервер с помощью mps-start
(MATLAB Production Server), и проверяет, что запускается с mps-status
(MATLAB Production Server).
Скопируйте BondTools.ctf
файл к auto_deploy
папка на сервере для хостинга.
Включите Разделение ресурсов перекрестного источника (CORS) путем редактирования конфигурационного файла сервера, main_config
и определение списка доменных источников, от которых запросы могут быть выполнены к серверу. Например, установка cors-allowed-origins
опция к --cors-allowed-origins *
позволяет запросам от любой области получать доступ к серверу. Смотрите cors-allowed-origins
(MATLAB Production Server) и Редактирование Конфигурационный файл (MATLAB Production Server) для деталей.
Запишите следующий код JavaScript® с помощью УСПОКОИТЕЛЬНОГО API и Представления JSON типов данных MATLAB как руководство. Сохраните этот код как файл с именем JavaScript calculatePrice.js
.
Код:
Встройте JavaScript от предыдущего шага в следующем коде HTML при помощи следующего синтаксиса:
<script src="calculatePrice.js" type="text/javascript"></script>
Сохраните этот код как файл с именем HTML bptool.html
.
Код:
Подтвердите, что сервер с развернутой функцией MATLAB запускается. Откройте файл HTML bptool.html
в веб-браузере. Ценой облигаций по умолчанию является NaN
потому что никакие значения не были введены пока еще. Попробуйте следующие значения, чтобы оценить связь:
Номинальная стоимость = 1 000$
Купонный платеж = 100$
Количество платежей = 5
Процентная ставка = 0.08 (Соответствует 8%),
Получившаяся цена облигаций составляет 1 079,85$.
Используйте ползунки в цене инструмента различные связи. Варьируясь процентная ставка приводит к наиболее разительной перемене в цене связи.