Избранное трейдера VladimirD
Введение в серию постов по торговле, при которой роботы ориентируются на индекс во время принятия решений.
У нас в OsEngine есть прекрасный источник данных, который генерирует индекс по автоформуле. В первом квартале 2024 года мы провели его глубокую модернизацию. Настала пора поговорить о нём.
В этой серии будем обсуждать:
1. Возможные алгоритмы роботов. Зачем это надо в трейдинге?
2. Как можно собирать индекс?
3. Волатильность, Корреляция, Коинтеграция и объёмы в торговле от индекса.
4. Зачем ещё при этом смотреть на широкий рынок и как это делать.
5. Как это делается в OsEngine?
6. Посмотрим на примеры нескольких роботов с данным типом источника данных в OsEngine.
7. Зачем интегрировать с источником Индекс источник Скринеры. И как правильно это делать.
Индекс это — некоторые ценовые ряды биржевых активов, комбинированные (сложенные, взвешенные или нормированные и т.д.) вместе в ряд, который должен отражать общую динамику исходных ценовых рядов.
function run() { vars Price = series(price()); vars Trend = series(LowPass(Price,500)); Stop = 4*ATR(100); if(valley(Trend)) enterLong(); else if(peak(Trend)) enterShort(); }
Это уже целая система. Мы видим, что главная функция теперь называется «run» вместо «main».
Функция также может принимать переменные или числовые значения от вызывающей функции, использовать их для своих вычислений и возвращать результат. Вот пример функции, которая получает переменные и возвращает их:
var euro_to_dollar(var Euro) { var Kurs = 1.36; return Euro * Kurs; }
Переменная var Euro в скобках содержит числовое значение, которое передается в функцию. Эта переменная может использоваться в функции как любая другая переменная. Чтобы вернуть число, запишите его — или выражение, которое вычисляет это число — после оператора return. Это возвращаемое число — называемое возвращаемым значением — может быть затем обработано в вызывающей функции.
Итак, самый свежий обзор IB.
Зачем Interactive Brokers (IB) трейдерам? Большой выбор инструментов. Огромная ликвидность. Низкие комиссии. Страховка брокера на 500 тыс.
Зачем IB инвесторам? Доступ к самым лучшим etf, REITS, бондам, акциям итд. Низкие комиссии по некоторым из них, например по etf от Vangard.
Зачем IB бизнесменам? Диверсификация страновых рисков.
На сегодня, для россиян желающих торговать/инвестировать в первоклассные мировые активы, выбор очень скуден.
Как открывать счет? Даже сейчас, IB открывает счет резидентам РФ. Можно по моей реферальной ссылке, тогда быстрее рассмотрят, насыпят плюшек и вам, и мне.
Если вы получили прибыль от сделок на бирже, то с помощью декларации 3-НДФЛ вы можете законно снизить свой налог двумя способами:
Сальдирование — это уменьшение налогооблагаемой прибыли, полученной через одного брокера, на сумму убытка, полученного через другого брокера.
Прибыли и убытки от разных сделок в пределах одного брокерского счета сальдируются автоматически. А для сальдирования прибылей и убытков, полученных у разных брокеров, нужно подавать декларацию 3-НДФЛ.
Камрады! Коннектор к ALOR OPEN API добавлен к OsEngine около трёх недель назад. Бета тесты завершены. Пора торговать!
1) Это очень классный коннектор в плане стека. Как крипта. Rest + web sockets. Это современно, это общепринятые стандарты, которые на сотнях бирж существуют. Короче — огонь.
2) Быстрый. Пока в глюках не замечен, только если палкой не тыкаешь.
3) Единственный пока в своём роде на MOEX. Лучшее, что есть из бесплатного. Им мог стать Тиньков Апи первой версии. Но там камрады стек трейдинговый не знали, кто его делал. А вторая команда разработчиков стек технологический изменила в худшую сторону.
4) Сообщения об ошибках при запросах прекрасны. И цифры, и текст. Очень редко, где такое. Спасибо. Это ускорило разработку. Отдельный привет команде за это. Красавчики.
Три различных типа времени приходит из шлюзов. Это супер странно. Вообще нигде такого не видел. Поэтому ставим на ПК МОСКОВСКОЕ ВРЕМЯ, иначе могут быть различные странности.
Это уже четвертый пост о расчетах в EXCEL, связанных с облигациями. На этот раз о том, как рассчитать НКД и дюрацию, не используя встроенных формул.
Напомню, что все встроенные «облигационные» формулы рассчитывают все показатели, когда купоны выплачиваются 1, 2 или 4 раза в год. А что желать с теми 250+ выпусками, где купоны платят каждый месяц?
Для этого придется вспомнить формулы, как это не грустно.
Ну, с НКД все достаточно просто. Возьмем для примера выпуск с выплатой купона 12 раз в год и амортизацией. Бумаги с амортизацией тоже приходится считать руками. Встроенные функции ее просто не видят.
Рассмотрим выпуск Сибстекло-БО-П02. Здесь есть все, что нам нужно.
Цена текущая подтягивается с биржи (смотри предыдущие посты). Значение купона в рублях рассчитываем по формуле ниже (Ячейка С9).
Информационно-статистический сервер Московской Биржи (ИСС или ISS) – это сервис, предоставляющий разнообразную биржевую информацию в режиме реального времени, а также итоги торгов и статистические данные.
Основные возможности ИСС:
Данные о ходе торгов в режиме online и итоги торгов доступны только по подписке, естественно платной.
На сайте мосбиржи есть специальный раздел “Программный интерфейс к ИСС“, на котором выложено Руководство разработчика (v.1.4), Описание метаданных и Описание методов.
С этих документов и надо начинать изучать ИИС. Кстати говоря Правила использования биржевой информации Московской Биржи четко определены и наглядно представлены в презентации.
Часть 2
Расчет доходности
Рада, что предыдущий пост про НКД понравился. По поводу всевозможных сторонних сервисов для учета ценных бумаг и анализа портфеля. Я, конечно, ничего не имею против. Лишь бы этот учет был. Я все же предпочитаю вести портфели сама, чтобы не зависеть особо от сторонних ресурсов и чтобы, это самое главное, видеть те характеристики портфелей, которые необходимы для принятия тактических и стратегических решений.
Ну, а сейчас, к расчету доходности.
Самая простая и понятная по смыслу доходность – это простая доходность к погашению. Рассмотрим все ту же облигацию Уральской стали.
Для расчета доходности нам потребуется график купонных выплат. Где его взять? Он есть, например, на Smart-lab. Есть он и на сайте биржи.
По бумаге предстоит получить еще 10 купонов по 26.43 руб. Итого 264.3 руб.
Кроме этого, нам нужна цена облигации. Мы ее закачаем с биржи, используя формулу: =ПОДСТАВИТЬ(@ ФИЛЬТР.XML(ВЕБСЛУЖБА(«iss.moex.com/iss/engines/stock/markets/bonds/boards/TQCB/securities/»&B3&"/securities.xml?iss.meta=off&iss.only=securities&securities.columns=SECID,PREVLEGALCLOSEPRICE");"//document//data//rows//row/@PREVLEGALCLOSEPRICE");".";".")