В Данном разделе описан Алгоритм работы Программы: PDV-Expert 9.2 (далее Программа) написанной на языке программирования LUA для торгового терминала QUIK.

 

Ввод параметров для инструментов осуществляется через графический интерфейс, в коде ничего писать и править не нужно.

 

  1. В настройках программы выбираете финансовый инструмент (параметр в программе называется: [SEC_CODE]), например, выберем MTLR (далее Инструмент, Акция);
  2. Указываете количество акций (название параметра: «Базовая Инвестиция» [BI]), к этому количеству Программа будет приводить текущий остаток Акций по данному инструменту на Вашем торговом счёте при стремлении цены данного инструмента к установленному Вами значению (этот параметр называется: «Точка Актуальности» [TA]); Более простыми словами: вы даёте распоряжение программе чтобы остаток на вашем торговом счёте стремился к 1000 Акций при цене на них 100р, соответственно при росте цены выше 100р Программа будет постепенно определёнными партиями их распродавать, при снижении цены будет докупать.
  3. Выбираете размер рабочего лота [R_LOT] – этот параметр непосредственно влияет на размер Заявки в лотах, которую программа будет отправлять на сервер для совершения сделок. Количество лотов для сделки в отправляемой Заявке вычисляется по формуле: [R_LOT] * на ЧИСЛО (рассчитывается как суммарный % изменения цены данного инструмента от [TA] с момента совершения последней сделки с данным инструментом); Более простыми словами: если цена от последней операции с данным инструментом изменилась условно на 6%, то размер Заявки (которую программа отправит Брокеру) в лотах будет: [R_LOT] * (Число 6) = …
  4. Параметр [Y] – это значение через какой % (изменения цены у инструмента от [TA]) Программа будет производить вычисления и совершит отправку Заявки по выбранному инструменту Брокеру.

 

Заявки по Инструментам переданным под управление Программой могут отправляться Брокеру как в полностью автоматизированном режиме так и с опцией ручного подтверждения каждой отправляемой Заявки.

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

Всем профита!

 

Рассмотрим на числовом примере настройки Программы для инструмента MTLR:

 

[SEC_CODE] = MTLR выбираем достаточно волатильный* инструмент Акция обыкновенная ПАО «Мечел».

Акция на сегодня (ноябрь 2024) Дивидендов не приносит, эмитент с отрицательным собственным капиталом, кто-то думает, что акция обесценится и цена на неё пойдёт вниз, кто-то мечтает о кратном росте цены на эту акцию вверх.

Нас в данной Акции (в данном примере) привлекает исключительно то что инструмент волатилен и мы будем стремиться зарабатывать исключительно на динамике изменения цены на данную Акцию.

 

Условно выделим для работы с данным Инструментом (MTLR) капитал в размере 150-200 тыс. рублей.

 

[BI] – установим 1000 акций, в данном случае это соответствует 1000 лотам (в 1 лоте данного инструмента 1 акция).

[TA] – установим «Точку Актуальности» (для удобства) на значении цены 100 рублей. (при цене 100 руб. программа будет приводить значение количества лотов MTLR на вашем торговом счёте равное 1000 лот).

[R_LOT] – установим размер рабочего лота: =25; этот параметр непосредственно влияет на размер прибыли от продажи партии лотов и на количество шагов (каждый шаг условно равен 1% от [TA]) которое может пройти цена вверх до момента полной распродажи текущего количества Акций «в ноль».

[Y] – параметр устанавливаем, например, =5; это условный % движения (изменения) цены от базовой [TA] через который будет произведён перерасчёт параметров в программе и приведено в соответствие (сбалансированно) количество Акций в вашем портфеле к «новой цене», соответственно будут отправлены Брокеру автоматические Заявки на покупку или продажу данного финансового инструмента.

 

Предположим, что на момент заполнения настроек и запуску программы по финансовому инструменту ПАО «Мечел» (MTLR) цена на 1 обыкновенную акцию на СЕЙЧАС составляет 106 руб.

 

