Блог им. robostock

Мани-менеджмент в Wealth-Lab

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

В этой статье приведу пример исходного кода библиотеки для управления капиталом по максимально допустимому риску на позицию.

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

Про практику писать не буду, она у каждого своя, а вот сравнение пробойной торговой системы

Кривая капитала стратегии без управления капиталом.

Среднегодовая доходность: 53%

Максимальная просадка: 40%

Мани-менеджмент в Wealth-Lab                       

Кривая капитала стратегии с управлением капиталом. Размер позиции рассчитывается из 1% риска на сделку.

Среднегодовая доходность: 36%

Максимальная просадка: 21%

 

Мани-менеджмент в Wealth-Lab 

Риски падают в два раза, доходность в 1,5 раза, соотношение доходность/риск выросло с 1,3 до 1,7.

Инструкция по созданию собственного модуля автоследования доступна по ссылке https://www.fidelity.com/bin-public/060_www_fidelity_com/documents/WLP_PosSizers.pdf

 

Процесс написания модуля мани-менеджмента прост. Нужно создать класс наследник от BasicPosSisers и написать собственную функцию SizePosition. Именно эта функция отвечает за расчет количества лотов исходя из заданного уровня риска.

        public override double SizePosition(Position currentPos, Bars bars, int bar, double basisPrice, PositionType pt, double riskStopLevel, double equity, double cash)

        {

            //Пересчет уровня стопа в проценты

            double risksizeprecent = Math.Abs((riskStopLevel — basisPrice) / basisPrice — 1);

           

            //Загрузка сохранённых параметров риска на позицию из прошлых сеансов работы

            //в противном случае значение уровня риска на позицию придется задавать в коде

            if (_settings == null)

                _settings = new myPosSizerSettings();

            this.InitializeSettings(_settings);

            _maxRisk = _settings.MaxRiskSize;

 

             //Расчет размера капитала, выделенного на сделку

            double capfortrade = equity *0.99*_maxRisk/100;

            capfortrade = capfortrade/Math.Abs(riskStopLevel — basisPrice);

            if (capfortrade > equity)

                capfortrade = equity;

             //расчет количества акций для сделки

            return (int) (Math.Min(capfortrade,equity*0.99/basisPrice));

        }

 

Исходный код библиотеки управления капиталом для Wealth-Lab: https://github.com/robostock/myPosSizer

 

       

 

 

Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.
185 | ★4
2 комментария
а вы не думали, что у вас менеджер подогнан к истории?
avatar
Здесь нет ни подгонки, ни оптимизации. Я для простоты расмотерл простую пробойную стратегию с одним параметром для расчета минимумов-максимумов. + показано сравнение результатов без мани-менеджмента и с манименеджментом (1% риска на позицию) + комис 0,06% от оборота. Иследование поведения стратегии отдельная история. про это полно других постов.
avatar

Читайте на SMART-LAB:
Фото
Как горизонт влияет на инвестиционный портфель
Дмитрий Пучкарев Российский рынок находится в фазе, когда универсальный совет «покупай и держи» не работает. То, что выглядит разумным на...
Фото
Пример робота на внешних стопах для OsEngine
В статье разбираем учебного робота ServerStopOrdersSample  — готовый пример торговли внешними (серверными) стоп-ордерами. Робот показывает полный...
Фото
GBP/USD: фунт готовится защищать свое право на рост
Фунт торговался разнонаправленно, оставаясь в ограниченном диапазоне под воздействием сменяющихся факторов преимущественно на стороне доллара. В...
Фото
Озон Фармацевтика МСФО 6 мес. 2026 г. - выручка +12%, прибыль +90%
Озон Фармацевтика за полугодие нарастила выручку на 12% до 14,8 млрд руб.  Валовая прибыль выросла на 29% до 7,4 млрд руб. при росте...

теги блога Кирков Алексей

....все тэги



UPDONW
Новый дизайн