Поиск по сайту

Что хотите найти?

Введите название брокера, инструмента или темы.

Риск и капитал

Шарп и Сортино: как проверить коэффициенты по своим доходностям

Одинаковые средняя доходность и коэффициент Шарпа могут скрывать разные недостижения цели. Рассчитайте оба показателя по доходностям равных периодов, задайте Rf и MAR отдельно и проверьте каждую строку.

Автор · Редактор

Проверено

Два подноса из светлого камня с тёмно-бирюзовыми брусками разной высоты, светло-голубыми стеклянными порогами и небольшим янтарным кубиком справа.
Рассчитайте Шарпа и Сортино с видимыми знаменателями

Главное

  1. Шарп использует разброс относительно среднего, а выбранный расчёт Сортино — недостижения отдельной целевой доходности.

  2. Для стандартного отклонения Шарпа используется N−1, для выбранной меры отклонений ниже цели — все N наблюдений.

  3. Период Rf и MAR должен совпадать с периодом доходностей. Автоматического пересчёта коэффициентов в годовые нет.

  4. Нулевой знаменатель означает неопределённый коэффициент, а не бесконечное качество или невозможность убытков.

Подготовьте сопоставимые доходности периодов

Допустим, у двух рядов средняя доходность равна 1% за период, а коэффициент Шарпа — примерно 0,354. Одинаковы ли отклонения ниже цели? Не обязательно: в одном ряду могут быть два небольших недостижения, а в другом — одно более крупное. Расчёт ниже показывает, какие именно строки создают разницу; он не выбирает стратегию за читателя.

Подготовьте простые арифметические доходности равных периодов: дневные с дневными, месячные с месячными. Вводите 1 для 1% и −1 для −1%. Цена 1,10, баланс счёта 10 000, пополнение и логарифмическая доходность — другие типы данных. Если денежные потоки влияют на стоимость счёта, сначала получите ряд доходностей по единой методике. Калькулятор не восстановит отсутствующие оценки и не вычтет пополнения из баланса.

  • Сохраните исходный порядок наблюдений, повторяющиеся значения и нулевые доходности. Не удаляйте неудачные периоды.
  • Используйте единую основу оценки и учёта расходов. Запишите, включены ли комиссии, финансирование и другие существенные затраты.
  • Вводите одну доходность в строке, без заголовка, даты, знака процента и разделителей тысяч. Допустимы десятичная точка и запятая.
  • Отдельно зафиксируйте частоту наблюдений и даты выборки. Название периода не преобразует данные или ставки сравнения.

Лаборатория принимает 2–240 наблюдений в указанных числовых пределах. Готовые ряды из четырёх периодов — вымышленные арифметические примеры, а не рыночная история или доказательство эффективности стратегии. Откройте калькулятор или скачайте совместимый файл входных данных, прежде чем готовить свой ряд. Доходности, Rf и MAR принимаются от −100% до +1000% включительно, максимум с шестью знаками после запятой. Это пределы арифметического ввода, а не правдоподобная или гарантированная доходность. Допуск −100% не моделирует восстановление потерянного капитала или последовательное изменение стоимости счёта.

Рассчитайте Шарпа и Сортино с видимыми знаменателями

Попробуйте сами

Шарп и Сортино: проверка каждой доходности

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

Для Шарпа используется выборочное стандартное отклонение с делителем N − 1. Для Сортино сумма квадратов отклонений ниже MAR делится на полное N. Коэффициенты не пересчитываются в годовые.

Загрузить полный пример

Одна доходность на строку. Введите 1 для 1%, −1 для −1%. Допустимы десятичная точка и запятая; разделители тысяч не используйте. Сохраните исходный порядок, повторяющиеся значения и нули.

Rf — опорная ставка для Шарпа; MAR — минимально приемлемая доходность для Сортино. Обе ставки постоянны и относятся к тому же периоду, что и доходности. Введите свои допущения: это не текущие рыночные ставки.

Смена подписи не преобразует доходности, Rf или MAR и не переводит коэффициенты в годовые.

Формат и ограничения ввода

