В этом примере показано, как создать веб-приложение, которое вычисляет цену облигации из простой формулы. Он использует MATLAB® Production Server™ RESTful API и JSON Representation of Типы Данных 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) для разных Origin на сервере
Напишите следующий код в 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.
В списке 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).
Скопируйте BondTools.ctf
файл к auto_deploy
папка на сервере для хостинга.
Включите совместное использование ресурсов (CORS) через файл строения сервера, main_config
и определение списка области источников, из которых могут быть сделаны запросы к серверу. Для примера установите cors-allowed-origins
опция для --cors-allowed-origins *
позволяет запросам из любой области получить доступ к серверу. См. cors-allowed-origins
(MATLAB Production Server) и Настройка сервера (MATLAB Production Server) для получения дополнительной информации.
Написание следующего JavaScript® код с использованием RESTful API и JSON Representation of Типы Данных MATLAB в качестве руководства. Сохраните этот код как файл JavaScript с именем calculatePrice.js
.
Код:
Встройте JavaScript с предыдущего шага в следующий HTML кода с помощью следующего синтаксиса:
<script src="calculatePrice.js" type="text/javascript"></script>
Сохраните этот код как HTML с именем bptool.html
.
Код:
Подтвердите, что сервер с развернутой функцией MATLAB работает. Откройте HTML файла bptool.html
в веб-браузере. Цена облигаций по умолчанию NaN
поскольку значения еще не введены. Попробуйте следующие значения, чтобы оценить облигацию:
Номинальное значение = $1000
Выплата купона = $100
Количество платежей = 5
Процентная ставка = 0.08 (Соответствует 8%)
Получившаяся цена облигаций составляет $1079,85.
Используйте ползунки в инструменте цены различных облигаций. Изменение процентной ставки приводит к наиболее резкому изменению цены облигации.