Блог им. Crazy_Trading

Коэффициенты торговли

Всем привет, продолжаю тестировать свои торговые алгоритмы, и собственно вопрос опять к прогерам, тем, кто оценивает торговые стратегии по разного рода коэффициентам, в частности Шарпа и Сортино

вопрос: какие коэффициенты, их значение — являются приемлемыми для рассмотрения стратегии вообще как интересной?
653 | ★2
27 комментариев
tashik вы что то говорили про коэффициенты, продолжите свою мысль пожалуста, я так понял вы их используете и как следствие знаете приемлемые значения этих коэффициентов
Наверное, это индивидуально. Приемлема и единица, но кому-то это может и мало (особенно с учетом всяких проскальзываний).
avatar
Если ищете денег в управление, то шарп нужен 2-3. Остальное там на нужный уровень само подтянется с таким Sharp Ratio. Коэффициент Шарпа — это отношение доходности к стандартному отклонению доходности. Как стандартное отклонение подсчитать, наверное, излишне объяснять. Он показывает насколько хорошо доходность компенсирует принимаемый стратегией риск.
avatar
tashik, 
5:20 
avatar
Lagamail, я лично знаю человека, у кого он вручную 3, несколько лет подряд. А так… для себя любую планку можно поставить
avatar
tashik, какую доходность безрисковой инвестиции необходимо вставлять в эту формулу? 

я поставил 6 — норм? 
Тихая Гавань, доходности трежерис для периода тестирования будет достаточно. Если история за 10 лет — то берите доху 10-летних трежерей. Я для нашего рынка 0 беру )
avatar
tashik, это опционы или фьючерсы с таким шарпом? 
avatar
YuryDok, торговля волой, но это наш общий знакомый. У меня пока такое не выходит даже во сне. Но дорогу осилит идущий.
avatar
tashik, СБ?
avatar
YuryDok, да, шарп 3 6 лет подряд, если память не изменяет. Реал, не тесты никакие.
avatar
tashik, прошу не судить строго, я не люблю формулы )) 
и уверен что где то сильно ошибся. 
но никак не могу понять где именно 

посмотрите этот скрин пожалуйста: 




SereneBay1 — название 
SPX500 M5 — инструмент
0-12 — месяцы 
колонка начала месяца
колонка конца месяца
колонка профита за месяц
последняя колонка — ПРОЦЕНТ ЗА МЕСЯЦ

ВВЕРХУ ТРИ СТРОЧКИ вычисление по формуле ШАРПА.

что тут не правильно? 


Тихая Гавань, стандартное отклонение доходности в процентах берем, прибыль тоже в процентах. Макс просадку нужно, иначе SD не посчитать. А вдруг там смыло стратегию в середине месяца или она на полдепо в минус торчит. Нужно по подневным результатам померить SD или, если держите долго — понедельным. И обязательно с макс просадкой в моменте даже по незакрытой сделке. Оно Вам дальше пригодится и для расчета оптимального размера позы.
avatar
tashik, оптимальный размер позы уже просчитан.
все выведено на график для наглядности:
i.gyazo.com/21c927d523a5cfa252c42e852f179e23.png


я вижу воочию где и как были сформированы просадки. 
просто мне интересно было посчитать шарпа.. 
по вышеприведенным формулам в функции — шарп получился 7,58

поискал в инете, да и вы говорите о Шарпе 3, а тут 7 с половиной, вот и задумался — где я мог ошибиться
Тихая Гавань, берете подневную доходность, даже если поза переносилась через ночь — берете результат дня на закрытие дня. Получаете временной ряд.
У этого ряда вычисляете среднее арифметическое. Вычитаете из каждого дневного результата, возводите полученное в квадрат, суммируете все за период — например год, делите на количество торговых дней в году минус 1 день — получаете дисперсию. Извлекаете квадратный корень — получаете стандартное отклонение.
Дальше с доходностью просто — ln (депо на начало года /  депо на конец года) — вот доходность. Делим ее на стандартное отклонение. Получаем шарп по году.

Шарп 7 возможно, получился потому, что пересиживаемая просадка не учитывалась
avatar
tashik, я все так и делал, только по месяцам. 
просадки не пересиживаются в принципе, так как ни стоп ни тейк не переносятся, они как выставляются сразу после входа в рынок, так никогда не изменяются. 
стоп всегда в разы меньше профита.
Тихая Гавань, ок, дайте роботу денег на 1 лот и посмотрите, что в реале получится. Потом пересчитаете еще раз
avatar
tashik, я вас правильно понял, что на предоставленном скрине с предоставленными данными, вычисления сделаны адекватно? 

