ГлавнаяСеместр 2

Обновлено: 22 April 2019 01:04

Алгоритм Дейкстры (АД)

АД — это алгоритм поиска кратчайшего пути в графе.

Описание алгоритма можно найти тут: https://ru.wikipedia.org/wiki/Алгоритм_Дейкстры

Псевдо код

TODO: дописать

Депозиты и валюта

Необходимо скачать данные по ставкам на межбанковском рынке. После того, как скачали необходимо.

Данные: https://github.com/leonovmx/info/raw/gh-pages/s2/data_ex_rate.zip

На российском межбанковском рынке

Данные по MosPrime. Источники:

  1. Официальный сайт
  2. ЦБ
  3. Вики

Данные:

https://github.com/leonovmx/info/raw/gh-pages/s2/mosprime.csv

Прямо с сайта можно загрузить данные при помощи команды

read.csv(
    file = "https://github.com/leonovmx/info/raw/gh-pages/s2/mosprime.csv",
    header = T, 
    sep = ";", 
    dec = ",", 
    stringsAsFactors = F)
##       Дата X1.день X1.нед. X2.нед. X1.мес. X2.мес. X3.мес. X6.мес.  X
## 1 30.12.16   10,37   10,38   10,41   10,43   10,49   10,49   10,49 NA
## 2 29.12.16   10,37    10,4   10,43   10,44    10,5    10,5   10,49 NA
## 3 28.12.16   10,45   10,44   10,47   10,49   10,55   10,55   10,51 NA
## 4 27.12.16   10,35    10,4   10,43   10,49   10,57   10,57   10,53 NA
## 5 26.12.16   10,34   10,41   10,43   10,48   10,56   10,56   10,52 NA
## 6 23.12.16   10,32    10,4   10,43   10,44   10,48   10,49   10,49 NA

Внимательно просмотрите файл. Посмотрите его структуру, какого типа столбцы? Может стоит обратитьв нимание на параметр colClasses в функции read.csv

После загрузки удалите ненужные столбцы, преобразуйте даты и всё что надо в соответствующий тип.

Libor

Про Libor можете прочитать тут: https://ru.wikipedia.org/wiki/Лондонская_межбанковская_ставка_предложения

Файлы по Libor надо взять тут: https://github.com/leonovmx/info/raw/gh-pages/s2/data_ex_rate.zip

На каждый срок данные расположены в отдельном файле. Срок указан в названии файла. Например, файл называется USD12MD156N.csv, где USD - валюта, 12M - срок ставки. В папке находятся файлы с данными по USD Libor и по CHF Libor (узнать, что за валюта).

Возможны следующие варианты сроков:

  • ON - овенайт (1 день)
  • 1W - 1 неделя (7 дней)
  • 1M - 1 месяц (30 дней)
  • 2M - 2 месяца (60 дней)
  • 3M - 3 месяца (90 дней)
  • 6M - 6 месяца (180 дней)
  • 12M - 12 месяцев (365 дней)
## character(0)

Лучшее размещение

Необходимо написать функцию, которая зависит от первоначальной даты (даты начала вклада) и конечной даты (даты завершения вклада), процетных ставок и списка валют. Функция должна выдавать оптимальное размещение: день вклада, день выхода из депозита, валюта размещения.

Например, если указали вложиться в день 1 и выйти в день 100, и все валюты разрешены, ответ может быть таким:

Результат
Начало Завершение Валюта Ставка
1 2 RUB 10
2 3 RUB 12
3 10 RUB 12
10 30 USD 3
30 50 CHF 1
50 100 CHF 1

Результат можно представить в любом удобном формате.

Примечание

При расчете оптимального размещения:

  • при расчете использовать простые проценты;
  • использовать валютный паритет;
  • использовать алгоритм Дейкстры.