Избранное трейдера trader
И так мы начинаем серию наших публикаций, в которых расскажем, о том какие прибыльные стратегии знаем и используем сами.
Решили начать с самого простого способа приумножения капитала в долларах США. Думаем, что это особенно актуально в текущее время — ожидаем продолжение ослабления курса рубля (как минимум до 16.5 по юаню, и до 120 по доллару США).
*используем следующую общую классификацию: низкие, средние, высокие
Фандинг (ставка финансирования) – это периодические выплаты/списания по открытым позициям бессрочных фьючерсов. Более подробно данную тему можно изучить на сайте Академии Бинанс, но все, что нам нужно знать для использования стратегии вы напишем ниже.
Если бессрочный фьючерс стоит дороже базового актива (спота), то ставка финансирования будет иметь положительное значение, если бессрочный фьючерс стоит дешевле базового актива, то ставка фандинга будет отрицательная.
На фоне повышенной волатильности рынков возникает необходимость увеличения общей биржевой позиции. Целью может выступать не только желание повысить финансовую отдачу от портфеля, но и захеджировать его, то есть снизить риски вложений в целом.
На едином брокерском счете это сделать легко, но одновременное наличие позиции во фьючерсах и на нескольких рынках может привести к образованию маржинальной задолженности (плеча). Теперь вы не будете за нее платить в пределах размера гарантийного обеспечения (ГО) на срочном рынке.
Как воспользоваться
• В рамках единого брокерского счета (ЕБС), в который должны входить срочный (FORTS), фондовый и валютный рынки, на FORTS необходимо иметь открытые позиции во фьючерсах. Сумма, заблокированная под них в ГО, будет учитываться при переносе маржинальных позиций на других рынках.
• Если по итогам торговой сессии образуется денежная задолженность, за ту ее часть, которая равна размеру средств, заблокированных под ГО, не взымается плата за перенос непокрытой позиции (маржинального плеча). Превышающее эту сумму маржинальное плечо оплачивается в соответствии с тарифом.
Всем привет! Наконец-то я закончил работу над своей первой настоящей, правда еще консольной, программой, с помощью которой можно скачать все исторические данные (свечки OHLCV) с различными таймфреймами по всем акциям Мосбиржи. И вроде достаточно простая задача, но отняла достаточное количество времени. И кажется я все больше начинаю понимать как программировать, хотя осознаю, что знаний в безграничном python катастрофически не хватает. Тем не менее получилось сделать то, о чем не мог себе представить еще месяц назад. Открывая сейчас код программы начинаю чувствую на подсознании, что не все так страшно, как было совсем недавно.
Итак, в конце года я писал о том, как с помощью Algopack можно вытащить справочную информацию о всех акциях Мосбиржи. Был написан мой первый небольшой и достаточно простой скрипт использующий библиотеку moexalgo. И я обозначил планы дописать его с целью добычи всех исторических данных.
Сказано – сделано. В итоге получилась, как я считаю, вполне полноценная программа.
Расскажу про трюк, которым улучшаю доходность своих торговых ботов.
Называется он «Risk Limit».
1. Смысл Risk Limit в замене фиксированного риска на риск меньшего размера, но с применением консервативного множителя после убытка.
2. Ключевая особенность в наличии жёсткого предела, выше которого риск не поднимется. Этот предел также должен оставаться в зоне низких рисков.
Объясню на примере.
Представим, в каждой сделке мы рискуем фикс 2% от депо. Хотим применить Risk Limit!
📍 Делаем это так:
• Снижаем риск до 1%.
• После каждой убыточной сделки применяем множитель х1,2.
• После первого профита возвращаемся к 1%.
• Верхним пределом устанавливаем 3% и больше не рискуем ни при каких обстоятельствах! Данный процент мы закладываем вплоть до первого профита.
Получившаяся линейка рисков с округлением до десятых выглядит так:
1%, 1,2%, 1,4%, 1,7%, 2,1%, 2,5%, 3%.
Какие преимущества по сравнению с фиксированным риском в 2%?
1️⃣ Стартовый риск ниже, а значит, ниже плечо, комиссионные сборы, прочие сопутствующие расходы.
Сегодня:
Работа с биржевым стаканом через getQuoteLevel2
Особенность нумерации в стакане заявок терминала квик
Работа через функцию обратного вызова OnQuote
Примеры работы со стаканом из скрипта
Сравнение реализации одного алгоритма через разные функции
Из таблицы текущих торгов мы можем получать большой перечень данных, в т.ч. по лучшим ценам спроса и предложения, из которых желающие получат спрэд по выбранному инструменту. Однако иногда нужно заглянуть именно в биржевой стакан. Это, например, пригодится нам далее при выставлении заявок.
Работать с биржевым стаканом можно через getQuoteLevel2 и функцию обратного вызова OnQuote.
Функция getQuoteLevel2 возвращает 2 массива котировок (bid и offer) и 2 значения: количество бидов в стакане (bid_count) и количество офферов (offer_count). Чтобы нам не было скучно разработчики терминала решили последних 2 параметра передавать в виде строки, поэтому при работе их нужно перевести в числа (через tonumber).
Массивы bid и offer содержат цены (price) и количество (quantity) по каждому уровню заявок стакана. Их также нужно будет предварительно перевести в число.