Сегодня мы расскажем о простых приложениях HMM к акциям.
Изобретённая модель Маркова, звучащая очень высоко и не имеющая никакого понятия о том, что это такое, позвольте нам сделать шаг назад и сначала посмотреть на цепочку Маркова.
Марковская цепочка, названная в честь Андрея Маркова (А. А. Маркова, 1856-1922), - это случайный процесс в математике с марковскими свойствами. При данном текущем знании или информации прошлое (т. е. предыдущее историческое состояние) не имеет отношения к прогнозированию будущего (т. е. будущее состояние после настоящего).
В этом процессе переход каждого состояния зависит только от n предыдущих состояний, и этот процесс называется n-степной моделью, где n - количество влияющих на переходных состояний. Простейший Марковский процесс - это одностепный процесс, при котором переход каждого состояния зависит только от предыдущего состояния.
Если использовать математическое выражение, это выглядит так:
Приведем пример из повседневной жизни, когда мы хотим предсказать будущую погоду на основе текущих погодных условий. Один из способов - предположить, что каждое состояние модели зависит только от предыдущего, то есть от предположения Маркова, которое может значительно упростить проблему. Конечно, этот пример также немного непрактичен.
На рисунке выше показана модель, в которой происходит перенос погоды.
Обратите внимание, что в первом этапе процесса, содержащего N состояний, есть N2 перемещения состояний. Вероятность каждого перемещения называется вероятностью перехода состояния из одного состояния в другое. Все эти N2 вероятности могут быть представлены матрицей перемещения состояния, которая в примере погоды выше представлена следующим образом:
Эта матрица показывает, что если вчера было дождливо, то сегодня 25% вероятность, что будет светло, 12.5% вероятность, что будет дождливо, 62.5% вероятность, что будет дождь, и очевидно, что сумма каждой строки в матрице равна 1.
Для того, чтобы инициализировать такую систему, нам нужен начальный вектор вероятности:
Этот вектор означает, что первый день будет солнечным. До этого мы определили три части первого Марковского процесса выше:
Состояние: солнечное, туманное и дождливое.
Первичный вектор: определяет вероятность состояния системы при времени 0.
Матрица сдвига состояния: вероятность каждого изменения погоды. Все системы, которые могут быть описаны таким образом, являются процессами Маркова.
Однако, что делать, когда Марковский процесс недостаточно силен? В некоторых случаях Марковский процесс недостаточно описывает модели, которые мы хотим обнаружить.
Например, в нашем фондовом рынке, если мы просто наблюдаем за рынком, мы можем знать только цены, объемы и т. д. на тот день, но не знаем, в каком состоянии находится текущий фондовый рынок (бокс, медведь, шок, рецессия и т. д.), в этом случае у нас есть два набора состояний, наблюдаемый набор состояний и скрытый набор состояний. Мы хотим найти алгоритм, который может предсказывать состояние фондового рынка на основе состояния цены и Марковской гипотезы.
В этих случаях наблюдаемые и скрытые последовательности состояний относятся к вероятностям. Таким образом, мы можем моделировать процесс такого типа как скрытый Марковский процесс и наблюдаемый набор состояний, связанный с этой скрытой вероятностью.
Скрытая Марковская модель - это статистическая модель, используемая для описания Марковского процесса, содержащего скрытые неизвестные параметры. Трудность заключается в определении скрытых параметров процесса из наблюдаемых параметров, а затем использовании этих параметров для дальнейшего анализа. Ниже приведена трехстационарная схема преобразования состояний скрытой Марковской модели, где x - скрытое состояние, y - наблюдаемое выходное состояние, a - вероятность преобразования состояния, а b - вероятность выхода.
Приведите пример кубика: предположим, что у меня в руке три разных кубика. Первый кубик - это обычный кубик (назовем этот кубик D6), 6 сторон, каждая из которых имеет вероятность 1,2,3,4,5,6). Второй кубик - четырехугольник (назовем этот кубик D4), каждая из которых имеет вероятность 1,2,3,4). Третий кубик имеет вероятность 8 сторон (назовем этот кубик D8), каждая из которых имеет вероятность 1,2,3,4,5,6,7,8).
Предположим, что мы начинаем игру в кости, и мы выбираем одну из трех костей, и вероятность того, что каждая из костей будет выбранной, равна 1/3. Затем мы выбираем кости, и получаем число 1, 2, 3, 4, 5, 6, 7, 8. Повторяя этот процесс снова и снова, мы получаем ряд чисел, каждый из которых является одним из чисел 1, 2, 3, 4, 5, 6, 7, 8.
Эта последовательность цифр называется видимой цепью состояния. Но в модели скрытого Маркова у нас есть не только видимая цепь состояния, но и скрытая цепь состояния. В этом примере эта скрытая цепь состояния - это последовательность кубиков, которые вы используете.
一般来说,HMM中说到的马尔可夫链其实是指隐含状态链,因为隐含状态(骰子)之间存在转换概率。在我们这个例子里,D6的下一个状态是D4,D6,D8的概率都是1/3。D4,D8的下一个状态是D4,D6,D8的转换概率也都一样是1/3。这样设定是为了最开始容易说清楚,但是我们其实是可以随意设定转换概率的。比如,我们可以这样定义,D6后面不能接D4,D6后面是D6的概率是0.9,是D8的概率是0.1。这样就是一个新的HMM。
Также, несмотря на отсутствие вероятности преобразования между видимыми состояниями, между скрытым и видимым состояниями существует вероятность, называемая вероятностью выхода. В нашем примере, вероятность выхода шестерки D6 из 1 составляет 1/6. Вероятность выхода 2, 3, 4, 5, 6 также составляет 1/6. Мы также можем сделать другие определения вероятности выхода.
На самом деле, для HMM, если знать вперед вероятность преобразования между всеми скрытыми состояниями и вероятность вывода между всеми скрытыми состояниями и всеми видимыми состояниями, то сделать моделирование довольно легко. Однако при применении модели HMM часто отсутствует часть информации, иногда вы знаете, что есть несколько ячеек, что такое каждый ячеек, но не знаете последовательности выпущенных ячеек; иногда вы просто видите результаты множества ячеек, а остальное ничего не знаете.
Алгоритмы, связанные с HMM-моделями, в основном делятся на три категории и решают три проблемы:
Узнав, что есть несколько кубиков (количество подразумеваемых состояний), что такое каждая кубка (вероятность преобразования), я хотел бы знать, какая кубка (подразумеваемая цепочка состояний) выскакивает каждый раз в зависимости от результатов (видимая цепочка состояний).
Также известно, что есть несколько вариантов (множество подразумеваемых состояний) и что представляет собой каждый вариант (вероятность преобразования), и в зависимости от результатов (визуальная цепочка состояний), я хочу знать, какова вероятность этого результата.
Зная, что есть несколько видов (множество подразумеваемых состояний), не зная, что такое каждый вид (вероятность преобразования), наблюдая за результатами многих видов (видимая цепочка состояний), я хочу перевернуть, что такое каждый вид (вероятность преобразования).
Если мы хотим решить эти проблемы на фондовом рынке, нам нужно решить вопросы 1 и 3. В следующей статье мы посмотрим, как это сделать.
Ссылка с колонки "Как узнать о Moneycode"