От 2 до 240 наблюдений. Доходности, Rf и MAR: от −100% до +1 000% включительно, не более 6 знаков после десятичного разделителя. До 8 192 символов в списке и 80 в одном значении. Без пустых наблюдений, заголовков, дат, знаков процента, валютных символов, разделителей тысяч и экспоненциальной записи. Допустим один перенос строки в конце. Значение −100% разрешено для арифметики выборки; стоимость счёта с накоплением доходности здесь не рассчитывается.

Фиксированный пример A · доступен без JavaScript

Вымышленные доходности: −1%, −1%, +1%, +5%; Rf = 0%, MAR = 0%, четыре равных периода. Этот контрольный пример не зависит от ваших данных.

Наблюдений: 4; ниже MAR: 2; период: Равные периоды. Rf = 0%; MAR = 0% за период наблюдения.

Средняя арифметическая доходность: 1% за период

Коэффициент Шарпа

0,353553390593

Безразмерный · без пересчёта в годовой

Средняя доходность − Rf
1 п. п.
Выборочное стандартное отклонение
2,82842712475%
Коэффициент Сортино

1,41421356237

Безразмерный · без пересчёта в годовой

Средняя доходность − MAR
1 п. п.
Отклонение ниже MAR по полной выборке
0,707106781187%

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

1. Расчёт средней и выборочного отклонения
НаблюдениеДоходность (%)Доходность − Rf (п. п.)Доходность − средняя (п. п.)Квадрат отклонения (п. п.²)
1-1-1-24
2-1-1-24
31100
455416

Сумма квадратов отклонений: 24 п. п.². Делим на N − 1 = 3: выборочная дисперсия = 8 п. п.². Квадратный корень: 2,82842712475%.

2. Отклонения ниже MAR · все наблюдения сохранены
НаблюдениеДоходность (%)min(0, доходность − MAR) (п. п.)Квадрат отклонения ниже MAR (п. п.²)Вклад в отклонение ниже цели
1-1-11Ниже MAR · учтено
2-1-11Ниже MAR · учтено
3100Не ниже MAR · нулевой вклад
4500Не ниже MAR · нулевой вклад

Сумма квадратов отклонений ниже MAR: 2 п. п.². Делим на полное N = 4, включая нулевые вклады (2): второй нижний частичный момент = 0,5 п. п.². Квадратный корень: 0,707106781187%.

Если таблица шире экрана, переведите фокус на её область и прокручивайте по горизонтали. Номера наблюдений в обеих таблицах совпадают. П. п. — процентные пункты; п. п.² — квадрат процентных пунктов.

На экране числа округлены до 12 значащих цифр. CSV результата содержит численные приближения и точные дроби для сумм и моментов; корни и коэффициенты — численные приближения. Малое ненулевое значение не приравнивается к нулю.

Почему у B другой Сортино

Вымышленный ряд B: −3%, +1%, +3%, +3% при тех же нулевых ориентирах. У обоих рядов средняя доходность 1%, выборочная дисперсия 8 п. п.² и Шарп около 0,353553390593. У B один квадрат отклонения ниже MAR равен 9 п. п.²: 9 ÷ 4 = 2,25 п. п.², отклонение 1,5%, Сортино 0,666666666667. У A: 2 ÷ 4 = 0,5 п. п.² и Сортино 1,41421356237. Четыре наблюдения не определяют будущие результаты.

Форма считает в памяти браузера. Она не отправляет введённые доходности на сервер и не сохраняет их в постоянном хранилище. Отдельная аналитика сайта находится вне этой формы.

Обозначим доходность как r_i, число наблюдений как N, постоянную безрисковую ставку сравнения как Rf, а постоянную минимально приемлемую доходность как MAR. Rf и MAR — независимые поля в тех же процентных единицах и за тот же период, что и r_i. Лаборатория не получает текущую доходность из внешнего источника и не преобразует годовую ставку в месячную.

Величина

Расчёт в этом гайде

Арифметическое среднее

mean = Σr_i / N

Выборочное стандартное отклонение

SD = √[Σ(r_i − mean)² / (N − 1)]

Коэффициент Шарпа

(mean − Rf) / SD

Недостижение цели в строке i

shortfall_i = min(0, r_i − MAR)

Отклонение ниже цели

DD = √[Σshortfall_i² / N]

Коэффициент Сортино

(mean − MAR) / DD

Прокрутите вбок, чтобы сравнить все столбцы ↔

