под квик все понятно как, к примеру до того как я добавил обработку дополнительных колонок в квике, мне выдавало ошибку при расчете грек, "истекла дата экспирации"
this.Trader.SecuritiesTable.Columns.Add(DdeSecurityColumns.Strike);
this.Trader.SecuritiesTable.Columns.Add(DdeSecurityColumns.Volatility);
this.Trader.SecuritiesTable.Columns.Add(DdeSecurityColumns.UnderlyingSecurity);
this.Trader.SecuritiesTable.Columns.Add(DdeSecurityColumns.TheorPrice);
this.Trader.SecuritiesTable.Columns.Add(DdeSecurityColumns.OptionType);
this.Trader.SecuritiesTable.Columns.Add(DdeSecurityColumns.ExpiryDate);
начали обрабатываться дополнительные колонки и процесс расчета греков заработал
А как это сделать в плазе? пробовал провести расчет с вкл. сервисом волатильности, но не помогло. Сервис точно работает так как теоретическая цена и волатильность считается для опциона.
И вот мой вопрос😳 как посчитать греки для Plaza2
var Greeks_Put_minus2Strike = new BlackScholes(_SECURITY_Put_minus2Strike);
Gamma_Put_minus2Strike = Greeks_Put_minus2Strike.Gamma(volatility_Put_minus2Strike);
Theta_Put_minus2Strike = Greeks_Put_minus2Strike.Theta(volatility_Put_minus2Strike);
Vega_Put_minus2Strike = Greeks_Put_minus2Strike.Vega(volatility_Put_minus2Strike);
Delta_Put_minus2Strike = Greeks_Put_minus2Strike.Delta(volatility_Put_minus2Strike);
ну вот на этот код и ругается, в квике как я сказал все работает отлично! Уважаемые разработчики! Помогите разобраться! Как вы в Plaze считаете греки? Спасибо!!!
Комментарии (15)
Вход или Создать аккаунт, Войдите или зарегистрируйтесь, чтобы оставить комментарий
Сильно ругается?
ctr+c, ctr+v работает на этих окнах. надо так скопировать
Спасибо, Александр, а по самой ошибки есть предположения? У вас на Плазе греки считаются?
я их не считаю если сделаете копирование текста ошибки - предположения будут.
пока перепечатывать этот стэк трейс с картинки не представляется возможным.
к сожалению сегодня уже торги кончились, получается только в пятницу смогу стек трейс скопировать. А может подскажет кто-нибудь из тех кто считает греки для Плазы, чтоб не терять время. Спасибо!
Ошибка возникает тут:
смотрите ExpiryDate у инструмента и Trader.MarketTime
Александр большое спасибо!!!👍
Александр! как я уже писал выше, по ошибке "Время экспирации прошло" она у меня возникала и в Quik ровно до того момента как я не добавил обработку дополнительных колонок
после добавления этих колонок начал происходить расчет грек!
Поэтому начал логически мыслить :D откуда берутся эти данные при работе через Плаза, точнее некоторые данные я знал откуда берутся, точно знал, что теоретическая цена и волатильность берется с сервиса волатильности, начал смотреть исходники Plaza.Metadata, может и экспирация берется от туда но в PlazaVolatilityColumns, этого не было, была волатильность и теоретическая цена.
Начал смотреть в PlazaOptionsParamsColumns по логике дата экспирация ExpiryDate для опциона должна была быть там - но и там ее не было.
Единственную ExpDate нашел в PlazaFuturesParamsColumns, но это для фьючерсов.
И вот вопрос Александр, откуда берется Дата экспирации для опциона через Plaza. Быть в этом проблема моей ошибки? :D
Читая этот вопрос посмотрите на мой статус "новичок" :D
Буду признателен за ответ, СПАСИБО!
Regards hericane
UPD: в PlazaSessionContentsOptionColumns есть ExpirationEndDate Дата окончания экспирации инструмента. может отсюда берется?
в PlazaTrader
вы б лучше не рассуждали, а посмотрели на security.ExpiryDate, как я и написал выше.
ок!
Александр, вы были правы ExpiryDate выводит не адекватную дату экспирации 6.7.2011 для инструмента RI160000BC2 есть идеи?
Поставьте breakpoint в коде шлюза да посмотрите как он там и чем инициализируется. какие данные приходят из шлюза - правильные ли приходят, правильно ли их парсим.
Залил фикс.
Александр СПАСИБО! все работает! греки считаются! 🙄