Алгоритм для расчета матрицы переходных вероятностей - Применение скрытого марковского процесса для прогноза на фондовом рынке

Для начала стоит сказать, что выборки по котировкам акций Apple, Google и индексов NASDAQ и S&;P500 были практически одинаковы за исключением Google, которые разместили свои акции только в 2004 году. Таким образом, минимальная выборка составила примерно 2400 значений, а максимальная - 3300. На первый взгляд может показаться, что этот факт лишит возможности рассматривать очень большие скользящие периоды на более маленькой по размеру выборке, но в конце концов оказалось, что вариант со скользящим периодом в больше 1500 наблюдений не является оптимальным для прогноза акций компании Google.

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

Также важно сказать, что при использовании более коротких тестируемых выборок можно с большой долей вероятности предположить наличие шума, который может очень значительно отразиться в матрице переходных вероятностей. В качестве этого может быть приведен следующий пример: известно, что на протяжении последних лет акции какой-либо компании выросли в цене в три раза, но в течении некоторого периода (30 дней) были заметны очень сильные изменения цены акций. Если в данном случае использовать скользящий период в 300 дней, то в матрице эти сильные скачки если и отразятся, то не сильно, так как их буквально перевесят вероятности роста. Если же брать скользящий период в 50-60 дней, то шум от скачков цен может оказать сильное влияние на отдельные позиции в матрице переходных вероятностей, из-за чего автоматическая торговая система будет неправильно воспринимать ситуацию и торговать на понижение. В случае же с большими скользящими периодами шум менее заметен, что будет показано дальше.

Следующим шагом является построение матрицы переходных вероятностей для состояний. Как уже было сказано, оценивать вероятности для выпадения отдельных значений котировок не имеет смысла. Теперь стоит объяснить, почему в качестве состояний в данной работе используются группы котировок. Изначально предполагалось, что необходимо определить вероятность выпадения определенных котировок для различных состояний рыночной конъюнктуры. Проблема возникает на том этапе, когда необходимо численно определить состояние рынка по отношению к какой-то либо бумаге, а это довольно проблематично. В результате было принято решение, которое является упрошенным вариантом определения конъюнктуры и именно который и позволяет не высчитывать вероятности выпадения котировок отдельно для каждого состояния. Идея состоит в том, что, когда рынок располагает к росту цены какой-либо акции, то эти акции растут, но с разной скоростью. Поэтому было принято решение разделить состояния на основе доходностей по акциям. Естественно, данный выбор очень далек от реальной ситуации, так как могут учитываться спекуляции, в результате которых значительно растет волатильность и, следственно, неправильно высчитывается матрица переходных вероятностей. Но такое негативное влияние спекуляций сглаживается, если оценивать матрицу на большом скользящем периоде, что будет показано ниже.

Если говорить конкретно о границах состояний, то для всех акций было решено взять 5 различных состояний:

    1)-a 2)-a>x>-b 3)b>x>a 4)-b>x 5)b

Отсюда понятно, что данные области были выбраны симметричными. Что касается самих параметров "a" и"b", то первый из них был выбран одинаковым для всех со значением 0.01, так как имеет смысл торговать только тогда, когда отсутствует шумовой процесс, а данное значение минимальной границы отсекает самые мелкие приросты, которые, скорее всего являются шумом.. Что же касается второй границы, то она варьируется в зависимости от ценной бумаги, но колеблется между 0.1 и 09 при плече равном 10.

Процесс построения матрицы происходит в три этапа:

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

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

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

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

Похожие статьи




Алгоритм для расчета матрицы переходных вероятностей - Применение скрытого марковского процесса для прогноза на фондовом рынке

Предыдущая | Следующая