Функция GetDelta рассчитывает дельту опциона, что является важным понятием в торговле опционами. Дельта представляет собой скорость изменения цены опциона в зависимости от цены основного актива.
Вот разбивка на шаги, что код делает:
Он использует модуль normaldistr из ALGLIB, который предоставляет функции для работы с нормальными распределениями.
Функция принимает четыре параметра:
aPrice: текущая рыночная цена основного актива (например, акции, контракт на будущие поставки).
aStrake: страйк-цена опциона.
aVolaty: волатильность основного актива.
aDay: время до истечения срока действия оптиона в днях.
Функция также принимает необязательный параметр aCount с умолчанием 1, который не используется в этом реализации.
Тип TPaper используется для указания типа бумаги (то есть основного актива). Он может быть одним из трех значений: pFutures, pPutOption или pCallOption.
Функция рассчитывает значение larg1 с помощью следующей формулы:
Это логарифм отношения между текущей ценой и страйк-ценой, плюс термин, представляющий собой волатильность-адаптированное время до истечения срока действия.
6. Функция затем использует это значение larg1 для расчета дельты с помощью нормального распределения:
Здесь NormalDistribution - функция из модуля ALGLIB, которая рассчитывает.cumulative distribution function (CDF) нормального распределения. Дельта для контрактов на будущие поставки всегда равна 1, поскольку их цена изменяется напрямую с ценой основного актива.
Для опционов put дельта рассчитывается как CDF нормального распределения минус 1. Для опционов call дельта просто равна CDF нормального распределения.
В целом, эта реализация кажется корректной и совпадает с результатами из программы "Опционный аналитик FORTS".
Некоторые предложения по улучшению:
Рассмотрите добавление более подробных комментариев для объяснения цели каждого части кода.
Вы также можете добавить обработку ошибок для обработки недопустимых значений входных параметров (например, отрицательной волатильности).
Если вы планируете использовать эту функцию в производственной среде, рассмотрите оптимизацию ее для производительности, особенно если она будет вызываться часто.
Хорошая работа на реализации этой функции!
В статье описывается алгоритм расчета дельты опциона, разработанный на основе библиотеки ALGLIB, который позволяет получить результат, соответствующий данным программы 'Опционный аналитик FORTS'.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.