Доска опцинов из QLUA

Страницы: 1
RSS
Доска опцинов из QLUA
 
Всем привет!

А как получить доступ к данным доски опционов из QLUA?
Не нашел эту таблицы в списке доступных....  
 
Здравствуйте,
Такой возможности нет.
Если нужны греки по опционам, у нас есть пример на LUA с расчетом греков.
 
Греками поделитесь, спасибо. Но мне интересна цена и волатильность.  
 
Цитата
Андрей написал:
Греками поделитесь, спасибо.

Скрытый текст


Цитата
Андрей написал:
Но мне интересна цена и волатильность.  
Цена и волатильность есть в таблице текущих торгов.
 
Спасибо большое за скрипт.
Про цену и Волатильность затупил. просто никогда их оттуда не брал. Тоже спасибо за информацию
 
почему в версии 7.27.2.1 на запрос DAYS_TO_MAT_DATE выдает nil? этот параметр уже нельзя запросить? в руководстве пользователя 7.27 этого параметра нет. хотя если строить таблиц текущих торгов, то столбец с количеством дней до погашения есть...
 
Цитата
Женя Логинов написал:
почему в версии 7.27.2.1 на запрос DAYS_TO_MAT_DATE выдает nil? этот параметр уже нельзя запросить? в руководстве пользователя 7.27 этого параметра нет. хотя если строить таблиц текущих торгов, то столбец с количеством дней до погашения есть...

что я делаю не так?
 
У меня в терминале не выбран ни один инструмент для заказа котировок и обезличенных сделок.
вот мой скрипт - получаю одни нули.
Код
function main() 
   op = io.open("D:\\market_orders\\codes.csv","w+")
   io.output(op)
   opt = getClassSecurities("SPBOPT")
   for i in string.gmatch(opt, "%w+") do
      op:write(i, "\n")
      op:write(getParamEx("SPBPOT", i, "DAYS_TO_MAT_DATE").param_value, "\n")
   end
   io.close()
end;
 
Не знаю в чем причина, но почему-то получилось. Спасибо.
 
Цитата
Андрей написал:
Всем привет!

А как получить доступ к данным доски опционов из QLUA?
Не нашел эту таблицы в списке доступных....  
можно через DDE, но халявы нет .
 
Снова здорово! как получить вид опциона (Call/put)? есть ли методы? спасибо.
 
Цитата
Женя Логинов написал:
Снова здорово! как получить вид опциона (Call/put)? есть ли методы? спасибо.
вид опциона зашит в его коде

http://www.bot4sale.ru/blog-menu/qlua/466-parse-option-call.html
 
Код
getParamEx(class, sec, "optiontype")
 
Спасибо. только получилось так:getParamEx("SPBOPT", option_code, "optiontype").param_image
 
опять по "дней до погашения" получаю нули!!! в понедельник все отлично работало, сегодня опять не пойми что.. от чего это зависит? как только дата экспирации по опционам, так запросы перестают нормально работать. не только дни до погашения, но и тип опциона не получается
Код
dtm = getParamEx("SPBOPT", option_code, "DAYS_TO_MAT_DATE").param_value
         if tonumber(dtm) < 36 and tonumber(dtm) > 0 then
            date_mate = getSecurityInfo("SPBOPT", option_code).mat_date
            option_type = getParamEx("SPBOPT", option_code, "optiontype").param_image
            date_mate = getSecurityInfo("SPBOPT", option_code).mat_date
            strike = getSecurityInfo("SPBOPT", option_code).option_strike
            table.insert(ba_table[ba_code], {strike, option_code, date_mate, option_type})
            op:write(ba_code.. "," ..strike .. "," .. option_code .. "," .. date_mate .. "," ..option_type, "\n")            
         end
 
почему так происходит?
 
result = getParamEx("SPBOPT","GD1550BL9",BID).param_type  - attempt to index a nil value
 
Добрый день.


Есть гипотеза, что  такого инструмента нет в терминале. Проверьте,  видите ли Вы значения по этому инструменту в терминале, когда ошибка проявляется. И еще проверьте, что возвращает result = getParamEx("SPBOPT","GD1550BL9",BID).
 
Добрый день!

Появилось желание пересчитать греки с учетом свои нужд. Полез в тело скрипта и появились вопросы.
Подскажите, пожалуйста, что это за функция? Что за константы в ней использованы? Можно увидеть формулу "на бумаге"
Заранее спасибо!
Код
function N(x) --Нормальное среднее
    if (x > 10) then
      return 1
   elseif (x < -10) then
      return 0
   else
      local t = 1 / (1 + 0.2316419 * math.abs(x))
      local p = 0.3989423 * math.exp(-0.5 * x * x) * t * ((((1.330274 * t - 1.821256) * t + 1.781478) * t - 0.3565638) * t + 0.3193815)
      if x > 0 then
         p=1-p
      end 
      return p   
   end
end


 
Аппроксимация функции стандартного нормального распределения, переведено на луа с сей. Оригинал на сях
Код
double N(double x) {
  double ax, t, d, p;
  if (x>10) return(1);
  if(x<-10) return(0);
  ax=fabs(x);
  t=1/(1+0.2316419∗ax);
  d=0.3989423∗exp(-0.5∗x∗x);
  p=d∗t∗((((1.330274∗t-1.821256)∗t+1.781478)∗t--0.3565638)∗t+0.3193815);
  p=(x>0) ? 1-p : p;
  return(p);
}
 
Добрый день!

Использую Ваш скрипт получения Греков. Сделал из него функцию и встроил к себе. Получилось не плохо. Но сейчас появилась задача получать греки не по всем опционами серии, а по конкретным.
Скрэт это прекрасно умеет, но как правильно его использовать, если этот список меняется. Например, я хочу выводит только те опционы с греками по которым у меня открыта позиция. Но позицию я могу менять. Покупать опционы, продавать и соответственно список будет меняться динамически. И в целом понятно как это сделать, но смущает функция CreateDataSource. У меня открыты потоки на определённые инструменты. И мне нужно как-то на старые закрыть , а на новые открыть. Или закрывать ничего не нужно, просто отрывать на новые? В общем, как-то я подзапутался....  
 
А можно каким-то образом получить в луа количество открытых позиций?
Страницы: 1
Читают тему (гостей: 1)
Наверх