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

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


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

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


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

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


Tags:


Thanks:


Mikhail Sukhov

Avatar
Date: 9/6/2012
Reply


А само поле Strike?

Thanks:

pehas

Avatar
Date: 9/6/2012
Reply


Mikhail Sukhov: А само поле Strike?

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

Thanks:

pehas

Avatar
Date: 9/7/2012
Reply


Mikhail Sukhov: А само поле Strike?

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

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 Коллекция options

Thanks: Mikhail Sukhov Alexander

Mikhail Sukhov

Avatar
Date: 9/14/2012
Reply


pehas: Подебажил

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

Поправим.

Thanks:


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

loading
clippy