Добрый день,
сегодня биржа изменила шаг цены страйка у опционов на фьючерс индекса РТС, вместо 5000 пунктов он стал равен 2500 пунктов. Из-за этого перестал корректно работать класс виртуального страйка:
BasketStrike = new OffsetBasketStrike(Security, new Range<int>(StrikeOffsetFrom, StrikeOffsetTo)) ;
Например, если тут задаю StrikeOffsetFrom=0, а StrikeOffsetTo = 2, то вместо получения виртуального страйка {RI142500, RI145000,RI147500} я получаю {RI142500, RI145000, RI147500, RI150000, RI152500, RI155000}
Скорее всего это связано с неправильным определением шага страйка, так как в использовании кода ниже выдается значение 5000
this.AddInfoLog("Шаг страйка = {0}", Security.GetStrikeStep(ExpirationDate);
Comments (6)
Login or Create account, Log in or register to leave a comment
Скорее всего так и есть. Потому что не для всех опционов по базовому активу сделали уплотнение. Им нужно протухнуть. Надо BasketStrike задать конкретную дату экспирации.
Михаил, спасибо!
Дату экспирации вроде указываю, как раз через ExpiryDate = ExpirationDate, где ExpirationDate задаю как 16.12.2013. То есть шаг между страйками вещается биржей и надо просто подождать пока пройдет дата 16.12.2013? Имеет смысл в тех поддержку биржи писать, учитывая что в документации на plaza2 не увидел такой параметр как шаг страйка?
http://moex.com/ru/derivatives/optionsdesk.aspx?code=RTS-12.13 Уплотнение страйков не везде сделали. Теперь понятно. Для скорости ищется не минимальный шаг, а разница между первый и вторым опцом (при отсортированном по страйку массиву).
Сейчас имеет смысл переделать BS на свой. Прислать код в скайп OffsetBasketStrike? Просто закодируй жестко размер страйка.
Код получил. Спасибо, буду пробовать.
Получилось правкой кода на _strikeStep = UnderlyingAsset.GetStrikeStep(ExpiryDate)/2;
Но данная правка класса виртуального страйка работоспособна только если торговать опционами со страйками вблизи цены БА, там где шаг 2500 пунтков.
Кто-то видимо неправильно в РТС ввел контракты. При такой сетке страйка понятие шаг страйка исчезает.