Блог им. SciFi

Применение модели ARIMA-GARCH для прогнозирования курса рубля на R

    • 12 мая 2016, 11:12
    • |
    • SciFi
  • Еще
Продолжаю копать в сторону машинного обучения и применения R для количественного анализа в трейдинге.

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

В этом посте я расскажу о применении модели ARIMA-GARCH для прогнозирования курса рубля на R. 
Нашел полезную серию статей на тему анализа временных рядов на R. Использовал эту статью.

Немного общей информации из википедии:

ARIMA (англ. autoregressive integrated moving average, иногда модель Бокса — Дженкинса, методология Бокса — Дженкинса) — интегрированная модель авторегрессии — скользящего среднего — модель и методология анализа временных рядов. Является расширением моделей ARMA для нестационарных временных рядов, которые можно сделать стационарными взятием разностей некоторого порядка от исходного временного ряда (так называемые интегрированные или разностно-стационарные временные ряды). Модель ARIMA(p,d,q) означает, что разности временного ряда порядка d подчиняются модели ARMA(p, q).

Авторегрессионная условная гетероскедастичность (ARCH — AutoRegressive Conditional Heteroscedasticity) — применяемая в эконометрике модель для анализа временных рядов (в первую очередь финансовых), у которых условная (по прошлым значениям ряда) дисперсия ряда зависит от прошлых значений ряда, прошлых значений этих дисперсий и иных факторов. Данные модели предназначены для «объяснения» кластеризации волатильности на финансовых рынках, когда периоды высокой волатильности длятся некоторое время, сменяясь затем периодами низкой волатильности, причём среднюю (долгосрочную, безусловную) волатильность можно считать относительно стабильной.

Модели ARCH впервые были предложены Энглом в 1982 году. Уже в 1986 году Боллерслев предложил обобщение этих моделей (GARCH). В дальнейшем различные авторы предложили и иные варианты моделей данного типа, учитывающих те или иные особенности.

Стратегия:

Для каждого дня берем k предыдущих дней, расчитываем доходность через разницу логарифмов и используем этот массив как окно для расчета оптимальных параметров комбинированной модели ARIMA+GARCH. Если прогноз негативный, шортим, если положительный — лонгуем. Если прогноз совпадает с прогнозом предыдущего дня, ничего не делаем (продолжаем сидеть в предыдущей позе). 

Код на R и Python копипастить не буду. Вы можете найти код для случая S&P в статье по ссылке выше. Общая суть процесса подгонки в том, что перебираются разные модели ARIMA(p, d, q), затем с помощью теста выбирается наилучшая, затем подгоняется GARCH модель. Создается прогноз, затем прогноз выводится в файл csv. Затем этот файл обрабатывается с помощью Python скрипта (удаляются кавычки). Затем полученный файл используется для рисования графика.

Результаты:

Я попробовал построить такую же модель и спрогнозировать курс рубля. Взял историю курса рубля USDRUB с начала 2014 до начала 2016 года. Взял бы больше, но в Финаме нет большей истории. Прогнал модель ARIMA-GARCH с разными k. Получил следующие картинки:

k = 100

Применение модели ARIMA-GARCH для прогнозирования курса рубля на R

k = 250
Применение модели ARIMA-GARCH для прогнозирования курса рубля на R

k = 400
Применение модели ARIMA-GARCH для прогнозирования курса рубля на R

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

Чем больше k и история, тем дольше считается. В моем случае расчет шел около получаса на PC с конфигурацией Intel i5, RAM 8Gb, SSD.

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