Постоянная Rf меняет среднюю избыточную доходность в числителе Шарпа, но не стандартное отклонение: вычитание одной константы из всех наблюдений сохраняет расстояния до среднего. Для меняющегося ряда ставок нужна другая модель входных данных. Исходная статья Шарпа объясняет подход через разности доходностей и значение периода измерения.

Для Сортино здесь выбран дискретный эмпирический нижний частичный момент по полной выборке. В N остаются все строки; доходность не ниже MAR добавляет ноль в сумму квадратов недостижений. Мы не делим только на число убыточных периодов или N−1 и не используем стандартное отклонение отрицательной подвыборки. Материал CFA Institute объясняет, почему разные цели и определения отклонения ниже цели меняют результат. Выбранная нами методика не является единственной у поставщиков данных.

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

Примените данные, чтобы увидеть полный расчёт и выгрузить его. Изменение любого поля скрывает прежний результат и его динамическую выгрузку до повторного расчёта. Форма держит введённое в памяти, не отправляет его и не записывает в постоянное хранилище; это относится к компоненту, а не к отдельной аналитике сайта.

Пример: одинаковый Шарп, разные недостижения

Возьмём Rf = 0% и MAR = 0% для четырёх вымышленных равных периодов. Ряд A: −1%, −1%, +1%, +5%; ряд B: −3%, +1%, +3%, +3%. Сумма каждого ряда равна 4 процентным пунктам, поэтому оба средних равны 1%. В таблице сохранены все наблюдения, включая строки с нулевым вкладом в отклонение ниже цели.

Период

Доходность A

Доходность B

Недостижение A²

Недостижение B²

1

−1%

−3%

1

9

2

−1%

+1%

1

0

3

+1%

+3%

0

0

4

+5%

+3%

0

0

Прокрутите вбок, чтобы сравнить все столбцы ↔

Последние два столбца измеряются в квадратных процентных пунктах. Отклонения от среднего: [−2, −2, 0, +4] для A и [−4, 0, +2, +2] для B. В обоих случаях сумма квадратов равна 24. Деление на N−1 = 3 даёт выборочную дисперсию 8 квадратных процентных пунктов, или 0,0008 в квадратах доходностей, записанных десятичными дробями. Выборочное стандартное отклонение у обоих рядов равно (√8)% ≈ 2,828427124746%.

Проверка

Ряд A

Ряд B

Наблюдения N

4

4

Средняя доходность

1%

1%

Выборочное SD

2,828427124746%

2,828427124746%

Шарп

0,353553390593

0,353553390593

Строки ниже MAR

2

1

Момент ниже цели

2 / 4 = 0,5

9 / 4 = 2,25

Отклонение ниже цели

0,707106781187%

1,5%

Сортино

1,414213562373

0,666666666667

Прокрутите вбок, чтобы сравнить все столбцы ↔

Знаменатель Сортино для A равен (√0,5)%, для B — (√2,25)%. Деление одинакового числителя 1% на разные знаменатели даёт разные коэффициенты. В B меньше наблюдений ниже цели, но больше квадрат недостижения. Простой подсчёт убытков упустил бы это различие. Мы сверили прошлую выборку, но не установили, какой ряд окажется предпочтительнее в будущем.

Меняйте цель отдельно от безрисковой ставки

Rf отвечает на вопрос «выше какой ставки сравнения измеряется избыточная доходность?», MAR — «ниже какой цели измеряется недостижение?». Они могут совпадать, но расчёт не должен незаметно приравнивать их. Здесь это введённые допущения, а не утверждение о доступности конкретной гарантированной доходности.

Оставим ряд A и зададим Rf = 0,25%, MAR = 1,5% за период. Среднее и выборочное SD не изменятся. Теперь наблюдение +1% не достигает MAR на 0,5 процентного пункта, хотя доходность периода положительна. Недостижение цели не обязательно означает отрицательную доходность.

Расчёт

Результат для A

mean − Rf

1 − 0,25 = 0,75 процентного пункта

Шарп

0,75 / √8 ≈ 0,265165042945

Недостижения

−2,5; −2,5; −0,5; 0 процентных пунктов

Сумма квадратов недостижений

6,25 + 6,25 + 0,25 + 0 = 12,75

Отклонение ниже цели

(√(12,75 / 4))% ≈ 1,785357107136%

mean − MAR

