в Волатильность

Считаем дату экспирации фьючерсов/опционов на VIX

Автор: Александр Кургузкин (mehanizator).

Дата экспирации деривативов на VIX вычисляется очень просто (шутка): это среда за 30 дней до третьей пятницы календарного месяца, непосредственно следующего за месяцем экспирации контракта. Если же эта третья пятница выпадает на биржевой выходной CBOE, тридцать дней надо будет считать от дня, непосредственно предшествующего той пятнице.

На сайте CBOE имеется файл Excel с алгоритмом расчета.

Вот код на Java, который реализует этот алгоритм:


public static Date getVxSettlementDate(int month, int year) {

int nextYear = month == 12 ? year + 1 : year;

int nextMonth = month == 12 ? 1 : month + 1;

Calendar ncd = new GregorianCalendar(nextYear, nextMonth – 1, 1);

int weekDay = ncd.get(Calendar.DAY_OF_WEEK);

int some = weekDay < 7 ? 6 – weekDay: 6;

ncd.add(Calendar.DATE, some + 14 – 30);

return ncd.getTime();

}

А здесь можно посмотреть календарь CBOE на текущий год.

Однако если применять эту формулу к прошлым контрактам, следует иметь в виду, что в 2004 году правила, вероятно, были другие, поскольку:

– июль 2004 экспирация 14 июля, а не 21 июля.

– октябрь 2004 экспирация 13 октября, а не 20 октября.