Опционы BaseAsset.GetStrikeStep() всегда возвращает 0


Опционы BaseAsset.GetStrikeStep() всегда возвращает 0
Atom Reply
9/6/2012


Привет, форумчане.

Проблема такая:
GetStrikeStep() на любом БА (базовый актив) всегда 0. При этом портфель и БА зарегистрированы. Данные по ним приходят. Все параметры БА (BestBid, BestAsk) достаются без проблем. GetCentralStrike() тоже отрабатывает корректно.
Код

var strikeStep = BaseAsset.GetStrikeStep(); // strikeStep - 0


Это бага в либе или при каких условиях еще я могу получить 0 этим методом?


Tags:


Thanks:




6 Answers
Mikhail Sukhov

Avatar
Articles author Programmer Trader
Date: 9/6/2012
Reply


А само поле Strike?
Thanks:

pehas

Avatar
Date: 9/6/2012
Reply


Mikhail Sukhov Перейти
А само поле Strike?


В BaseAsset проверить сейчас не могу, нет лицензии на этой машине (рабочая). Вечером проверю, отпишусь.
Но все Strike самих опционов полученных через BaseAsset.GetCall и GetPut - есть.
Topic starter
Thanks:

pehas

Avatar
Date: 9/7/2012
Reply


Mikhail Sukhov Перейти
А само поле Strike?


Поле strike у BaseAsset - 0. Но это и не опцион. Так что вроде логично. У опционов это поле соответствует страйку
Topic starter
Thanks:

Alexander

Avatar
Date: 9/13/2012
Reply


Код
		public static decimal GetStrikeStep(this Security underlyingAsset)
		{
			var options = underlyingAsset.GetDerivatives().Filter(OptionTypes.Call).OrderBy(s => s.Strike);
			return options.ElementAt(1).Strike - options.ElementAt(0).Strike;
		}


Вот исходный код данного метода.
Попробуйте у себя подебажить его, посмотреть что возвращает GetDerivatives().
Мне ошибку найти не удалось.

Просьба отписаться по результатам.
Thanks:

pehas

Avatar
Date: 9/14/2012
Reply


Подебажил

Жук выползает потому, что в определении метода GetStrikeStep не учитывается ExpireDate
И получается, что если в деревативах базового актива есть опционы разных серий, то сравниваются соответственно первые колы разных серий с одинаковыми страйками, т.к. они у вас в функции сортируются по страйку

вот скрин того, что у вас находится в результате в коллекции options
[img=http://imm.io/EkMG]Коллекция options[/img]
Topic starter
Thanks: Mikhail Sukhov Alexander

Mikhail Sukhov

Avatar
Articles author Programmer Trader
Date: 9/14/2012
Reply


pehas Перейти
Подебажил

Жук выползает потому, что в определении метода GetStrikeStep не учитывается ExpireDate


Поправим.
Thanks:


Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy