Как, математически, устроен скоринг?

  • 990 Views
  • Последнее сообщение 02 июля 2017
Иван Иванов posted this 17 мая 2017

Хотелось бы знать, какие формулы и процедуры приминаются в скоринге? В свое время, я Николая спрашивал, как определяете корреляцию? Тогда он мне ответил, что кажется, используя коэффицициент корреляции Пирсона. Хотелось бы посмотреть на текущую математику и сравтиль ее с ЮТ и  "arb-maker", например. У них все открыто.

nikolai posted this 19 мая 2017

Математика скоринга включает несколько компонентов:

1. Стандартные статистические характеристики как самих временных рядов, так и их взаимосвязи (коэффициент корреляции, стандартное отклонение, значение и вероятность коинтеграции, асимметрия распределения и т.д.). Конкретные формулы  по большинству из них можно посмотреть в справке MS Excel, коинтеграция считается по методу ADF. В последнее время мы подключаем для таких расчетов систему статистического анализа R. 

2. Статистические индикаторы РоботКрафт (например, волатильная длина ...). Они характеризуют временной ряд с точки зрения встроенных в наш продукт типовых стратегий и тактик. 

Причем, так как цель скоринга - ранжировать инструменты по их инвестиционной привлекательности, то первые и вторые приводятся к виду, позволяющему корректно проводить их сравнения (если значения этих показателей, например, зависят от масштаба цен ...)

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

3. Систему взвешивания этих показателей и формирование обобщенного рейтинга инструмента (отдельной бумаги,  арбитражной пары, корзины инструментов). Веса показателей определялись эмпирически по степени их корреляции с доходностью и рисками типовых стратегий. Информацию по ним можно  почитать здесь.

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

 

Иван Иванов posted this 21 мая 2017

Тогда начнем с начала. Мне кажется, что Вы первоначально не  преобразуете потоки цены из динамического ряда чисел в статистический. Из-за этого погрешность  корреляции составляет от 30 до 70 процентов! Или проводите?   

nikolai posted this 22 мая 2017

Иван, не совсем понятен  ваш вопрос. Преобразование к статистическому ряду без указания вида распределения этого ряда делает вопрос неопределенным.

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

Это преобразование мы строим через  портфельное инвестирование, причем на 2 уровнях, которые отличаются применяемыми методами.

На 1 уровне мы формируем пары инструментов, решаем коинтеграционное уравнение (тесты Дики- Фуллера или тест Йохансена)  и получаем новый ряд (базис) с требуемым нам распределением.

На 2 уровне через диверсификацию и с анализом  стратегического соответствия мы формируем портфель, в котором ряд доходности имеет заданный нами вид распределения.

 

  

coder-ex posted this 30 июня 2017

Интересует в каких величинах представлены параметры в модуле Сервис "Арбитраж":

Расширенные параметры скоринга -> Стратегии скоринга:
1. фильтр по первому входу
2. фильтр пар

Расширенные параметры скоринга -> Дополнительные фильтры скоринга:
1. фильтр по коинтеграции инструмент. пары
2. фильтр по ATR базиса

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

Александр posted this 30 июня 2017

Здравствуйте.

Интересует в каких величинах представлены параметры в модуле Сервис "Арбитраж":

(Запустив окно скоринга обнаружил, что часть поясняющих надписей "съехала". Обязательно исправим).

Тем не менее, размерности такие:

Расширенные параметры скоринга -> Стратегии скоринга:
1. Фильтр по первому входу - задает положение базиса в торговом полудиапазоне. Измеряется в % по формуле "|базис - средняя линия| / полудипазон" (полудиапазон = (верхняя граница торгового диапазона - нижняя граница торгового диапазона) / 2, вертикальные палочки - модуль числа). Т.е. средняя линия соответствует 0%, границы торгового диапазона - 100%.

2. Фильтр пар - используется коэффициент парной корреляции (Пирсона). Величина безразмерная. Задается из диапазона от -1 до +1.

