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

Материал из 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 алгоритм

Критерии оценки

"удовл” : программа загружающая информацию из файла (массив точек) и реализующая функцию y = f(x) на основе линейной интерполяции; возможность потокового вычисления (из файла) значений функции по массиву точек x

“хор” : +интерполяция кубическими и квадратичными сплайнами

“отл” : +реализация многомерной поверхности (т.е. функции y = f (x1, x2...xn))

+ Визуализация процесса обучения (Зависимость интегральной ошибки от номера итерации/эпохи) + работа с файлами (возможность интеграции import/export файлов обучающей выборки с Matlab NNtool)