Блог им. kurd |Вариационка (прибыль) фьючерса на золото vs прибыль от золота

Дневная прибыль от золота, например, GLDRUB_TOM, вычисляется как разость G1*D1-G0*D0,
где G1,G0 — цена золота в долларах на начало и конец дня,
а D1,D0 — курс (цена) доллара в рублях на начало и конец дня.
Вариационка на ММВБ считается иначе: (G1-G0)*D1.

Если за 1-й день золото выросло на 1% от 1900 до 1919, а доллар упал на 1% от 75 до 74,25,
то прибыль золота равна (-14.25) руб, а фьючерса (+1410.75) руб.
Если на 2-й день золото осталось 1919, а доллар вырос на 1% до 74.9925,
то прибыль золота равна (+1424.858) руб, а фьючерса 0 руб.

Если играть в золото день за днём, то принцип расчёта вариационки лучше отвечает целям игры.
Ведь обычно золото и все товары в долларах растут при снижении индекса доллара. И вариационка фьючерса на золото в рублях как раз и предлагает выигрыш от движения золота, нивелируя движение доллара.

Однако, в долгосрочной, стратегической перспективе позиция в золоте предпочтительнее. Т.к. неизбежен и рост долларовой цены золота, и рост курса доллара к рублю.
Например, если на 3-й день золото вырастет на 1% с 1919 до 1938.19 и доллар вырастет на 1% с 74.9925 до 75.74243,
то прибыль золота будет 2892.603 руб, а фьючерса только 1453.497 руб.


Блог им. kurd |Благая весть из Церих кэпитала. Купленный доллар идёт в зачёт ГО на ФОРТСе

Недавно мне пришлось разделить Единый брокерский счёт, чтобы продолжить игру в опционы. Очень огорчился. т.к. раньше использовал краткосрочные ОФЗ для зачёта в ГО на ФОРТСе.
Оказалось, огорчился зря. Засчитывать купленный актив в ГО можно и сейчас. Залезать в ОФЗ уже не хочется, но можно использовать USDRUB_TOM. Для этого надо в Личном кабинете, «Клиентские службы» подать заявку «Валюта в ГО». По рассмотрении заявки будет назначен индивидуальный коэффициент пересчёта в ГО. Для опционов и фьючерсов.
PS А если за день наторгуете RI больше 100 млн руб, то брокерская комиссия в тарифе «Трейдер» на каждый контракт будет 0.1 руб.

Блог им. kurd |Какой индикатор нужен для календарного спреда фьючерсов

Открывая позицию в дальнем и ближнем фьючерсах на один и тот же актив неплохо иметь перед глазами график их разности. И Quik средствами QLua предлагает такую возможность.
Какой индикатор нужен для календарного спреда фьючерсов
Код довольно прост:

— Складывает Value графиков GraphId1 и GraphId2
— При запуске на загрузке Quik'а работает код предыдущей загрузки
— с последними свойствами, полученными из кода или интерактивно.
— При запуске старые бары графика данных сканируются дважды,
— только если есть подключение к серверу.
— При смене тайм-фрейма старые бары сканируются только единожды.
— При загрузке Quik'а первый скан до подключения к серверу.
CandlesOK = true
Settings = { — После смены тайм-фрейма нужно интерактивное подтверждение
  Name      = "_Add"
  ,GraphId1 = «Tag-1» — Перезадать оба после первой загрузки.
  ,GraphId2 = «Tag-2» — Сохраняются при последующих запусках.
  ,Factor1  = 1       — Для GraphId1
  ,Factor2  = 1       — Для GraphId2
  ,Base1    = 0       — Для GraphId1
  ,Base2    = 0       — Для GraphId2
  ,Value    = «close»
  ,line = { — Исчезает прогррамный доступ после 1-го интерактивного изменения
    {Name = «close»
    ,Color = RGB(255,255,0) — Жёлтый
    ,Type = TYPE_HISTOGRAM — POINT, LINE, DASH, DOT, HISTOGRAM,
    ,Width = 2}            — TRIANGLE_UP, TRIANGLE_DOWN.
  }
}
function Init()
  local s = «Indicator _Add:»
  if 0 == getNumCandles (Settings.GraphId1) then
    CandlesOK = false
    s = s .."\n  invalid GraphId1"
  end
  if 0 == getNumCandles (Settings.GraphId2) then
    CandlesOK = false
    s = s .."\n  invalid GraphId2"
  end
  if not CandlesOK then message (s) end
  return #Settings.line
end — Init()

function OnCalculate (index)
  if index == 1 then
    CandlesOK = true
    if 0 == getNumCandles (Settings.GraphId1) or
       0 == getNumCandles (Settings.GraphId2) then
      CandlesOK = false
    end
    --[[message («Settings.Value »… tostring (Settings.Value)
      .."\nSettings.line "… tostring (Settings.line)
      .."\nCandlesOK  "… tostring (CandlesOK))--]]
    if Settings.Value ~= «open» and Settings.Value ~= «high» and
       Settings.Value ~= «low»  and Settings.Value ~= «close» then
      Settings.Value = «close»
      message («Indicator _Add: Value must be open/high/low/close»)
    end
  end
  if not CandlesOK then return nil end
  local candle1 = (getCandlesByIndex (Settings.GraphId1, 0, index-1, 1))[0]
  local candle2 = (getCandlesByIndex (Settings.GraphId2, 0, index-1, 1))[0]
  local val1 = candle1[Settings.Value]
  local val2 = candle2[Settings.Value]
  — Результат return res == 0 and nil or res всегда 0 при res == 0
  if val1 == 0 or val2 == 0 then return nil end
  return (val1 + Settings.Base1) * Settings.Factor1
    + (val2 + Settings.Base2) * Settings.Factor2
end — OnCalculate()


Блог им. kurd |Какая доска опционов нужна для покрытого шорта опционов. Сделай сам

Чтобы шортить с открытыми глазами, каждый может смастерить себе в Quik'е на QLua простую таблицу.
Раз в секунду в заголовке таблицы меняется текущее значение базы. В скобках показан интервал значений (фиксированный) для колонки strike, чтобы выбирать в таблицу страйки с таким процентным отношением к базе на момент генерации таблицы. Суффикс опциона указан в заголовке перед текущим временем.
Колонка strike формируется единовременно при генерации таблицы. Остальные обновляются каждую секунду.
Колонка strike% показывает процентное отношение страйка к текущей базе.
В колонках vola и theor указаны волатильность и теорцена опциона.
Колонка base% показывает процентное отношение теорцены к текущей базе.
Колонка value показывает рублёвый объём теорцены.
Колонка margin показывает ГО на шорт опциона.
Колонка year% показывает процентное отношение value к margin,  отнесённое на 365 дней.
В контекстном меню таблицы одна команда — перерасчёт с новой базой, опционом и интервалом страйков.
Для меня главное — strike% и year%.
Какая доска опционов нужна для покрытого шорта опционов. Сделай сам



....все тэги
UPDONW