В любом случае, модель интересная и можно попробовать копнуть глубже — попробовать ее использовать не для прогнозирования просто будущего одного актива, а для торговли портфелем (за счет коинтеграции).
★22
69 комментариев
ну и смысл какой? если купи и держи не обгоняет как я понял? а выглядит даже и слабее.....-ми проделали огромную работу...-а где результат та?
avatar
Pobeditel, результат в том, что данная модель вряд ли подходит для прогнозирования одного актива. И в том, что не стоит переоценивать сложные модели. Можно построить сколь угодно сложную модель для прогнозирования и она все равно может не работать.
avatar
SciFi, модель принятия решений должна быть крайне простой. НО вот управление позицией может дать весьма неплохой результат. Касаемо сложных моделей. Пытался я когда собирал стат. угадайки работать со сложными моделями. Бесполезно. Лучше всего себя зарекомендовали самые простые модели (но на каких принципах не скажу) и также модели построенные на относительности производной от цены. Как бы странно это не звучало. Сам был удивлен когда собрал. НО ключ реализации максимально возможной выжимки из модели лежит как раз в управлении позицией. Т.е. модель которая позволяет 1 единицей позиции из 10 например, ликвидировать двойной убыток на позицию 10 из 10… самая эффективная. Там к сожалению не получается что прямо ах… мы снимаем все сливки и делаем суперсделки. НО эквити крайне качественная получается. Если с другого компьютера потом зайду как нибудь то скину картинки.
avatar
Pobeditel, ну усреднение работает, это все знают. Только депозит должен быть как у Баффета ) 
avatar
SciFi, там несколько принципов есть… один из самых действенных система с крайне качественными точками входа… т.е. после точки входа цена пройдет какое то время в вашу сторону… и здесь включаем например риск условно 200 у.е. на 10 штук чего нибудь  т.е. суммарный будет 2000 у.е., теперь позитивный сценарий включаем разгрузку кратную например тем же 200… по 2. Т.е. в случае если цена пройдет в нашу сторону 1000 то мы скинем всю позицию и получим профит на каждые наши 2 единицы и последняя будет отбивать убыток1 полностью… но в такой системе ключ в том чтобы кол-во переворотов было максимально ограничено. Т.е. такая система будет терять когда будет туда сюда через стопы наматывать. Детали не буду раскрывать но вдруг вам пригодится сам принцип)
avatar
SciFi, вот этот вывод бы да и в конец статьи.
avatar
SciFi, насколько я знаю GARch эффективнее всего анализирует волатильность 
avatar
xredox, да
avatar
SciFi, у меня вопрос что подавать тогда на вход чтобы делать анализ волы? Данные стандартного отклонения? Или вычислять волу из блэка шоулза бисекционным методом и её подавать на вход? Или сначала делать расчёт правильной волы и потом её анализировать?
avatar
xredox, вот тут похожая статья про GARCH. Как я понял, берем цены закрытия и через логарифмы получаем доходности. Дальше работаем с доходностями (именно в тех библиотеках, которые используются). Я так понимаю, что расчеты отклонений инкаписулированы внутри библиотеки. Кстати, чтобы применять GARCH, надо быть уверенным в том, что условная гетероскедастичность присутствует. Хотя для большинства активов на большой истории она должна присутствовать.
avatar
SciFi, спасибо Вам большое за совет. Попытаюсь. Кстати а Вы пытались применять hidden Markov process для анализа состояний волы — высокая, низкая вола. Я сейчас это реализовываю в R 
avatar
1) Использование точечных прогнозов в ARIMA-GARCH обречено на провал — тут важны доверительные интервалы прогноза.
2) Проблема классической модели ARIMA-GARCH в том, что распределение хвостов ни разу почти не нормальное.
3) https://www.quantstart.com/articles/ARIMA-GARCH-Trading-Strategy-on-the-SP500-Stock-Market-Index-Using-R   — косяк в том, что модель, порядок которой получен для AR и MA частей отдельно без учёта GARCH-эффекта, несостоятельна — таким образом нельзя получить «корректную» модель ARIMA(p,d,q)-GARCH(u,v).
4) Фиттинг модели полноценным образом приводит к неприятной вещи как overfitting параметров p и q в ARMA части. Поэтому модель будет несколько неадекватной. Для определения кратных корней в AR и MA частях придётся «потрудиться» и поломать голову.
5) TS и DS-ряды (т.е. те, где d = 1, 2,… в ARIMA(p,d,q)). Есть неприятные особенности, связанные с тем, что d > 0 может на малых выборках вполне себе маскировать GARCH эффект насколько я помню. Некорректный подход к оценке того, TS или DS наш ряд может приводить к серьёзному искажению спектра ряда и формированию non-invertible ARIMA-модели (ну, по MA части, а это приводит, в свою очередь, к некорректной оценке волатильности).
6) Использование AIC оправдано на больших выборках. Для малых и средних лучше использовать AICc (ну, или BIC, хотя ряд статей говорят, что излишне сильно штрафует).
7) ARIMA-GARCH ни разу не учитывают long-memory эффектов. Гуглите ARFIMA-модели, используйте в R модуль arfima или же rugarch.
8) Качество оценки параметров для малых выборок в GARCH части не очень высокое. Порой это «пальцем в небо». 

