Избранное трейдера Classic

по

Qlua: пишем скринер акций Московской биржи

Пока не ушли далеко от темы получения данных из таблицы текущих торгов решил сделать в качестве примера еще и простой скринер акций. Это вполне доступно по тем материалам, которые мы уже прошли. Будем отслеживать динамику изменения цены относительно цены закрытия предыдущего дня.

Нам понадобятся:

1. Таблица для вывода данных (строить уже умеем).

2. Получение данных из таблицы текущих торгов через getParamEx (проходили там же).

3. Тикеры бумаг. Можно взять конкретный список бумаг и работать с ним, но приятнее и правильнее, чтобы скрипт мог автоматом выгружать все торгуемые тикеры из терминала и далее уже отслеживать их динамику. Попробуем это реализовать.

Через sec_list = getClassSecurities(«TQBR») можно получить строку с тикерами акций на Московской бирже, которые будут разделены запятыми. Чтобы пройтись по всем элементам и записать их в массив используем цикл:

for TIKER in string.gmatch(sec_list, "[^,]+") do
  tikers[#tikers + 1]=TIKER
end


Отслеживать будем параметр LASTCHANGE – процент изменения цены от цены закрытия:



( Читать дальше )
  • обсудить на форуме:
  • Quik Lua

Qlua: завершаем апгрейд советника.

Сегодня дополним наш алгоритм советника следующими пунктами:

1. Пропуск «поздних» сигналов на старте.
2. Обработка советником обрыва связи.
3. Сохранение сигналов и логов в файл.


Еще один пункт, связанный со временем, который был выбран для апгрейда советника – это пропуск сигналов на старте, если запуск скрипта состоялся не в начале торговой сессии (например любой старт после 10:30). Это может быть полезным, если выбрана активная внутридневная стратегия и сигналы полученные на старте скрипта, например в середине дня, могут быть уже не актуальными (с низким потенциалом прибыли) и лучше дождаться новых. Т.е. необходимо разделить сигналы на те, которые сгенерировались на старте и остальные сигналы, которые будем далее брать в работу. Сигнал на старте может закрыться (по обратному/сигналу выхода) и если переоткроется снова, то его уже можно брать в работу как новый.

В нашем скрипте сигналы по каждому инструменту (массив signal) ранее могли принимать значение:

0 – вне позиции по инструменту



( Читать дальше )
  • обсудить на форуме:
  • Quik Lua

Qlua дополняем скрипт советника таймингом: устанавливаем время старта и завершения скрипта, фиксируем время получение сигналов.

В прошлый раз был создан советник, который по минимальной торговой логике давал нам некие сигналы на лонг/шорт. Но было что улучшать и, может, далеко не все пункты кто-то захочет включить в алгоритм собственного советника, но в учебных целях мы поэтапно рассмотрим каждый, чтобы было понимание как это можно реализовать.

Сегодня дополним скрипт теми пунктами, которые были связанные с обработкой времени:

Установим время старта работы скрипта,
Ставим тайминг на получение сигналов на вход,
Установим таймер на завершение скрипта.


Прежде всего начала сделаем
правильное отображение цифровых данных.

В прошлых примерах все данные в скрипте выводились в формате строки.
При внимательном рассмотрении можно было заметить, что число выравнивалось по левому (как текст), а не правому краю (как число) ячейки.

Qlua дополняем скрипт советника таймингом: устанавливаем время старта и завершения скрипта, фиксируем время получение сигналов.

Типы всегда можно посмотреть по функции AddColumn в файле QLUA (говорили об этом ранее) по запросу «Функции для работы с таблицами Рабочего места QUIK»:

Тип данных в колонке:

QTABLE_INT_TYPE – целое число,



( Читать дальше )

Qlua: размещаем таблицу в скрипте, остановка скрипта при удалении таблицы, работа с цветом. Пишем своего советника (начало).

Продолжаем изучение qlua, cегодня:
Интегрируем таблицы в структуру скрипта qlua.
Удаляем таблицы через DestroyTable.
Останавливаем скрипт через IsWindowClosed.
Обработка события закрытия таблицы через коллбэк.
Работа с цветом SetColor, Highlight, SetSelectedRow.
Пишем простого советника.

В прошлый раз мы рассмотрели как с помощью qlua создать таблицу в торговом терминале и заполнить её информацией из таблицы текущих торгов. Но это была статичная табличка, чтобы её «оживить» нужно разместить операции с нашей таблицей внутри структуры скрипта в функции main.

Саму таблицу мы можем создать до цикла while и внести неизменяемые данные (в нашем случае тикер и наименование бумаги), а уже заполнить цифрами и обновлять внутри цикла. Пока будет работать скрипт таблица будет обновляться.

function OnInit()
  tikers = {"GAZP", "SBER", "VKCO"}
  progname = "mytable :"
  timeout = 5000
end

function OnStop()
  do_it = false
  message(progname.." Финиш.")
end

function main() 
  message(progname.


( Читать дальше )

На что влияет ключевая ставка и как очень легко ее прогнозировать

Полководец Тимофей Мартынов решил пролить на нас всех, в эти выходные, золотой дождь, не тот, который получил Славик и Димон в одной из серий по неопытности, а самый настоящий — рублевый.

Наша цель — определить на что влияет пятничное решение ЦБ повысить ключевую ставку на 1%, с 7,5% до 8,5%.

Для того, чтобы прийти к этой цели, нам необходимо решить несколько задач:
1. Почему ставка была повышена и как прогнозировать это самое повышение;
2. Для чего Центральный Банк России повышает/понижает эту самую ставку.

Итак, погнали.

1. Почему ставка была повышена и как прогнозировать это самое повышение?
Для ответа на этот вопрос можно применить два логических метода: анализ ожиданий рынка и анализ первичных данных.

1.1. Анализ ожиданий рынка.
В качестве результирующей части, в рамках ожиданий рынка, можно выделить положение Кривой бескупонной доходности (КБД Московской биржи), а также ставку RUONIA. КБД показывает различные горизонты ожидания рынка, а RUONIA краткосрочные.
Для того, чтобы понять изменение ключевой ставки в рамках КБД достаточно посчитать дюрацию любой ОФЗ на день изменения ключевой ставки в прошлый раз (19 сентября 2022 года — 7,5%) и на дату ожидаемой изменении ставки (21 июля 2023 года — 8,5%).

( Читать дальше )

💥 Ключевая ставка: у ЦБ РФ не было выбора


Добрый день, друзья!

После пятничного решения ЦБ РФ, который сразу же на 100 б. п. (до 8,5%) повысил ключевую ставку, только ленивый аналитик не бросил в сторону регулятора камень за то, что тот слишком быстро закручивает гайки в борьбе с инфляцией.

С одной стороны, недовольство соотечественников решением Центробанка является абсолютно понятным: ведь повышение ключевой ставки означает рост процентных расходов по кредитам для физических и юридических лиц.

В то же время, предлагаю разобраться: а мог ли Центробанк поступить иначе?

Сначала давайте ответим на следующий вопрос: хотим ли мы, чтобы российская казна финансировала за счёт золото-валютных резервов биржевых спекулянтов, зарабатывающих на схемах «кэрри трейд»?

Предпосылки для подобных спекулятивных схем складываются в том случае, когда процентная ставка регулятора становится ниже инфляции (финансисты в этом случае говорят об отрицательной реальной процентной ставке).

В этом случае Центробанк «бесплатно» кредитует спекулянтов в силу чего начинает раскручиваться «турецкий сценарий» с десятками процентов годовой инфляции и жесточайшей девальвацией национальной валюты.



( Читать дальше )

Защита от ослабления рубля

В сложившейся ситуации покупка иностранных бумаг сопряженно с рисками, но деньги в валюте под подушкой «съедает» инфляция.

Наулучшим образом для себя, я считаю, вложения в облигации российских компаний номинированные в валюте (еврооблигации) 

На российском рынке торгуются два фонда на еврооблигации:

YUAN — фонд от Ингосстраха, комиссия 0.4%

SBCN — фонд от Сбера, комиссия 0.7%

Фонд от Сбера инвестирует в облигации не ниже B-, фонд от Ингосстраха инвестирует в облигации не ниже BB.

 

Фонды «молодые» доходность их:

SBCN 25.84% за полгода 

YUAN 13.63% за 2 месяца


Qlua: получение данных из таблицы текущих торгов, создание таблиц в торговом терминале.

Сегодня рассмотрим:

1. Получение биржевых данных через функцию getParamEx
2. Выгрузка списка параметров функции getParamEx через DDE из торгового терминала
3. Создание пользовательских таблиц в торговом терминале


Одна из особенностей работы через квик это то, что можно получать достаточно большой объем биржевой информации по интересуемым инструментам. Большинство других платформ для алгоритмической торговли и терминалов в РФ будут выдавать только цену открытия, максимум/минимум дня, последнюю цену, цену закрытия, объемы по инструментам и максимум еще 3-5 каких-то дополнительных пунктов. В распоряжении тех, кто использует qlua огромная матрица параметров таблицы текущих торгов.


Получить их можно через функцию getParamEx:

getParamEx(код класса актива, инструмент, параметр), где:

код класса: например в случае акций это «TQBR», а в случае срочного рынка «SPBFUT».
инструмент: тикер.
параметр – один из параметров для соответствующей группы инструментом (об этом подробнее ниже).


Функция возвращает таблицу со следующими полями:



( Читать дальше )

Я затопил соседей, как от этого застраховаться и какую страховку выбрать?

У меня случился форсмажор, затопил соседей. Решил на будущее купить страховку от таких случаев. Знаю, что уже поздно, но, как говорится, "лучше поздно, чем никогда!".
Существует множество всевозможных страховок и в данной статье попробую разобраться, какую из них выбрать, чтобы не беспокоиться о внезапном затоплении соседей.

  Я затопил соседей, как от этого застраховаться и какую страховку выбрать? 

История такая — сижу на работе, звонит тетка из управляющей компании и сообщает, что я топлю соседей. Я «лечу» домой и действительно, у меня потек полотенцесушитель. Сам дом — новостройка, живу второй год в нём, но уже не первая проблема с сантехникой, пару месяцев назад тек счётчик, его поменял без негативных последствия для квартиры снизу. В этот раз легко не отделался...
Во-общем, сантехники воду перекрыли, но я успел уже затопить соседку. Спустился к ней узнать, какой ущерб я нанёс и какие расходы по возмещению меня ожидают. После её фразы «я посоветуюсь со своим юристом» на вопрос о нужной сумме я понял, что вся история только начинается.



( Читать дальше )

....все тэги
UPDONW
Новый дизайн