1 − 1,5 = −0,5 процентного пункта

Сортино

−0,5 / √3,1875 ≈ −0,280056016806

Прокрутите вбок, чтобы сравнить все столбцы ↔

Отрицательный Сортино здесь корректен: среднее ниже MAR, а знаменатель положителен. Изменение только Rf меняет числитель Шарпа. Изменение MAR меняет и числитель Сортино, и состав строк, влияющих на знаменатель. Сравнивайте результаты после фиксации обоих допущений.

Не превращайте неопределённый результат в оценку

Выборка и допущения

Шарп

Сортино

[1, 1, 1, 1]%, Rf = 0%, MAR = 0%

Не определён: выборочное SD = 0

Не определён: недостижений нет

[1, 2, 3, 4]%, Rf = 0%, MAR = 0%

Определён: выборочное SD положительно

Не определён: недостижений нет

[1, 1, 1, 1]%, Rf = 0%, MAR = 2%

Не определён: выборочное SD = 0

−1: mean − MAR = −1%, DD = 1%

Прокрутите вбок, чтобы сравнить все столбцы ↔

Неопределённый результат не становится нулём или бесконечностью. При отсутствии наблюдений ниже цели знаменатель равен нулю; это не доказывает невозможность будущих недостижений. Постоянный ряд может лежать ниже положительной цели: тогда знаменатель Сортино положителен, хотя знаменатель Шарпа равен нулю.

Нулевой числитель — другая ситуация. При положительном знаменателе mean = Rf даёт нулевой Шарп, а mean = MAR — нулевой Сортино. Отрицательные числители тоже допустимы. Не удаляйте такие результаты и не заменяйте их автоматическим вердиктом «прошёл/не прошёл».

Очень малый ненулевой знаменатель может дать большой коэффициент из небольших различий. Перед интерпретацией проверьте неокруглённые ставки и длину выборки. Два наблюдения допускают расчёт, но мало говорят о распределении. Инструмент описывает конечную выборку, а не строит доверительные интервалы, оценку хвостовых потерь или прогноз.

Повторите расчёт в электронной таблице

Вставьте четыре значения A в A2:A5: −1, −1, 1, 5. Это числа в процентных пунктах, а не десятичные дроби с процентным форматированием ячеек. В H2 запишите Rf, в H3 — MAR в тех же единицах. Для сверки с эталоном используйте нули, затем осознанно меняйте параметры.

  • H5: =AVERAGE(A2:A5). H6: =STDEV.S(A2:A5). Ожидаемые результаты: среднее 1, выборочное SD √8.
  • B2: =A2-$H$5. C2: =B2^2. Скопируйте обе формулы до строки 5, чтобы видеть отклонения от среднего и их квадраты.
  • D2: =MIN(0,A2-$H$3). E2: =D2^2. Скопируйте до строки 5; оставьте нулевые строки в диапазоне.
  • Проверьте =SUM(C2:C5)/(COUNT(A2:A5)-1): для A и B результат должен быть 8.
  • H9: =SQRT(SUM(E2:E5)/COUNT(A2:A5)). Ожидаемое отклонение ниже цели для A — √0,5.
  • Шарп: =IF(H6=0,NA(),(H5-H2)/H6). Сортино: =IF(H9=0,NA(),(H5-H3)/H9). NA() помечает недоступный коэффициент вместо числовой оценки.
  • Замените A2:A5 значениями −3, 1, 3, 3 для B. Среднее и выборочное SD сохранятся, а отклонение ниже цели станет 1,5.

Показаны английские имена функций; ваша программа может использовать локализованные имена и другие разделители аргументов. Документация Microsoft по STDEV.S подтверждает выборочный знаменатель N−1. Убедитесь, что все нужные ячейки числовые: таблица может проигнорировать текст или пустые ячейки, тогда как лаборатория отклоняет такую выборку целиком.

Не делите сумму квадратов недостижений на COUNTIF(...,"<0"). Эта функция считает отрицательные доходности, а не все наблюдения, и не учитывает положительную доходность ниже положительной MAR. Не заменяйте STDEV.S на STDEV.P: здесь явно выбрано выборочное стандартное отклонение.

Скачайте эталонный расчёт, чтобы сверить построчную таблицу и допущения. Статические файлы и этот пример доступны без JavaScript. Входной файл содержит одну доходность в строке; эталон — поясняющая выгрузка, а не второй формат ввода.