Ну, это так, что первое в голове всплыло. Есть ещё ряд ньюансов.
Насчёт торговой стратегии — та, что Вы привели, Вас моментально оставит без штанов. Повторюсь, в данных моделях важен не точечный, а интервальный прогноз. И тут нужно вводить какие-либо функции полезности. Самая простая — мат.ожидание дохода, например. Т.е. Es_{t+k} > M, где M — устанавливаемая Вами величина, то шортим или лонгим в зависимости от того, выше или ниже текущей цены точечный прогноз. 
Уот как-то так…
Бобровский Дмитрий, у меня к вам несколько вопросов:
1)Доверительный интервал вы имеете ввиду стандартную ошибку прогноза (делающиеся по фактическим данным) или сами ошибки прогноза (прогноз — факт) в абсолютном выражении?)
2)Можно проверить ошибки построив график нормального распредления и доверительный уровень, например по Колмогорову-Смирнову.
5)По-моему имеется критерий проверки сколько нужно значений n… для определенных условий.
Отдельно: почему не в вести MAPE, как критерий или MAD?.. Почему бы к прогнозу по выше указанному методу, не добавить иные методики Холта или адаптивного сглаживания Брауна?
avatar
у нейросетей и прочих самообучалок есть очень большой минус… их надо обучать на полном наборе данных… а где такой полный набор взять на бирже?
avatar
ves2010, не на полном объёме, а на достаточно большой выборке. Очень большой. Но это не проблема — спасибо ребятам из Финама.
Бобровский Дмитрий, у автора кода получилось обгонять buy and hold для S&P, но он взял историю с 1960 года примерно. А я взял только за 2 года.
avatar
SciFi, я говорю о том, что нужно сделать/добавить/изменить для более корректной реализации торговли на ARIMA-GARCH. Рекомендую хотя бы попробовать подход на превышении мат.ожиданием некоторого значения. Ну, или, например, рассмотрение варианта, когда текущая цена находится к k% квантили распределения точечного прогноза (k% для лонга, (1-k)% для шорта). Посмотрите, каков будет результат в этом случае. Есть немало подходов, завязанных на тех или иных функциях полезности, штрафах и т.п. 
Да, по-хорошему ARIMA-GARCH нужно перекалибровывать раз в N свечек. Плюс они не являются regime switching моделями, тут нужны TAR, STAR и т.п.
вообще мне удивительно… имея миллиарды нейронов в голове пытаться строить нейросеть с мозгами даже меньше чем у червяка… и верить в результат
avatar
ves2010, миллиард нейронов в Вашей голове заточены на кучу других задач и куда более инертны и менее переключаемы. Для реализации задач подобной анализу рынка не нужно миллиардов нейронов. А скорости современных компьютеров позволяют обучать подобного рода малоразмерные сети чрезвычайно быстро и эффективно.
Я не верю в системы с большим количеством подбираемых параметров.
avatar
SergeyJu, разумно. В данном случае подбираемых параметров больше 4 точно (коэффициенты ARIMA + k). 
avatar
SciFi, в данном случае при перекалибровке будет только два параметра — ширина окна и «длина» свечи. 
SergeyJu, это абсолютно верное замечание. Но для ARIMA-GARCH моделей не совсем актуальное при правильном использовании моделей.
Бобровский Дмитрий, а Вы их используете?

