Привет, форумчане.
Проблема такая: GetStrikeStep() на любом БА (базовый актив) всегда 0. При этом портфель и БА зарегистрированы. Данные по ним приходят. Все параметры БА (BestBid, BestAsk) достаются без проблем. GetCentralStrike() тоже отрабатывает корректно.
var strikeStep = BaseAsset.GetStrikeStep(); // strikeStep - 0
Это бага в либе или при каких условиях еще я могу получить 0 этим методом?
Comentarios (6)
Iniciar sesión o Crear cuenta, Inicie sesión o regístrese para dejar un comentario
А само поле Strike?
В BaseAsset проверить сейчас не могу, нет лицензии на этой машине (рабочая). Вечером проверю, отпишусь. Но все Strike самих опционов полученных через BaseAsset.GetCall и GetPut - есть.
Поле strike у BaseAsset - 0. Но это и не опцион. Так что вроде логично. У опционов это поле соответствует страйку
Вот исходный код данного метода. Попробуйте у себя подебажить его, посмотреть что возвращает GetDerivatives(). Мне ошибку найти не удалось.
Просьба отписаться по результатам.
Подебажил
Жук выползает потому, что в определении метода GetStrikeStep не учитывается ExpireDate И получается, что если в деревативах базового актива есть опционы разных серий, то сравниваются соответственно первые колы разных серий с одинаковыми страйками, т.к. они у вас в функции сортируются по страйку
вот скрин того, что у вас находится в результате в коллекции options
Поправим.