Бизнес-цели влияют на выбор, сделанный при группировании акций.

Спасибо Эйвери Эванс @averye457 за то, что выложили эту фотографию в свободный доступ на Unsplash.

Слишком легко увязнуть в технических деталях алгоритма машинного обучения и упустить из виду свои бизнес-цели. Алгоритмы кластеризации имеют свои координаты точек в n-мерном пространстве, свои гиперпараметры, свою меру подобия двух точек, которые мы рассматриваем кластеризовать, и свои меры степени успеха в нахождении кластеров. Но они лишь часть большой картины. Начиная с бизнес-целей, в этой статье описывается влияние углубления в бизнес-ценность на выбор того, как группировать акции. Эти цели актуальны независимо от того, фокусируемся ли мы на помощи ML для построения портфеля, на торговых системах или просто на отдельном инвесторе.

Вопросы ценности бизнеса, за которыми следует их влияние на кластеризацию акций, заключаются в следующем.

Уточните и сосредоточьтесь на том, что представляет собой ценность для бизнеса. Кластеризация акций помогает диверсифицировать за счет снижения риска, то есть статистической дисперсии доходности портфеля, то есть прибыли от акций (цена продажи — цена покупки). Это связано с тем, что если стоимость портфеля оценивается в долларах PV и содержит акции из нескольких кластеров, то дисперсия доходности ниже и менее рискованна, чем если бы доллары PV были полностью инвестированы в один кластер. Это следует из математики, описывающей дисперсию суммы двух или более случайных величин. [1]

Математика указывает на то, что есть два источника уменьшения дисперсии. Один контролируется количеством акций, которые покупаются на каждую акцию в портфеле. Другой контролируется степенью, в которой случайные величины «указывают в противоположных направлениях». Значение фразы «точки в противоположных направлениях» станет яснее, когда мы обсудим n-мерное представление акций и портфелей.

Что такое случайная величина, о дисперсии которой мы говорим? Это история доходности, HR(time=t) — разница в долларовой стоимости от одного дня к следующему для некоторого портфеля. [2] С помощью HR мы можем рассчитать стоимость портфеля в начале дня t. PV(t) – это сумма HR (t) за все дни меньше t.

Если мы не покупаем весь портфель в начале каждого дня, а затем продаем весь портфель в конце каждого дня, мы должны определить HR(t) как цену открытия в день t. +1 минус цена открытия в день t, а не цена закрытия в день t минус цена открытия в день t. Это связано с тем, что PV(t) является в точности суммой случайных величин HR(t), и это было бы не так, если бы цена закрытия в день t отличается от цены открытия в день t+1.

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

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

Второй сценарий, более реалистичный и распространенный, который мы рассматриваем, — это усреднение стоимости в долларах. Каждый рабочий день, единица времени, которую использует этот проект, инвестирует 20 долларов. Представьте, что вы инвестируете 100 долларов в неделю или 5200 долларов в год в свой 401K.

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

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

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

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

Не предпринимается никаких попыток предсказать, что конкретный кластер повысится, если кластер A повысится.

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

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

Еще один реальный показатель, который кажется полезным и дополняет рискованные доллары, — это процент прибыли, подверженной риску, который в этом проекте определяется как 100*stdDev(HR)/E(HR). Такие метрики — это то, что понимают и интересуют люди вне проекта.

Какова альтернативная стоимость текущей ситуации? Этот проект считает бизнес-целью количественную оценку альтернативных издержек в текущей ситуации. Наиболее распространенная ситуация сейчас — это также выбор кластеризации. Есть 3 кластера: Крупногабаритный; средняя крышка; Маленькая кепка. Эти кластеры акций, в свою очередь, разделены по стоимости, росту или сбалансированы, всего 9 кластеров. Из-за нехватки ресурсов программиста дальнейшее разделение не выполняется. Возможно, это можно будет сделать в будущем.

Метод локтя K-средних для выбора наилучшего количества кластеров поможет указать, является ли матрица с 9 кластерами более эффективной, чем массив с 3 кластерами для размера шапки. Альтернативная стоимость использования кластеров из алгоритма кластеризации проясняет этот вопрос, на который мы хотим ответить методом локтя. Это в дополнение к техническому вопросу о том, сколько кластеров существует, когда объясненная дисперсия начинает выравниваться.

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

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

Метрика, выбранная для этого проекта для измерения стабильности кластера, называется «дрейф кластера». В этом проекте дрейф кластера определяется как процент исходного кластера в момент времени 0, который остается частью кластера в момент времени t.

