Разработка функции/библиотеки интерполяции кривой, построенной по априорно заданным точкам (проект)

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
Ментор Иван Лисенков
Учебный семестр Весна 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))