Yury Kirillov / Профиль
- Информация
10+ лет
опыт работы
|
0
продуктов
|
0
демо-версий
|
0
работ
|
0
сигналов
|
0
подписчиков
|
![Yury Kirillov](https://c.mql5.com/avatar/2014/4/535E59B2-2752.jpg)
13 декабря 2018, 10:07 _sk_
https://smart-lab.ru/blog/510509.php
Решил написать пост для тех, кто хотел бы разобраться с математикой управления капиталом и расчётом оптимального плеча. Для лучшего понимания начнём с простого примера, потом обобщим его и выведем некоторую формулу. При этом понадобятся математические знания конца средней школы.
Допустим, мы придумали торговую систему, которая даёт следующие прибыли/убытки с равными шансами: -10%, +20%, -5% и +5%. Если сделать 4 трейда по этой системе, вкладывая весь имеющийся в наличии капитал, и каждый из исходов произойдёт ровно по одному разу, то капитал C превратится в
C*(1-0.1)*(1+0.2)*(1-0.05)*(1+0.05) = C*1.0773,
т.е. вырастет на 7.73%.
Пусть у нас есть возможность получить бесплатное плечо и вкладывать удвоенный капитал, тогда по сравнению с исходным капиталом прибыли/убытки составят уже -20%, +40%, -10% и +10%. В этом случае исходный капитал после 4-х трейдов превратится в
C*(1-0.2)*(1+0.4)*(1-0.1)*(1+0.1) = C*1.1088,
т.е. вырастет на 10.88%, что выгоднее торговли по номиналу.
Если ещё увеличить плечо, скажем, вкладывая упятерённый капитал, то прибыли/убытки на исходный капитал будут -50%, +100%, -25% и +25%, а капитал после 4-х трейдов превратится в
C*(1-0.5)*(1+1)*(1-0.25)*(1+0.25) = C*0.9375,
т.е. капитал не вырос, а уменьшился на 6.25%. Что называется, перебрали с плечом.
Получается, что есть оптимальный коэффициент плеча k, для которого торговля будет самой выгодной. Это k можно подобрать, чтобы произведение
(1-k*0.1)*(1+k*0.2)*(1-k*0.05)*(1+k*0.05)
стало самым большим.
Оставим пока подбор k, и задумаемся, почему рассмотрены только 4 трейда, когда на практике их много. Дело в том, что если совершается большое число N трейдов, то примерно N/4 из них дадут -10%, примерно N/4 дадут +20% и т.д. Пренебрежём этим «примерно» (всё равно из-за случайности по всякому может быть), и будем считать, что точно по N/4 трейдов будет у каждого исхода. Тогда надо максимизировать
(1-k*0.1)^(N/4) * (1+k*0.2)^(N/4) * (1-k*0.05)^(N/4) * (1+k*0.05)^(N/4),
где знак ^ означает возведение в степень.
Мы можем убрать N из степени (поскольку большее положительное число при возведении в некоторую степень даёт больший результат, чем меньшее положительно число при возведении в ту же степень) и максимизировать выражение
(1-k*0.1)^(1/4) * (1+k*0.2)^(1/4) * (1-k*0.05)^(1/4) * (1+k*0.05)^(1/4).
Здесь показатели степеней 1/4 — не что иное, как вероятности каждого из исходов.
Теперь становится понятно, как обобщить исходный пример. Пусть есть трейды, которые случаются с вероятностями p1, ..., pn и дают прибыли/убытки x1, ..., xn. Для подбора оптимального плеча нужно найти такое k, что произведение
(1+k*x1)^p1 *… * (1+k*xn)^pn
будет максимально. Поскольку x и p — это некоторые известные числа, то произведение зависит только от k, т.е. является некоторой функцией f(k).
Я пропущу математические выкладки, поскольку:
1) кто знает, тот сообразит;
2) кто не знает, тот смотрит на итоговую приближённую формулу ниже;
3) кто хочет намёков, тот:
а) находит логарифм от произведения (его максимум достигается при том же k, что и у исходного произведения, а вычислять дальше будет проще),
б) вычисляет его производную и приравнивает к нулю (в точке максимума она нулевая);
в) решать полученное уравнение неудобно, поэтому заменить выражения вида 1/(1+k*x) по формуле геометрической прогрессии на 1-k*x+(k*x)^2 — … и пренебречь всеми членами, начиная с квадратов, после чего придти к уравнению на k, которое уже легко решить.
Итоговая приближённая формула имеет вид:
k = (p1*x1+...+pn*xn) / (p1*x1^2+...+pn*xn^2).
Замечания по поводу формулы понятны:
1) она приближённая, но можно подбирать точное значение k для максимума численно;
2) плечо не бесплатно, но это можно учесть отдельно;
3) в реальном трейдинге вероятности и прибыли/убытки либо неизвестны, либо могут меняться со временем;
4) случайность никуда не денется, может просто повезти/не повезти даже при оптимальных действиях.
В любом случае, лучше понимать, что происходит пусть в модельном примере и делать выводы уже применительно к трейдингу, чем вообще ничего не понимать.
Удачи в торговле!
![Yury Kirillov](https://c.mql5.com/avatar/2014/4/535E59B2-2752.jpg)
https://smart-lab.ru/blog/507792.php
![](https://c.mql5.com/1/130/265fe4e955.jpg)
![Yury Kirillov](https://c.mql5.com/avatar/2014/4/535E59B2-2752.jpg)
![Разворотные паттерны: Тестируем паттерн "Двойная вершина/дно"](https://c.mql5.com/2/34/double_top.png)
В практике торговли трейдеры часто ищут точки разворота трендов и тенденций, так как именно в момент зарождения тренда цена имеет наибольший потенциал движения. Именно поэтому, в практике технического анализа рассматриваются различные разворотные паттерны. Одним из наиболее известных и часто применяемых паттернов является двойная вершина/дно. В данной статье предлагается вариант машинного обнаружения паттерна, а также тестируется его доходность на исторических данных.
![Yury Kirillov](https://c.mql5.com/avatar/2014/4/535E59B2-2752.jpg)
![Применение OpenCL для тестирования свечных моделей](https://c.mql5.com/2/34/OpenCL_for_candle_patterns.png)
В данной статье мы рассмотрим алгоритм реализации тестера свечных моделей на языке OpenCL в режиме "OHLC на M1". А также сравним его быстродействие cо встроенным тестером стратегий, запущенным в режиме быстрой и медленной оптимизации.
![Yury Kirillov](https://c.mql5.com/avatar/2014/4/535E59B2-2752.jpg)
![Многопоточный асинхронный WebRequest на MQL5 своими руками](https://c.mql5.com/2/34/Multi_WebRequest_MQL5.png)
В статье рассмотрена библиотека, позволяющая повысить эффективность работы с HTTP-запросами в MQL5. Выполнение WebRequest в неблокирующем режиме реализовано в дополнительных потоках с использованием вспомогательных графиков и экспертов, обмена пользовательскими событиями и чтения разделяемых ресурсов. Исходные коды прилагаются.
![Yury Kirillov](https://c.mql5.com/avatar/2014/4/535E59B2-2752.jpg)
Hail-fellow signals (Librenetka expert):
https://www.mql5.com/ru/signals/450729
https://www.mql5.com/ru/signals/472221
![Nigel Davis Nigel Davis](https://c.mql5.com/avatar/2018/7/5B4C9B7F-6B23.jpg)
uickly and safely
![Yury Kirillov](https://c.mql5.com/avatar/2014/4/535E59B2-2752.jpg)
16 октября 2018, 16:41 А. Г.
https://smart-lab.ru/blog/499678.php
![](https://c.mql5.com/1/126/9df1003fa3.jpg)
![Yury Kirillov](https://c.mql5.com/avatar/2014/4/535E59B2-2752.jpg)
![Yury Kirillov](https://c.mql5.com/avatar/2014/4/535E59B2-2752.jpg)
![Информационный индикатор позиций, сделок и ордеров.](https://c.mql5.com/3/240/Lip_Screen_01.png)
![Yury Kirillov](https://c.mql5.com/avatar/2014/4/535E59B2-2752.jpg)
![Реверсирование - священный Грааль или опасное заблуждение?](https://c.mql5.com/2/33/avatar5008.png)
В данной статье мы попробуем разобраться, что же такое реверсирование, стоит ли его применять и можно ли с его помощью улучшить вашу торговую стратегию. Мы создадим советника и на исторических данных посмотрим, какие индикаторы лучше всего подходят для реверсирования, а также можно ли использовать его вообще без индикаторов как самостоятельную торговую систему. Посмотрим, получится ли превратить убыточную торговую систему в прибыльную с помощью реверсирования.
![Yury Kirillov](https://c.mql5.com/avatar/2014/4/535E59B2-2752.jpg)
13 августа 2018, 17:23 Инвестор Алёshа
https://smart-lab.ru/blog/487540.php
![Yury Kirillov](https://c.mql5.com/avatar/2014/4/535E59B2-2752.jpg)
![Yury Kirillov](https://c.mql5.com/avatar/2014/4/535E59B2-2752.jpg)
08 августа 2018, 16:26 Инвестор Алёshа
https://smart-lab.ru/blog/486495.php
![kileo kileo](https://c.mql5.com/avatar/avatar_na2_micro.png)
![Yury Kirillov Yury Kirillov](https://c.mql5.com/avatar/2014/4/535E59B2-2752.jpg)
![Yury Kirillov](https://c.mql5.com/avatar/2014/4/535E59B2-2752.jpg)
01 августа 2018, 16:35 Инвестор Алёshа
https://smart-lab.ru/blog/485202.php
![Yury Kirillov](https://c.mql5.com/avatar/2014/4/535E59B2-2752.jpg)
https://habr.com/company/iticapital/blog/274247/
https://habr.com/company/iticapital/blog/274671/
-
31% (11)
-
46% (16)
-
49% (17)
-
34% (12)
-
37% (13)
-
54% (19)
![Yury Kirillov](https://c.mql5.com/avatar/2014/4/535E59B2-2752.jpg)
![Yury Kirillov](https://c.mql5.com/avatar/2014/4/535E59B2-2752.jpg)
![](https://c.mql5.com/1/116/eurusd-m-m1-roboforex-cy-ltd-robofx-orders-very-long-delay.png)
![Yury Kirillov Yury Kirillov](https://c.mql5.com/avatar/2014/4/535E59B2-2752.jpg)
![Viktor Vasilyuk Viktor Vasilyuk](https://c.mql5.com/avatar/2017/1/586D3F1F-3D97.jpg)
![Yury Kirillov Yury Kirillov](https://c.mql5.com/avatar/2014/4/535E59B2-2752.jpg)
![Yury Kirillov](https://c.mql5.com/avatar/2014/4/535E59B2-2752.jpg)
https://charts.mql5.com/18/565/eurusd-m1-alpari-international-limited-librenetka-v4-210-alpari.png
![](https://c.mql5.com/1/109/eurusd-m1-alpari-international-limited-librenetka-v4-210-alpari.png)