Расширенные параметры скоринга -> Дополнительные фильтры скоринга:
1. Фильтр по коинтеграции инструмент. пары - (в текущей версии недоступен для изменения, будет доступен в следующей) вероятность наличия коинтеграции инструментов в паре. Измеряется в %.
2. Фильтр по ATR базиса - задается в % относительно своего диапазона изменения. Т.е. на временном интервале проведения скоринга строится график ATR, определяется его минимум и максимум, а затем в этом диапазоне определяется положение ATR (начального или конечного, зависит от настройки "Расширенные настройки скоринга" -> "Общие настройки скоринга"->"Расчет некоторых оценок скоринга").

coder-ex posted this 01 июля 2017

ATR у вас это Average True Range ? Тогда почему вы мне в соседней ветке пишите свои сомнения по обозначению МА против скользящей средней? ))

Насчет разъяснений спс, надеюсь больше вариантов объяснений не будет ))

Иван Иванов posted this 01 июля 2017

Вот, нашел статью (https://utmagazine.ru/posts/3768-korrelyaciya-akciy.html), которая побудила начать эту тему. Копирую. Так Вы преобразуете динамический ряд в статистический? 

 

 

Корреляция акций

Данная статья полезна для алгоритмических трейдеров и тех кому интересны количественные методы оценки и торговли финансовыми инструментами, но читать советую всем, это как минимум не помешает!

 

Краткие теоретические сведения о корреляции Пирсона

 

Корреляция - это мера зависимости двух или более величин. Видов зависимостей неких числовых и временных рядов много, но среди трейдеров термин “корреляция” чаще всего означает линейный коэффициент корреляции Пирсона. Его мы и рассмотрю в данной статье. Линейный коэффициент корреляции или парный коэффициент корреляции показывает нам силу линейной зависимости двух временных рядов, коими и являются графики финансовых инструментов. Другими словами корреляция показывает нам тенденцию изменения одного актива при изменении другого. Формула вычисления коэффициента корреляции Пирсона: Значения, которые принимает коэффициент корреляции, находятся в интервале от -1 до 1. Если коэффициент равен единице, то ряды x и y полностью совпадают, если равен минус единице - двигаются зеркально.

Коэффициент корреляции только для стационарных временных рядов!

 

Я часто вижу людей, которые говорят о некой высокой корреляции (свыше 95%) двух финансовых активов, в то время как их корреляция составляет не более 60%. В чём их проблема? А дело в том, что некорректно вычислять коэффициент корреляции для нестационарных временных рядов. У кого возникли вопросы о том что такое стационарный временной ряд, вот вам две иллюстрации: В стационарном ВР статистические характеристики (дисперсия и математическое ожидание) являются константами (постоянными), а в нестационарном ВР - переменными. Почему коэффициент корреляции корректен только при работе со стационарными ВР? Для ответа на данный вопрос обратимся к самой формуле расчёта коэффициента. В числителе формулы вычисляется сумма произведений абсолютных отклонений от мат. ожидания величин x и y, а в знаменателе вычисляется произведение сумм абсолютных отклонений в квадрате. Из школьного курса математики мы знаем, что чем больше числитель дроби тем больше её значение, но чем больше знаменатель тем меньше значение дроби. Дак вот, знаменатель нашей формулы абсолютно не чувствителен к виду временного ряда, т.к. абсолютные отклонения возведены в квадрат, что гарантирует их положительность, в то время как числитель очень чувствителен к виду временного ряда, т.к. абсолютные отклонения не возведены в квадрат, поэтому при несовпадении знаков множителей в произведении (Xi-Mx)*(Yi-My) получиться отрицательное число, что приведёт к уменьшению общей суммы в числителе, а соответственно и к снижению самого коэффициента корреляции. Но если знаки множителей совпадают, корреляция таких активов будет стремиться к 100%, а такие ситуации возникают именно во временных рядах с трендовой компонентой! Возможно на словах это всё трудно понять, поэтому перейдём к примерам. Смоделируем два случайных процесса в середине которых вставим резкий скачок (гэп).

 

 

Горизонтальными линиями обозначим мат. ожидания (Mx, My) данных временных рядов. На графике видно что знаки абсолютных отклонений всегда будут совпадать, т.к. оба временных ряда всегда находятся по одну сторону от своих средних значений в одинаковый момент времени. Для наглядности построим множество значений (Xi-Mx)*(Yi-My):

 

 

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

 

 

Как я и говорил, значение корреляции равно 95.5%!! Но если мы ещё раз посмотрим на графики двух рядов, то увидим что кроме гэпа у них мало чего общего. Корректный коэффициент корреляции у этих рядов равен 53.4%!

 

 

Подводим итоги: нельзя рассчитывать коэффициент корреляции для нестационарных временных рядов!

 

 

Как правильно рассчитывать корреляцию?

 

 

Раз числитель формулы коэффициента корреляции чувствителен к трендам, тогда нам нужно избавиться от тренда! Это можно сделать найдя приращение цен активов, корреляцию которых нам нужно найти. Приращение находиться по такой формуле:

 

 

Другими словами нужно найти ежедневное изменение актива от закрытия свечи до закрытия следующей свечи. Получим стационарный ряд и затем найдём корреляцию изменений наших активов. Именно по этом коэффициенту корреляции можно точно сказать зависит ли динамика изменения одного актива от изменения другого! Для примера рассчитаем корреляцию ETF’a на индекс S&P 500 и компании Halliburton Company под тикером HAL. Построим динамику изменения цен их акций в процентной шкале за 2013 год:

 

 

Как видим оба инструмента имеют ап тренд. Корреляция их “голых” графиков составит:

 

 

Корреляция равна 92%. Теперь давайте найдём приращение цен и посчитаем их корреляцию:

 

 

 

Корреляция составила 61%. Разница достаточно существенна. По данным коэффициента за 2013 год корреляция SPY с HAL умеренная. Кому что не понятно - пишем комментарии, будем разбираться.

 

 

 

 

coder-ex posted this 02 июля 2017

спс за статью, а то когда писал класс корреляции, то именно из-за нестационарности бросил все на полпути, теперь время будет обязательно допилю этот класс ))

