Разработка функции/библиотеки интерполяции кривой, построенной по априорно заданным точкам (проект)
Ментор | Иван Лисенков |
Учебный семестр | Весна 2015 |
Учебный курс | 1-й курс |
Внимание! Данный проект находится в архиве и реализован не будет. |
Что это за проект?
Разработка функции/библиотеки интерполяции кривой построенной по заданным точкам (загружаемым из файла). Данная функциональность широко используется в финансовой математике. Например, для определения т.н. кривых доходностей - yield curves (зависимость индикативной процентной ставки от срока инвестирования) которые в свою очередь используются для расчета справедливых цен (Fair Value) производных инструментов (plain vanial опционов, interest rate swaps и т.д), при дисконтировании будущих платежей. Так же подобная функция может использоваться для описания функций принадлежности контроллера нечеткой логики, и использоваться для более гибкого и точного определния функции принадлежности нечеткой переменной. Важное требование для интерполяции - дифференцируемость функции на всем допустимом интервале. В связи с этим необходима реализация, помимо линейной интерполяции, интерполяции с помощью квадратичных и кубических сплайнов.
Чему вы научитесь?
- Формулировать постановку задачи
- Писать надежный и понятный код
- Алгоритмы интерполяции. Численные методы.
Какие начальные требования?
- Программирование на C/C++/Python (в рамках прослушанного курса)
Какие будут использоваться технологии?
- C++ / Python в рамках прослушанного курса
Темы вводных занятий
- Современные методы интерполяции функций
Направления развития
- Использование функции при оценке справедливой стоимости производных финансовых инструментов
- Использование функции в контроллере нечеткой логики (Mamdani, Sugeno)
- Интеграция с внешними источниками данных (MOEX, Bloomberg, Thomson Reuters, Yahoo Finance)
- Расчет форвардных ставок на заданные тенора (Bootstraping метод)
Критерии оценки
- 4-5 : программа загружающая информацию из файла (массив точек) и реализующая функцию y = f(x) на основе линейной интерполяции; возможность потокового вычисления (из файла) значений функции по массиву точек x
- 6-7 : Дополнительно, интерполяция кубическими и квадратичными сплайнами
- 8-10 : Дополнительно, реализация многомерной поверхности (т.е. функции y = f (x1, x2...xn))