я осознаю, что это результаты тестирования а не реальной торговли, однако тот факт что
1 — все работает исключительно на ЗАКРЫТИИ БАРА — тоесть ничего на этом баре уже не пересчитывается
2 — стопы и тейки никогда не двигаются
3 — объем торговли тут минимальный, в данном примере максимальный размер сделки — 3 контракта
4 — учитывается биржевое ГО, в начале тестирования выставляется объем с учетом биржевого ГО, а потом стоит ограничение на максимальное количество.  
эти факты дают надежду на примерно похожую торговлю в реале.

однако я понимаю что прошлые прибыли как на тесте так и в реале — не дают гарантии того что такое будет и в будущем. 

резкий скачек эквити в моем примере — это лишь реакция робота на повысившуюся волатильность. без нее результат был бы примерно в 2 раза хуже, тоесть не 800 а 400%

 

Тихая Гавань, можно просто стату сделок скинуть в csv подневно, без входов-выходов, просто дата, депо на открытии дня, депо на закрытии дня, и я посчитаю шарп. На так поставленный Вами вопрос ответить затрудняюсь. Одно могу сказать — если у стратегии больше 70 процентов убыточных сделок, то такие значения шарпа сомнительны, судя по моему небольшому опыту. Могу ошибаться.
avatar
tashik, киньте мне в личку свою почту, завтра с утра напишу функцию вывода сделок в файл и скину вам. 

премного благодарен!
tashik, да, у меня все в процентах считается
tashik, 

сама функция вот: 

void sharp()
{
int i;
double sredn, summ;
// Средняя доходность на сделку
for (i = 0; i< 12; i++)
{
double pr = mnt[i].BalanceB — mnt[i].BalanceA;
double ProfitPerc = pr*100/Bal;
summ += ProfitPerc;
}
sredn = summ/12;
/////////////////
// стандартное отклонение
for (i = 0; i< 12; i++)
{
double pr = mnt[i].BalanceB — mnt[i].BalanceA;
double ProfitPerc = pr*100/Bal;
summ += (ProfitPerc-sredn)*(ProfitPerc-sredn);
}
double standOtk = MathSqrt(summ/12);
Print(" Шарп (", DoubleToStr(Global.Balance*100/Bal-100, 2), " / ", DoubleToStr(standOtk, 2), ") = ", DoubleToStr((Global.Balance*100/Bal-100)/standOtk, 2));
Print(" прибыль стратегии ", DoubleToStr(Global.Balance*100/Bal-100, 2));
Print(" стандартное отклонение ", DoubleToStr(standOtk, 2));
}

tashik, я к тому что средний Шарп у фондов 0,6 и им кто-то дает большие деньги в управление.
avatar
Lagamail, потому что сложно найти что-то другое.
avatar
tashik, а SPY + TLT  60/40 
avatar
Lagamail, +5%(наголову проигрывая бенчмарку) с шарпом 0.6( хуже чем у бенчмарка) — считают хорошим показателем и мало фондов такое делают) Но сидят довольные как слоны — нахваливают себя )
avatar
YuryDok, просто это какая-то иррациональность, фонды  облигаций +5% дают, но там риски на порядок ниже.
avatar

Читайте на SMART-LAB:
Фото
USD/CAD: военная разрядка подкосила нефть, но поддерживает канадца
Канадский доллар продолжил заметно укрепляться за прошедший период и достиг локальных максимумов, полностью нивелировав слабость в течение марта....
Фото
Алготрейдинг. База. Лекция 6. Наивный подход в оптимизации алгоритмов
Друзья, всех приветствую! Красивый график доходности в тестере легко может оказаться ловушкой для начинающего алготрейдера. В этом уроке мы...
В Accent разработали сервис для оценки влияния недвижимости на портфель инвестора
Группа Accent запустила интерактивный инструмент для анализа инвестиционного портфеля. Сервис, доступный на сайте компании, позволяет оценить,...
Фото
Какой убыток мог быть у Магнита в 2025 году?
На этой неделе, вероятно, под занавес сезона годовых отчетов, свои результаты должен опубликовать Магнит. Что ждать и насколько все плохо?

теги блога Тихая Гавань

....все тэги



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