← 返回

BlackScholes SecurityLastTradePrice

Добрый день! Обнаружил проблему... При движении базового актива не происходит соответствующего изменения цены последней сделки, выводимой в формулу бл-шо BlackScholes.SecurityLastTradePrice.

В результате при движении БА возникает ошибка в расчете вол-ти.

Т.е. движение БА - приводит к разнице между реальной и используемой в расчете

При изменении выбора способа определения цены БА на мидмаркетный (SecuritySpreadPrice) - ошибка в расчете пропадает


                bs = new BlackScholes(this.security);//глючит т.к. по умолчанию SecurityLastTradePrice

javascript:__doPostBack('forum$ctl03$PostReply','')
                bs = new BlackScholes(this.security)
                {
                    SecurityPriceMode = BlackScholes.SecuritySpreadPrice //ошибка пропадает
                };

评论 (11)

登录创建账户, 登录或注册以发表评论

Alexander
Alexander
  1. Версия S#
  2. А LastTrade.Price у Security у вас меняется?
Артем_2
Артем_2 作者

Добрый день!

  1. Версия 4.0.23.0

  2. Вывел следующие данные:

        ```csharp
    

currentLogData.BlackScholesLastTradePrice = bs.SecurityPriceMode(future);


           ```csharp
 currentLogData.FutureLastTradePrice = future.LastTrade.Price;

оба значения равны между собой и не меняются с изменением цены последней сделки в Quik

Alexander
Alexander

А таблица всех сделок экспортируется? На 4.1 работает?

Артем_2
Артем_2 作者
            DdeTable[] ddeTables = new DdeTable[] 
                { 
                    this.QuikTrader.SecuritiesTable,
                    
                    this.QuikTrader.DerivativePortfoliosTable,
                    this.QuikTrader.DerivativePositionsTable,

                    this.QuikTrader.EquityPortfoliosTable,
                    this.QuikTrader.EquityPositionsTable,

                    this.QuikTrader.OrdersTable,
                    this.QuikTrader.StopOrdersTable,
                    
               [b]     this.QuikTrader.TradesTable,[/b]
                    this.QuikTrader.MyTradesTable
                };

            this.QuikTrader.StartExport(ddeTables);
  1. Попробовал скачать с http://stocksharp.codeplex.com/ архив stocksharp-16528. Из него взял библиотеки в папке \dev\References, подключил к своему проекту, в результате он компилироваться перестал. Часть проблем удалось разрешить, но изменения со свечками не получилось преодолеть
Alexander
Alexander

То что вы выделили - это хорошо. А эта таблица у вас не пустая? Сделки по нужному инструменту приходят?

И всё же лучше решить пролемы с 4.1 и перейти на неё.

Артем_2
Артем_2 作者

Таблица непустая, в ней выводятся сделки по базовому инструменту. Во время работы робота вывод этой таблицы по DDE идет...

Alexander
Alexander

Подпишитесь на SecurititesChanged и посмотрите меняется ли LastTrade у инструмента

Артем_2
Артем_2 作者

К сожалению, почему-то не меняется😭 вот так подключаюсь SecuritiesChanged


Trader.SecuritiesChanged += (seurs) =>
                {
                    Trade lastTrade = Security.LastTrade;
                    logger.WriteHeaderedLog(DateTime.Now, Security, lastTrade.Time);
                };

в результате выводится вот такой лог (последняя колонка, в которую выводится lastTrade.Time не меняется)

25.04.2012 19:08:51 RIM2@RTS 01.01.0001 0:00:00 25.04.2012 19:08:51 RIM2@RTS 01.01.0001 0:00:00 25.04.2012 19:08:51 RIM2@RTS 01.01.0001 0:00:00 25.04.2012 19:08:51 RIM2@RTS 01.01.0001 0:00:00 25.04.2012 19:08:51 RIM2@RTS 01.01.0001 0:00:00

Alexander
Alexander

4.1 должна помочь

Скиньте ещё дополнительно скриншот квика с открытыми таблицами (инструменты, все сделки, ...). что-то странное у вас.

Артем_2
Артем_2 作者

в архиве

  1. ExportDDECode - полный код экспорта по дде
  2. скриншоты таблиц
  3. файл настроек для квика

http://narod.ru/disk/47250798001.fb62d92f9dca96317c1f5c5cae9477ce/JuniorDDE.zip.html

Примечание: Проблема не только с квиком, к котрому приложены скриншоты. - Еще на 2-х других от другого брокера аналогичная ситуация

Alexander
Alexander

Последняя сделка у вас проставляется по таблице всех инструментов, а не по таблице всех сделок. В таблице инструментов у вас есть "цена последней сделки" но нет ни объёма последней сделки, ни времени последней сделки. И непонятно изменятеся ли цена последней сделки в таблице инструментов или нет.

Либо добавьте столбцы и посмотрите изменяются или нет, или удалите и тогда будет проставляться по таблице всех сделок.

Артем_2