avatar
SergeyJu, да. Только не классические ARIMA-GARCH модели, а чуть более продвинутые. Сейчас больше в рамках оценки рисков — по работе требуется. Плюс много другого мат.аппарата.
Бобровский Дмитрий, нетривиальный ответ.
Давненько я не слышал ничего интересного про риски. Неужели строите случайные эквити по аппроксимированной модели? Не могли бы Вы наметить, направление применения этих штук к риск-менеджменту. Я далее монте-карло с марковской цепью не продвинулся. 
avatar
SergeyJu, ARIMA-GARCH модели отлично используются, например, в качестве параметрических моделей оценки VaR и ES. Более того, есть неплохая статья: www.academia.edu/2784956/A_forecast_comparison_of_volatility_models_does_anything_beat_a_GARCH_1_1_  Очень рекомендую. Вообще, всё есть инструмент (разного уровня качества, сложности и возможностей), главное им пользоваться уметь. У кого-то и SMA прибыль приносит, у кого-то SV-модели лосят на 10 депо.
Бобровский Дмитрий, Резвяков на SMA депо увеличивает кратно, судя по его словам ) 
avatar
SciFi, почему бы и нет. Я, например,  использую ЕМА и не парюсь. 
avatar
Я к тому, что SMA — примитивный ФНЧ с весьма плохой АЧХ и ФЧХ. Т.е. лаг в полпериода и плохой срез высоких частот. К тому же ни разу не шумоподавитель. Фильтр Чебышева тот же при меньшем лаге лучше фильтрует, например. Но люди умудряются зарабатывать и на таких каменных топорах.))
Бобровский Дмитрий, совсем не факт, что нужно подбирать ФНЧ по тем критериям, по которым Чебышовский фильтр оптимален. Когда-то я использовал в обработке сигналов ФНЧ, построенный с помошью окна Хэннинга. Ну и что, что первый боковой лепесток большой, зато эффективно вычисляется и затухание боковых лепесков 18 дБ на октаву, а у Чебышова вообще боковые не затухают и ширина окна пропускания больше. 
А если одновременно минимизировать и задержку и боковики, вообще гауссиан может получиться в качестве оконной функции.
avatar
SergeyJu, вопрос в количестве полюсов того же Чебышевского фильтра. Ну или эллиптического. Берите просто Чебышева 1-го рода фильтр — будет пульсация в полосе пропускания, но в полосе подавления её нет. Для 2-го рода — в обратку. 
Просто как не стараться, никак не не сделать достаточно хороший КИХ с малой задержкой. 4-хполюсник на Чебышева или эллиптическом реагирует быстро, давит высокие частоты хорошо.
Бобровский Дмитрий, а смысл? Я не увидел преимущества в использовании продвинутых ФНЧ перед самыми простыми фильтрами, медианой и ЕМА. 
Возможно, я неправильно пытался их использовать.
avatar
SergeyJu, смысл достаточно прост — можно взять уже работающую MA-стратегию и с помощью данных фильтров улучшить её, сократив время реакции системы. EMA же, по сути, тот же БИХ-фильтр. 
Бобровский Дмитрий, ну, такие штуки я много раз проделывал с разными фильтрами. Без особого толку. 
avatar
SergeyJu, а не пробовали, например, сделать такой финт ушами (интересен пример академически, но на его основе можно понять, как действовать в целом) — взять некий ряд, подогнать SMA(N1), EMA(N2) и, например, фильтр того же Чебышева взять (тут параметров 2 будет — где-то видел, как какой-то из авторов хрениллиона книг про трейдинг в ракете для Баттерворта переводил параметры фильтра в период, но не помню, но нас интересуют количество полюсов и частота среза). И посмотреть, где профит будет больше на примитивной fast-slow MA стратегии.
Бобровский Дмитрий, делал что-то подобное. Даже в рэндом форест засовывал. Это такая мясорубка для недосистем, по принципу вали всё в кучу, лучшее само выкарабкается.

