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

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
(Что это за проект?)
 
(не показано 17 промежуточных версии 3 участников)
Строка 1: Строка 1:
 
{{Карточка_проекта
 
{{Карточка_проекта
|name=Разработка функции/библиотеки интерполяции кривой, построенной по априорно заданным точкам
+
|name=Библиотека для интерполяции кривой по априорно заданным точкам
 
|mentor=Иван Лисенков
 
|mentor=Иван Лисенков
|mentor_login={{URLENCODE:{{REVISIONUSER}}|WIKI}}
+
|mentor_login={{URLENCODE:Ivan_Lisenkov|WIKI}}
 
|semester=Весна 2015
 
|semester=Весна 2015
 
|course=1
 
|course=1
 
|summer=
 
|summer=
 
|categorize=yes
 
|categorize=yes
 +
|is_archived=yes
 
}}
 
}}
  
 
=== Что это за проект? ===
 
=== Что это за проект? ===
  
Разработка функции/библиотеки интерполяции кривой построенной по заданным точкам (загружаемым из файла). Данная функциональность широко используется в финансовой математике. Например, для определения т.н. кривых доходностей - yield curves (зависимость индикативной процентной ставки от срока инвестирования) которые в свою очередь используются для расчета справедливых цен (Fair Value) производных инструментов (plain vanial опционов, interest rate swaps и т.д), при дисконтировании будущих платежей. Так же подобная функция может использоваться для описания функций принадлежности контроллера нечеткой логики, и использоваться для более гибкого и точного определния функции принадлежности нечеткой переменной. Важное требование для интерполяции - дифференцируемость функции на всем допустимом интервале. В связи с этим необходима реализация, помимо линейной интерполяции, интерполяция с помощью квадратичных и кубических сплайнов.
+
Разработка функции/библиотеки интерполяции кривой построенной по заданным точкам (загружаемым из файла). Данная функциональность широко используется в финансовой математике. Например, для определения т.н. кривых доходностей - yield curves (зависимость индикативной процентной ставки от срока инвестирования) которые в свою очередь используются для расчета справедливых цен (Fair Value) производных инструментов (plain vanial опционов, interest rate swaps и т.д), при дисконтировании будущих платежей. Так же подобная функция может использоваться для описания функций принадлежности контроллера нечеткой логики, и использоваться для более гибкого и точного определния функции принадлежности нечеткой переменной. Важное требование для интерполяции - дифференцируемость функции на всем допустимом интервале. В связи с этим необходима реализация, помимо линейной интерполяции, интерполяции с помощью квадратичных и кубических сплайнов.
  
 
=== Чему вы научитесь? ===
 
=== Чему вы научитесь? ===
- Формулировать постановку задачи
+
* Формулировать постановку задачи
 
+
* Писать надежный и понятный код
- Писать надежный и понятный код
+
* Алгоритмы интерполяции. Численные методы.
 
+
- Алгоритмы интерполяции. Численные методы.
+
  
 
=== Какие начальные требования? ===
 
=== Какие начальные требования? ===
Программирование на C/C++/Python (в рамках прослушанного курса)
+
* Программирование на C/C++/Python (в рамках прослушанного курса)
  
 
=== Какие будут использоваться технологии? ===
 
=== Какие будут использоваться технологии? ===
git, github gtest
+
* C++ / Python в рамках прослушанного курса
  
 
=== Темы вводных занятий ===
 
=== Темы вводных занятий ===
- Основы финансовой математики (Дисконтирование платежей, справедливая оценка финансовых инструментов)
+
* Современные методы интерполяции функций
 
+
- Современные методы интерполяции функций
+
  
 
=== Направления развития ===
 
=== Направления развития ===
- Использование функции при оценке справедливой стоимости производных финансовых инструментов
+
* Использование функции при оценке справедливой стоимости производных финансовых инструментов
 
+
* Использование функции в контроллере нечеткой логики (Mamdani, Sugeno)
- Использование функции в контроллере нечеткой логики (Mamdani, Sugeno)
+
* Интеграция с внешними источниками данных (MOEX, Bloomberg, Thomson Reuters, Yahoo Finance)
 
+
* Расчет форвардных ставок на заданные тенора (Bootstraping метод)
- Интеграция с внешними источниками данных (MOEX, Bloomberg, Thomson Reuters, Yahoo Finance)
+
 
+
- Расчет форвардных ставок используя Bootstraping алгоритм
+
  
 
=== Критерии оценки ===
 
=== Критерии оценки ===
"удовл” : программа загружающая информацию из файла (массив точек) и  реализующая функцию y = f(x) на основе линейной интерполяции; возможность потокового вычисления (из файла) значений функции по массиву точек x
+
* 4-5 : программа загружающая информацию из файла (массив точек) и  реализующая функцию y = f(x) на основе линейной интерполяции; возможность потокового вычисления (из файла) значений функции по массиву точек x
 
+
* 6-7 : Дополнительно, интерполяция кубическими и квадратичными сплайнами
“хор” : +интерполяция кубическими и квадратичными сплайнами
+
* 8-10 : Дополнительно, реализация многомерной поверхности (т.е. функции y = f (x1, x2...xn))
 
+
“отл” : +реализация многомерной поверхности (т.е. функции y = f (x1, x2...xn))
+
 
+
+ Визуализация процесса обучения (Зависимость интегральной ошибки от номера итерации/эпохи) + работа с файлами (возможность интеграции import/export файлов обучающей выборки с Matlab NNtool)
+

Текущая версия на 10:49, 20 октября 2015

Ментор Иван Лисенков
Учебный семестр Весна 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))