Какой логики будет придерживаться Программа и какие действия она будет совершать согласно вышеуказанных настроек?

  1. Программа определит, что на текущую цену MTLR=106р/АО у Вас в портфеле должно быть: [BI]-[R_LOT]*{% роста цены (число) от заданной [TA]} = 1000лот-25*6 = 1000-150=850 лот акций MTLR (это РАСЧЁТНОЕ количество). Если количество акций по ФАКТУ на текущую цену 106р будет отличаться от РАСЧЁТНОГО, то программа приведёт в соответствие данной цене количество Акций в Вашем портфеле, отправив необходимые заявки покупки-продажи Брокеру. И у Вас при цене 106р/MTLR в портфеле будет 850 лот данного инструмента.
  2. При движении цены вверх или вниз от текущей 106р Программа будет совершать перерасчёт количества Акций (которое должно быть в портфеле на «новую цену») и совершать балансировку количества акций в Вашем портфеле по данному инструменту исходя из «новой цены» на него.

При данных настройках 1% изменения цены акции от [TA] равен 1 рублю (настройки специально взяты для удобства расчётов). Более простыми словами: при изменении цены у данного инструмента на 1 рубль (1% от [ТА]) программа будет стремиться изменить размер позиции MTLR  в портфеле на 25 лотов ([R_LOT]);

если цена вырастет с текущей 106 до 112 (+6%) - программа совершит продажу из портфеля 6*25=150 акций по текущей «новой цене +-112р»;  и при дальнейшем росте цены будет стремиться распродавать данную позицию по более высоким ценам, пока не распродаст «в ноль».

если цена снизится с текущей 106 до 100 (-6%), - соответственно программа докупит 6*25=150 акций по цене 100 р; при дальнейшем снижении цены будет стремиться дальше докупать данную позицию по более низким ценам; единственное ограничение при покупке – наличие доступных денежных средств на Брокерском счёте.

ВНИМАНИЕ: Программа может открывать позиции при Покупке финансового инструмента (Акций) с использованием заёмных денежных средств от Брокера, в том случае если вы предоставили разрешение своему Брокеру на использование Маржинального кредитования!!!

Категорически не рекомендуем Вам использовать заёмные средства от Брокера – это Маржинальное кредитование*** (они же «плечи»), если и будете использовать заёмные средства от Брокера – это Ваше персональное решение и Ваши личные риски!!!

Чтобы не иметь проблем и спать спокойно НАСТРОЯТЕЛЬНО РЕКОМЕНДУЕМ отключить в настройка именно у самого Брокера возможность использования Вами МАРЖИНАЛЬНОГО КРЕДИТОВАНИЯ и ЗАПРЕТИТЬ БРОКЕРУ брать в займы у вас Ваши Акции – так называемые операции РЕПО****.

 

Возвращаясь к нашему примеру: при какой цене программа распродаст «в ноль» инструмент которым управляет?

 

Определить максимальную цену при достижении которой будут проданы последние лоты можно по формуле [BI]/[R_LOT] = 1000/25 = 40 шагов (1 шаг равен 1%), соответственно это цена выше значения 100р+40%=140 руб на MTLR, Программа полностью распродаст MTLR из вашего портфеля «в ноль» ([BI] -[R_LOT]*40 = 1000-25*40 = ноль). При этом вы получите значительный рост остатка денежных средств на своём брокерском счёте. Эти денежные средства в дальнейшем можно использовать для работы с другими финансовыми инструментами.

Отправка Заявок на открытие коротких позиций** Программой запрещена, поэтому после продажи «под ноль» финансового инструмента Программа завершит свою работу (остановится) и будет ждать Ваших новых распоряжений (настроек в программе).

 

         Если цена на MTLR в рассматриваемом примере в впоследствии снова опустится ниже 140р, программа с Вашего распоряжения (настроек) снова начнёт определять сколько лотов MTLR должно быть у Вас на «новую цену» и совершать постепенный набор (закупку) этой позиции с целью последующей продажи, согласно вышеописанного Алгоритма.

 