nikolai posted this 02 июля 2017

О статье. Можно выделить корреляцию и Корреляцию.  Первая, с маленькой буквы – это случайное сложившаяся взаимосвязь ценных бумаг, а вторая, с большой буквы, – взаимосвязь на основании их стратегического соответствия.  При равенстве коэффициентов корреляции для торговли предпочтительнее второй вид. Более того, даже при меньших значениях корреляции взаимосвязь на основе стратегического соответствия предпочтительнее.  Если сравнивать теперь 2 подхода к оценке корреляции (чисто статистический как показано в статье и стратегический), то целесообразно выбирать второй.  Именно поэтому мы и не стремились преобразовывать динамический ряд в стационарный.  Вместо этого мы всегда рекомендуем нашим пользователям после механического отбора по коэффициенту корреляции исследовать стратегическое соответствие бумаг.  

Предложенный автором статьи подход (переход от сравнения цен к сравнению разностей) мы года два назад исследовали. Нас тоже подкупила стационарность  и устойчивый возврат к среднему. Однако теория разбилась о практику торговли и стали искать альтернативы. Одна – стратегическое соответствие. Другая – коинтеграция.

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

 

Например, выделенное на рисунке трио имеет высокую вероятность коинтеграции, а потому и высокий коэффициент корреляции, а не наоборот. Причем эта взаимосвязь не случайна. Факторы  стратегического соответствия: отраслевые, нефтяные, государственные. Позиция хеджирована от этих рисков, так как бумаги с преобладанием государственного капитала находятся в противоположных позициях, хеджируются отраслевые риски и зависимость направления движения  российского рынка от  движения цены на нефть. Наличие же в портфеле двух не хеджированных отраслей (нефть и банки) повышает волатильность ряда, но не является определяющим, так как более сильный фактор – это зависимость цен бумаг от нефти.

 