avatar
Прежде чем применять методы надо понимать их математический-физический смысл, ARIMA означает наличие корреляции между лагами, кто ни буть видел рынок со стационарно скоррелированными приращениями?  GARCH — описывает корреляцию волатильности, то есть дисперсию и ничего не говорит нам о мат. ожидании.
avatar
vlad1024, причём тут стационарно скоррелированные приращения? Постройте АКФ по произвольной выборке за сегодняшний день по Ri и убедитесь, что рынок не представляет из себя белый шум.
Бобровский Дмитрий, постройте за месяц АКФ приращений на минутках и убедитесь что рынок это белый шум, я проделывал подобные упражнения давным-давно. Если же вы предлагает строить АКФ для временного ряда, а не приращений, то это тем более странно.
avatar
vlad1024, если построить произвольный график для ARIMA, то получится что-то очень похожее на временной ряд какого-нибудь актива. ARIMA(0,1,0) — это случайное блуждание. Рынок по меньшей мере в худшем случае описывается случайным блужданием, даже если в нем нет никаких вообще корреляций приращений, хотя бы потому, что цена в данный момент времени не произвольно далеко от цены в предыдущий момент времени, цена более менее плавная, то есть своего рода марковский процесс. Кроме этого, когда цена куда-то идет, она обычно идет из-за какой-то новости из реального сектора. Эта новость обычно действует достаточно долго, чтобы создать новые приращения. GARCH же должен работать по похожей причине. Когда волатильность растет, люди начинают сбрасывать акции или покупать и еще сильнее увеличивают волатильность.
avatar
SciFi, знакомый перец воевал с АРФИМА. Без явного успеха. А еще можно строить «оптимальный» предсказывающий фильтр методом наименьших квадратов. Хоть в каждой точке. С регуляризацией или без оной. Я пробовал. Без успеха.
avatar
Корреляции есть, но они очень слабые и не в приращениях цен закрытия. Лаг как правило 1, поэтому достаточно линейной регрессии, ну или в терминах ARIMA это AR(1). Интересно, автор проводил сравнение с этой моделью?
avatar
Vasiliy, по-хорошему, надо смотреть именно ARIMA-GARCH, а не чисто AR. Зачастую наличие MA части приводит при рассмотрении только AR моделей к появлению «бесконечного» хвоста значимых AR-коэффициентов. 
Бобровский Дмитрий, теоретически Вы правы. На практике мне уже много лет никто не смог объяснить, и сам я так и не понял, что есть сигнал на рынке. А потому и непонятно, что нужно оптимизировать, какие фильтры нужно применять. 
Например, нужно ли использовать ту же длину выборки для аппроксимации ряда и для оценки дисперсии или иной оценки волатильности (кстати, какой именно). Сейчас по факту у меня волатильность оценивается с гораздо более длинным окном, чем фильтрация цен.
avatar
SergeyJu, насчёт того, какую длину окна использовать для оценки волатильности и иных параметров — тут сам каждый решает, всё зависит от моделей. Для параметрических моделей эти окна должны совпадать. А в других моделях каждый сам себе злобный Буратино.
Бобровский Дмитрий, если и для сглаживания цены, и для оценки волатильности используется один и тот же параметрический метод, окно совпадет по необходимости. Но зачем использовать один и тот же метод, я не понимаю. В чем, собственно, цимус.
avatar
SergeyJu, если используете разные модели для фильтрации и определения волатильности, то периоды могут не совпадать. Просто, во-первых, это увеличение параметров, а во-вторых, статистически немного странно — вы используете волатильность, полученную по одной выборке для работы с другим рядом. Будет ли оцененная волатильность учитывать всю информацию фильтруемого ряда? Не будет ли оценка запаздывать из-за более широкого окна или наоборот, не доучитывать эффекты выбросов из-за более короткого периода?
Бобровский Дмитрий, имхо, не странно. И число параметров не увеличивается. Допустим, один параметр у ЕМА и один — у волы. Итого — два. Причем для волы у меня постоянная времени усреднения намного, в десятки раз больше, чем для ема. Если вместо ЕМА я возьму, допустим, синусный ФНЧ батерворта, там тоже 1 параметр — граница полосы пропускания. 
avatar

SergeyJu, ну, для Баттерворта ещё будет параметром количество полюсов.)) 
Просто у Вас в оценках волы и параметра для  EMA используются разные модели, поэтому вполне нормально. Главное, чтобы количество параметров сильно не росло, иначе рост размерности и ад подгонки. Для параметрических моделей а-ля ARIMA-GARCH и волатильность, и прочие параметры суть результат оценивания по конкретной выборке.