Реальные свойства, влияющие на представление истории последовательности возвратов и функцию сходства. Фраза «представление в n-мерном пространстве» означает такие вопросы, как интерпретация координат точки в реальном мире, сколько координат имеет одна точка, приводит ли добавление двух точек к значимой третьей точке; и так далее.

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

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

Кроме того, сходство не должно измениться, если мы добавим, скажем, 100 долларов к доходности в первый день каждой акции на фондовом рынке. Трансляционная инвариантность должна обеспечиваться кластеризацией, если, например, у рынка «удачный день», когда «все лодки плывут по течению».

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

Не теряйте информацию, которая отличает ситуацию, когда портфель_A растет на 100 долларов в первый день, а затем падает на 100 долларов в день 2, от ситуации, когда портфель_B падает на 100 долларов в день 1 и растет на 100 долларов во второй день. дисперсии, но они в противоположных направлениях. Поэтому мы предлагаем не объединять их вместе. Назовите этот сценарий «вверх-вниз/вниз-вверх».

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

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

HR = (t-я координата точки — доходность в день t)

HR_unit = HR/|HR| если только |HR| является «маленьким», и в этом случае HR_unit = начало координат (точка (0))

где |HR| — расстояние от точки HR до начала координат (точка (0)) и HR/|HR| означает, что каждая координата точки HR делится на |HR| [3].

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

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

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

Теперь мы можем уточнить фразу «указывает в противоположном направлении», которая является одним из двух источников снижения дисперсии портфеля. Направление — это точка на единичной сфере, которая представляет HR, а противоположное направление — это точка, которая находится на сфере как можно дальше друг от друга. Таким образом, портфель может состоять не только из акций одного кластера. Скорее акции из двух кластеров, которые находятся далеко друг от друга на единичной сфере, могут быть в одном и том же портфеле.

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

Не выполняйте никакого другого масштабирования, такого как минимальная-максимальная нормализация или стандартизация, потому что они могут исказить координаты точки и, следовательно, направление от начала координат к этой точке. Расстояние между двумя точками не будет означать, имеют ли две точки одинаковые направления от начала координат в n-мерном пространстве. Тогда алгоритм кластеризации не сможет распознать, какие точки принадлежат одному и тому же кластеру.

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

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

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

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

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

Спасибо Келли Сиккема @kellysikkema за то, что она сделала это фото бесплатным на Unsplash.

Заключение.

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

1) Какие признаки использовать для расчета; 2) какое свойство мы хотим, чтобы оно было постоянным для одного кластера и, таким образом, чем отличаются два кластера; 3) какова наша мера успеха (доллары, подверженные риску, ниже среднего значения и процент прибыли, подверженной риску); 4) использование метода локтя для анализа альтернативных издержек; 5) необходимость обучения и проверки результатов обучения без учителя (возможно, немного удивительно); 6) представление данных (какие координаты и сколько их); 7) препроцессинг делать и не делать перед кластеризацией; 8) поддержка DCA;

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

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

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: ЭТО НЕ РЕКОМЕНДАЦИЯ ПО ПОКУПКЕ АКЦИЙ ИЛИ ИНВЕСТИЦИЯМ ЛЮБОГО РОДА. Я НЕ ЯВЛЯЮСЬ ФИНАНСОВЫМ КОНСУЛЬТАНТОМ И НЕ ИМЕЮ ЛИЧНОЙ ИНТЕРЕСНОСТИ В МЕТОДАХ, ОПИСАННЫХ В ЭТОЙ СТАТЬЕ.

Сноски.

[1] Диверсификация (финансы). Википедия, https://en.wikipedia.org/wiki/Diversification_(finance) См. раздел Влияние диверсификации на дисперсию.

[2] Обратите внимание, что точка А — это история доходности, а не конкретный портфель. Портфель может состоять из одной акции или может быть набором акций. Если история доходности обоих портфелей приводит к одним и тем же числам, то они оба представлены одной и той же точкой. Но это перекрытие маловероятно, если координат больше 20, месяца рабочих дней.

[3] Маловероятно, что история последовательности возвратов «маленькая», потому что это означало бы, что ее доходность никогда не меняется в течение всех рассматриваемых рабочих дней. Количество дней всегда должно быть больше, чем 20 рабочих дней, а месяц — это долгое время, чтобы вообще не двигаться.

Примечание: верхняя часть изображения Мыслителя под заголовком обрезана, чтобы выделить мыслителя.