Написанное выше конечно же не исключает преимущества в переходе к динамического ряда к стационарному.  Мы подошли к этому через  коинтеграцию,  автор статьи   через разности.  Вероятно «два в одном»  лучше, но это надо исследовать. 

coder-ex posted this 02 июля 2017

коинтеграция описана тут https://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%B8%D0%BD%D1%82%D0%B5%D0%B3%D1%80%D0%B0%D1%86%D0%B8%D1%8F, т.е. это как раз только нестационарные временные ряды
корреляция описана тут https://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D1%80%D1%80%D0%B5%D0%BB%D1%8F%D1%86%D0%B8%D1%8F

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

я это к тому, что в модуле перемудрили сами себя, к тому же уже сейчас вижу, что при разработке робота ставилась задача создать арбитражные стратегии максимально безопасные, но временные ряды на рынке торгуют еще и с малыми деньгами, и торгуют их на М1-М5 данных, технология там простая, расчет пары, далее ожидается сигнал по расчитанным ранее параметрам, как только сигнал появляется происходит вход в позиции и начинается отслеживание входов, после выхода все вренные ряды пересчитываются и получаются новые значения для входа

на этой технологии обязательно подключают нейронную сеть, которая анализирует кроме самих входов по сигналам еще и состояние рынка и тут кто на что горазд ))

nikolai posted this 02 июля 2017

Это если смотреть с точки зрения математики, а если с точки зрения стратегического менеджмента, то разница большая. .  Поэтому может быть со статистическими терминами в моем посте  не совсем точно, а иногда и совсем не точно, но по сути (о причинах корреляции) правильно.  Задача разработать максимально безопасного робота в принципе не ставилась. Эволюция задавалась практикой торговли.    Пока имеем такой вариант.  Чтобы о чем-то сказать просто,но правильно,  надо сначала пройти путь от поверхностного понимания к пониманию сложности и только потом скажешь просто и одновременно правильно.  Наш робот не исключение. С моей точки зрения он начинает созревать, чтобы перейти сложного к простому, но правильному (реальному и приемлемому соотношению доходности и риска).  Хотя доходность бизнеса от продажи робота не требует, а зачастую и противоречит такому подходу. . 

 

  

 

Иван Иванов posted this 02 июля 2017

Николай, чем то Вы в этой ветке обижены, зря. Николай, мы( в частности я)  ценим Вас лично и фирму, за то что,   развиваете программу! А не ограничиваетесь маркетинговой безделицей. Да, Вы правы, где то Вы то же учились, ну и что? Я то же учусь вместе с Вами. Мне это интересно. Есть альтернативы, кому не интересно у Вас, я альтернативы в своих постах постоянно приважу и мне Вы не мешаете в этом.

Теперь насчет корреляции. Вы ее все же приведите к статистическому ряду. Ну честно, это просто так должно быть. 

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

nikolai posted this 02 июля 2017

Иван, спасибо за оценку. В советское время в характеристиках партийных, служебных всегда писали: "делу партии и правительства предан, На критику реагирует правильно, замечание устраняет своевременно". Что касается партии, то это сложный вопрос, а второе требование справедливо и сейчас.  В конкретном случае, по-моему,  мы просто имели ввиду разное. В статье речь идет о преобразовании каждого отдельного ряда по которым считается корреляция к условной как пишет coder-ex стационарности каждого из них, я же имел ввиду стационарность комбинации  этих рядов. "Если нестационарные временные ряды коитегрированы, то разница стационарна". Какой подход использовать для оценки комбинации зависит от целей. Если важно направление, то лучше использовать обсуждаемый в статье метод, если важно его отсутствие, то целесообразнее  исследовать стационарность комбинации.

 По факультативу согласен, Вопрос интересный. Наша модель ценообразования формировалась как осмысление причин неудачных попыток работать как учат  большинство. Теперь по мере накопления знаний и  опыта понятно, что это слишком грубая модель.  Интересно! Надо почитать и подумать.

Close