Бобровский Дмитрий, число полюсов дискретный параметр малой мощности, не сильно напрягает.
avatar
SergeyJu, ну, качество фильтрации же определяет. Меньше полюсов — хуже АЧХ…
Бобровский Дмитрий, мы же не радиофизики, к чему нам об АЧХ печалиться. Кидаем в машину 4 варианта фильтра, каждый с одним параметром, пусть она думает.
avatar
Vasiliy, а что есть 1? Минута, час, день, неделя?
avatar
SergeyJu, лаг 1 значит зависимость от предыдущего приращения. Попробуйте использовать в качестве исходного ряда логарифмы приращений (H+L)/2, если интервалы больше часа АКФ первого лага будет где-то 30%, тогда как у случайного блуждания где-то 20%. А нестационарность ряда цен ARIMA вряд-ли сможет поймать, разве что сезонность исключит если она есть.
avatar
Vasiliy, проверять не стану, поверю Вам на слово. Мне инстинктивно не нравятся оценки типа АКФ, чисто имхо, они не устойчивы к помехам. А изменения цен — почти сплошная помеха, по крайней мере для торговца трендом. 
Но можно ли из Ваших оценок сделать вывод о том, что реальные сроки удержания позиций для трендовой торговли должны быть существенно больше часа?
avatar
Пффф… Так, я сегодня приду домой и выложу специально для Вас данные о АКФ по минуткам Ri. С Ваших слов это должно быть случайное блуждание, т.к. dc_{t} = e_{t}, где c_{t} — цена закрытия свечки, dc_{t} = c_{t} — c_{t-1} и e_{t} — белый шум. Я же покажу, что это не так. Длину окна возьму от 100 до 1000 свечек с шагом 100 свечек. Норм?
Брать приращения цен и рассматривать только их как минимум странно как раз, т.к. оценивается ряд цен как временная траектория некоторого случайного процесса. Взятие разности первого порядка уже есть модификация ряда. Обычно разности берут для того, чтобы ряд устационарить. Но огульное взятие разностей приводит к спектральным искажениям — появлениям ложных циклов (длинных или коротких) там, где их нет (TS и DS ряды, я уже писал об этом).
Бобровский Дмитрий, методологически непонятно, что Вы хотите измерить. Ясно же, что у рынка есть память и что эта память не постоянна — тоже ясно. А корреляции, имхо, просто все размажут. 
avatar
SergeyJu, https://en.wikipedia.org/wiki/Autoregressive_fractionally_integrated_moving_average, так проще объяснить, что я хотел сказать. Там есть ссылочка на long memory процессы. Это про долгую память.
Насчёт перекалибровки модели — я веду к тому, что рынок не является статической структурой, и конкретную выборку данных, например, лучше описывает модель ARIMA(1,0,1), а через 10 свечек (с той же шириной окна) уже, например, ARIMA(2, 0, 1). Поэтому требуется постоянная перекалибровка, использование regime switching моделей, оценка спектра ряда (для выявления стекания энергии в нижние частоты, например, и выдвигании гипотезы о формировании тренда) и т.п. Много всего. Автор только царапнул верхушку айсберга параметрических моделей и их использования. 
Бобровский Дмитрий, ссылку прочитал. Меня мучает не тот вопрос, на который Вы отвечаете. Зачем нужен именно такой фильтр. Если мы хотим оценить знак производной и его отличие от нуля, мы и должны оценивать производную и ошибку оценки. Если мы хотим оценить наличие низкочастотной компоненты в спектре, мы можем явно решить и эту задачу, с помощью фильтров, БПФ или вейвлетов.
Если мы хотим обнаружить в ценах смену режима — мы можем построить оценку типа «новое не такое, как старое».
А что на самом-то деле мы оцениваем.
Что есть сигнал? 
avatar
SergeyJu, если Вы говорите о сигнале как о входных данных, то это ряд/ряды цен активов. Если сигнал есть точка входа/выхода из позиции, то сигнал есть результат работы стратегии.
Бобровский Дмитрий, я готов предположить, что сигнал — это состояние некоторой «идеальной» торговой системы. Лонг, шорт, аут. Но тогда мне придется использовать модель типа HMM. Или пытаться строить устойчивые оценки знака производной с минимально возможной задержкой.
avatar
SergeyJu, так, у нас тут путаница с терминологией. Давайте называть это «точкой входа» и «точкой выхода». 
Данные точки будут определяться исключительно Вашей/моей/любого другого трейдера торговой системой, в основу которой положена та или иная модель принятия решения, основанная на чём угодно. Вот автор топика попробовал основывать её на ARIMA-GARCH модели с разной шириной окна и системой принятия решения на основе анализа точечного прогноза. Я, в свою очередь, года 2-3 назад экспериментируя над этим же самым, отошёл от точечных прогнозов и перешёл к интервальным и поначалу использовал мат.ожидание как функцию полезности. 
Бобровский Дмитрий, матожидание чего?
В конце концов мы хотим получить систему с хорошим соотношением риска к доходности. То есть мы аппроксимируем «идеальную» систему. Наверное, и мера должна быть основана не на качестве аппроксимации ценового ряда. Это, как мне представляется, ложная цель. А прямо на искомых параметрах системы, например, среднегодовой доходности отнесенной к риску. 
avatar
SergeyJu, мат.ожидание дохода. Можно использовать VaR подход к доходу как к случайному процессу в данном случае. Вариантов море.
Бобровский Дмитрий, я вас огорчу но у случайного блуждания как процесса не нулевая АКФ, а вот приращения как раз — белый шум.
avatar
vlad1024, Вы меня не огорчите, т.к. знаю относительно АКФ случайного блуждания. Я к тому, что исходя из Ваших слов наш рынок — случайное блуждание на достаточно большом промежутке времени. Здесь я с Вами не согласен. 
Бобровский Дмитрий, не случайное, но АКФ приращений для всех лагов у рыночного процесса нулевая, поэтому применять линейные модели временных рядов, для описания процесса цены бессмысленно.
avatar
Ок, включу заодно АКФ приращений.

теги блога SciFi

....все тэги



UPDONW
Новый дизайн