Блог им. Margin_Nicolas

Расчет контанго/бэквардации на фьючерсы в квике

Давно искал и наконец нашел программу для расчета контанго/бэквардации на фьючерсы в квике. Помещается в КВИК-МЕНЮ-ПОРТФЕЛИ. Выглядит так:



Код:
PORTFOLIO_EX Spread;
DESCRIPTION Spread;
CLIENTS_LIST ALL_CLIENTS;
FIRMS_LIST FIRMID;
PROGRAM
 coll=Create_Collection()
 trade=Create_Map()
 tmp=create_map()
 str=create_map()
 tmp=set_value(tmp, «base_class_code», «EQNE»)
 tmp=set_value(tmp, «base_sec_code», «GAZP»)
 tmp=set_value(tmp, «class_code», «SPBFUT»)
 tmp=set_value(tmp, «sec_code», «GZU8»)
 coll=INSERT_COLLECTION_ITEM(coll,0,tmp)
 tmp=set_value(tmp, «base_class_code», «EQNE»)
 tmp=set_value(tmp, «base_sec_code», «GAZP»)
 tmp=set_value(tmp, «class_code», «SPBFUT»)
 tmp=set_value(tmp, «sec_code», «GZZ8»)
 coll=INSERT_COLLECTION_ITEM(coll,1,tmp)
 tmp=set_value(tmp, «base_class_code», «EQNE»)
 tmp=set_value(tmp, «base_sec_code», «GAZP»)
 tmp=set_value(tmp, «class_code», «SPBFUT»)
 tmp=set_value(tmp, «sec_code», «GZH9»)
 coll=INSERT_COLLECTION_ITEM(coll,2,tmp)
 tmp=set_value(tmp, «base_class_code», «EQNE»)
 tmp=set_value(tmp, «base_sec_code», «GAZP»)
 tmp=set_value(tmp, «class_code», «SPBFUT»)
 tmp=set_value(tmp, «sec_code», «GZM9»)
 coll=INSERT_COLLECTION_ITEM(coll,3,tmp)
 
 delete_all_items()
 FOR i FROM 0 to GET_COLLECTION_COUNT(coll)-1
  'tmp_map=get_collection_item(coll,i)
  str=set_value(str, «name», "" & get_value( get_collection_item(coll,i), «sec_code»))
  str=set_value(str, «base_spread», .0 + get_param( get_value( get_collection_item(coll,i), «base_class_code» ),  get_value( get_collection_item(coll,i), «base_sec_code»), «offer») — get_param( get_value(get_collection_item(coll,i), «base_class_code»), get_value(get_collection_item(coll,i), «base_sec_code»), «bid») )
  str=set_value(str, «spread», .0 + get_param( get_value(get_collection_item(coll,i), «class_code»), get_value(get_collection_item(coll,i), «sec_code»), «offer») — get_param(get_value(get_collection_item(coll,i), «class_code»), get_value(get_collection_item(coll,i), «sec_code»), «bid»))
  add_item(i+1, str)
 END FOR
END_PROGRAM
PARAMETER Name;
PARAMETER_TITLE Бумага/Класс;
PARAMETER_DESCRIPTION Бумага/Класс;
PARAMETER_TYPE STRING(32);
END
PARAMETER Base_Spread;
PARAMETER_TITLE Спред баз. актива;
PARAMETER_DESCRIPTION Спред баз. актива;
PARAMETER_TYPE NUMERIC(10,4);
END
PARAMETER Spread;
PARAMETER_TITLE Спред;
PARAMETER_DESCRIPTION Спред;
PARAMETER_TYPE NUMERIC(10,4);
END
END_PORTFOLIO_EX
    137 | ★8
    4 комментария
    А где программа?
    avatar
    Arhilamer, а это что по вашему? :))))))
    avatar
    AVC,
    ПРошу прощения, не заметил эти абзацы))
    avatar
    Код помещается в Меню-Таблицы-Портфели
    avatar

    Читайте на SMART-LAB:
    Фото
    Долгосрочное инвестирование умерло. В этот раз - без "но". Хороших новостей не будет
    Увеличение капитала посредством инвестирования в доли компаний всегда основывалось на двух тезисах (1) компания сможет на длительном...
    Фото
    Как на самом деле используют ИИ в алготрейдинге
    Если первая часть моего репортажа по конференции алготрейдеров в Москве была об инфраструктуре, то вторая часть будет про искусственный...
    Фото
    Как в OsEngine создаются торговые роботы: класс BotFactory. Видео.
    В этом видео разбираем, как в OsEngine создаются торговые роботы и работает класс BotFactory. Заглянем в исходный код, посмотрим где хранятся...
    Фото
    Ростелеком. МСФО за Q4 2025г. Всё неплохо… но всё равно печально…
    Компания Ростелеком опубликовала финансовые результаты за 4 квартал 2025г.: 👉Выручка — 270,5 млрд руб. (+15,6% г/г) 👉Операционные...

    теги блога Margin_Nicolas

    ....все тэги



    UPDONW
    Новый дизайн