Сохраните доказательства и сравнивайте сопоставимое

Перед сравнением выровняйте частоту доходностей, даты выборки, основу оценки и расходов, Rf, MAR и определения знаменателей. Дневной и месячный коэффициенты не становятся сопоставимыми только потому, что безразмерны. Если поставщик использует другое определение отклонения ниже цели, воспроизведите его отдельно, не переименовывая результат этой лаборатории.

Калькулятор ничего не пересчитывает в годовые показатели. Умножение на квадратный корень из числа периодов требует допущений о доходностях и ставке сравнения; зависимость между доходностями разных периодов может нарушить простое правило масштабирования. Шарп обсуждает ограничения, связанные со временем. Короткое благоприятное окно также не описывает весь будущий риск недостижений; это ограничение отмечено и в материале CFA.

  • Сохраните точный ряд, частоту наблюдений, даты и основу учёта расходов.
  • Запишите Rf, MAR, N, число недостижений и оба определения знаменателей.
  • Сохраните неокруглённый расчёт или точность выгрузки вместе с округлёнными значениями для показа.
  • До сравнения отметьте отсутствующие данные и несовместимые методики: калькулятор не исправит их.

Используйте протокол проверки как повторно применяемую запись. Он отделяет выводы из предоставленных строк от того, что остаётся неизвестным. Протокол не удостоверяет эффективность, не выбирает инвестицию и не задаёт универсальный «хороший» уровень Шарпа или Сортино.

Оба коэффициента здесь не зависят от порядка одних и тех же наблюдений. Они не показывают глубину и длительность снижения капитала. Гайд по коэффициенту Кальмара рассматривает сравнение через просадку, а гайд по кривой капитала показывает значение траектории и последовательности. Это другие вопросы; ни один показатель не заменяет проверку исходных доходностей.

Частые вопросы

Сортино всегда лучше Шарпа?

Одна сводная величина не отвечает на все вопросы о риске. Здесь Шарп описывает разброс вокруг среднего относительно Rf, а Сортино — квадраты недостижений MAR. Пример A/B показывает, почему результаты различаются, но не доказывает, что одно число всегда должно определять выбор.

Можно ввести прибыль сделок вместо доходностей периодов?

Не напрямую. Денежная прибыль, R-множители, пипсы и доходности сделок разной длительности сами по себе не образуют ряд процентных доходностей равных периодов. Сначала определите капитал, денежные потоки, оценку и период. Лаборатория не выдумывает отсутствующие сведения.

Почему для отклонения ниже цели берутся все N строк?

Это заявленная в гайде эмпирическая методика нижнего частичного момента. Строки выше цели добавляют ноль, но остаются в знаменателе. Деление только на число недостижений измеряет другую величину и может заметно изменить Сортино; такие результаты нельзя сравнивать без обозначения методики.

Отрицательный коэффициент означает ошибку?

Нет. При положительном знаменателе среднее ниже Rf даёт отрицательный Шарп, а среднее ниже MAR — отрицательный Сортино. До интерпретации проверьте допущения и данные. Лаборатория не превращает знак коэффициента в торговую рекомендацию.

Нулевое наблюдаемое отклонение ниже цели означает безопасность стратегии?

Нет. Это означает, что ни одна из введённых доходностей не была ниже выбранной MAR. Знаменатель равен нулю, и Сортино не определён. Другая цель, более длинная выборка или будущие наблюдения могут выявить недостижения, которых в этом окне нет.

Можно пересчитать эти числа в годовые или использовать как текущий рейтинг?

Компонент этого не делает. Он использует введённые строки, не получает рыночный поток и ничего автоматически не масштабирует. Сравнение разных периодов требует собственных обоснованных допущений; исторический коэффициент не устанавливает будущую доходность или подходящий размер позиции.

Источники и материалы

  1. William F. Sharpe — The Sharpe Ratio (1994)Проверено
  2. Microsoft Support — STDEV.S functionПроверено
Риск и капитал
Коэффициент КальмараСравните доходность с максимальной просадкой и разберитесь в другом знаменателе.Кривая капиталаПосмотрите, почему порядок и траектория результатов важны помимо одного коэффициента.
Все гиды