Вопрос о потенциальной доходности Программы согласно нашего примера:

 

Параметр [Y] определяет % прибыли от проданной партии товара. Но прибыль может быть и кратно выше, например, Вы купили 1000 лотов MTLR по 100р и в идеальных условиях цена плавно (без откатов) дошла до нашего уровня 140р/АО.

Что бы происходило?

Условно через каждые ([Y]=5) 5(6)% роста цены от нашей [TA]=100 программа будет продавать по 25*5=125 или 25*6 = 150 лотов MTLR.

При цене 106р – мы продадим 150 лотов по +-106р; прибыль от сделки составит не менее 5%.

При цене 112р – мы продадим 150 лотов по +-112р; прибыль от сделки составит уже менее 12%.

При цене 118р – мы продадим 150 лотов по +-118р; прибыль от сделки составит уже менее 18%.

Но если цена движется то вверх, то вниз, программа то докупает, то продаёт партию лотов, вычислять прибыль отдельно по каждой партии не имеет никакого смысла. Поэтому условно принимаем, что прибыль по проданной партии товара возникает исключительно при продаже (операции Sell) и составляет «не менее» ([Y]=5) 5% от исполненных сделок по продаже.

Второй параметр влияющий на размер прибыли – частота совершения программой Заявок по купле-продаже – это зависит от волатильности финансового инструмента на рынке.

Если мы установим Параметр [Y]=2, то получим что при изменении цены более чем на 2-3% программа будет совершать сделки (отправлять Заявки) не дожидаясь движения в 5-6% как в нашем вышеописанном примере ([Y]=5). Соответственно операций (заявок) при изменений цены на 2-3% будет намного больше, но размер продаваемого/покупаемого лота сократится.

Подбор инструмента и выбор оптимальных настроек в программе для Инструмента позволит Вам получать максимальную прибыль.

 

Что происходит при дивидендном гэпе*****?!

Программа откупит часть лотов по «новой сниженной цене» согласно вышеуказанного алгоритма, и будет постепенно продавать/докупать этот «добранный объём» до момента восстановлении цены. При этом вы получите и прибыль от совершения сделок самой программой и дополнительно дивиденды от владения акциями, которыми Вы владели на момент отсечки реестра******, на свой счёт. Выплата дивидендов (дата отсечки реестра) создаёт дополнительную волатильность инструмента, что даёт возможность программе принести вам большую прибыль.

 

 

Термины:

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

**Короткая позиция (шорт) — это продажа актива на фондовой бирже, не принадлежащего продавцу, а взятого им в кредит у брокерской компании. 1

 

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

 

****Термин РЕПО, описывающий возможность брокера брать у клиента в долг акции для использования в других операциях, называется "репо" (от англ. repurchase agreement) или "сделка репо". В случае с акциями это означает, что брокер может временно использовать ваши ценные бумаги (например, для коротких продаж) с обязательством вернуть их позже. Важно, чтобы это было согласовано с вами, так как обычно такие условия прописаны в договоре брокерского обслуживания. Также возможен термин "реHypothecation" — это право брокера использовать активы клиента как залог для собственных нужд, что также должно быть оговорено в контракте.

 

*****Дивидендный гэп — это разница в цене акции до и после выплаты дивидендов. Обычно происходит падение стоимости акции примерно на величину дивидендов.

 

******Дивидендная отсечка — это дата закрытия реестра акционеров, в этот день компания формирует перечень лиц, которые должны получить дивиденды по акциям. Чтобы сформировать перечень акционеров, которые должны получить часть прибыли, компания определяет для себя дату отсечки для каждого отчётного периода. Инвесторы, владеющие бумагами именно в этот день, имеют право на выплаты независимо от того, как долго они ими владели. 

 

типа algoritm_mob.php