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

Главное
Шарп использует разброс относительно среднего, а выбранный расчёт Сортино — недостижения отдельной целевой доходности.
Для стандартного отклонения Шарпа используется N−1, для выбранной меры отклонений ниже цели — все N наблюдений.
Период Rf и MAR должен совпадать с периодом доходностей. Автоматического пересчёта коэффициентов в годовые нет.
Нулевой знаменатель означает неопределённый коэффициент, а не бесконечное качество или невозможность убытков.
Подготовьте сопоставимые доходности периодов
Допустим, у двух рядов средняя доходность равна 1% за период, а коэффициент Шарпа — примерно 0,354. Одинаковы ли отклонения ниже цели? Не обязательно: в одном ряду могут быть два небольших недостижения, а в другом — одно более крупное. Расчёт ниже показывает, какие именно строки создают разницу; он не выбирает стратегию за читателя.
Подготовьте простые арифметические доходности равных периодов: дневные с дневными, месячные с месячными. Вводите 1 для 1% и −1 для −1%. Цена 1,10, баланс счёта 10 000, пополнение и логарифмическая доходность — другие типы данных. Если денежные потоки влияют на стоимость счёта, сначала получите ряд доходностей по единой методике. Калькулятор не восстановит отсутствующие оценки и не вычтет пополнения из баланса.
- Сохраните исходный порядок наблюдений, повторяющиеся значения и нулевые доходности. Не удаляйте неудачные периоды.
- Используйте единую основу оценки и учёта расходов. Запишите, включены ли комиссии, финансирование и другие существенные затраты.
- Вводите одну доходность в строке, без заголовка, даты, знака процента и разделителей тысяч. Допустимы десятичная точка и запятая.
- Отдельно зафиксируйте частоту наблюдений и даты выборки. Название периода не преобразует данные или ставки сравнения.
Лаборатория принимает 2–240 наблюдений в указанных числовых пределах. Готовые ряды из четырёх периодов — вымышленные арифметические примеры, а не рыночная история или доказательство эффективности стратегии. Откройте калькулятор или скачайте совместимый файл входных данных, прежде чем готовить свой ряд. Доходности, Rf и MAR принимаются от −100% до +1000% включительно, максимум с шестью знаками после запятой. Это пределы арифметического ввода, а не правдоподобная или гарантированная доходность. Допуск −100% не моделирует восстановление потерянного капитала или последовательное изменение стоимости счёта.
Рассчитайте Шарпа и Сортино с видимыми знаменателями
Шарп и Сортино: проверка каждой доходности
Вставьте простые доходности за равные периоды, задайте два отдельных ориентира и проследите вклад каждого наблюдения. Все готовые примеры — вымышленные учебные данные.
Для Шарпа используется выборочное стандартное отклонение с делителем N − 1. Для Сортино сумма квадратов отклонений ниже MAR делится на полное N. Коэффициенты не пересчитываются в годовые.
Фиксированный пример 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%
При положительном знаменателе отрицательный числитель даёт отрицательный коэффициент. Он не заменяется нулём.
| Наблюдение | Доходность (%) | Доходность − Rf (п. п.) | Доходность − средняя (п. п.) | Квадрат отклонения (п. п.²) |
|---|---|---|---|---|
| 1 | -1 | -1 | -2 | 4 |
| 2 | -1 | -1 | -2 | 4 |
| 3 | 1 | 1 | 0 | 0 |
| 4 | 5 | 5 | 4 | 16 |
Сумма квадратов отклонений: 24 п. п.². Делим на N − 1 = 3: выборочная дисперсия = 8 п. п.². Квадратный корень: 2,82842712475%.
| Наблюдение | Доходность (%) | min(0, доходность − MAR) (п. п.) | Квадрат отклонения ниже MAR (п. п.²) | Вклад в отклонение ниже цели |
|---|---|---|---|---|
| 1 | -1 | -1 | 1 | Ниже MAR · учтено |
| 2 | -1 | -1 | 1 | Ниже MAR · учтено |
| 3 | 1 | 0 | 0 | Не ниже MAR · нулевой вклад |
| 4 | 5 | 0 | 0 | Не ниже 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. Знаменатель равен нулю, и Сортино не определён. Другая цель, более длинная выборка или будущие наблюдения могут выявить недостижения, которых в этом окне нет.
Можно пересчитать эти числа в годовые или использовать как текущий рейтинг?
Компонент этого не делает. Он использует введённые строки, не получает рыночный поток и ничего автоматически не масштабирует. Сравнение разных периодов требует собственных обоснованных допущений; исторический коэффициент не устанавливает будущую доходность или подходящий размер позиции.
Источники и материалы
- Microsoft Support — STDEV.S functionПроверено