рекомендации

Показаны сообщения с ярлыком R. Показать все сообщения
Показаны сообщения с ярлыком R. Показать все сообщения

среда, 23 февраля 2022 г.

Авторегрессионные модели скользящего среднего ARMA (p, q) для анализа временных рядов - часть 2

В части 1 мы рассмотрели модель авторегрессии порядка p, также известную как модель AR(p). Мы ввели ее как расширение модели случайного блуждания в попытке объяснить дополнительную серийную корреляцию в финансовых временных рядах.

В конце концов мы поняли, что она не была достаточно гибкой, чтобы полностью учесть автокорреляцию цен закрытия Amazon Inc. (AMZN) и индекса акций США S&P500. Основная причина этого заключается в том, что оба этих актива условно гетероскедастичны, что означает, что они нестационарны и имеют периоды «переменной дисперсии» или кластеризации волатильности, что не учитывается моделью AR(p).

четверг, 6 января 2022 г.

Временные ряды для начинающих. Часть 3. Прогнозирование

Первая часть
Вторая часть

Теперь, когда мы рассмотрели основы анализа временных рядов, мы наконец можем погрузиться в прогнозирование!

3.1 Что такое прогнозирование?

Прогнозирование - это просто процесс использования прошлых значений данных для обоснованного прогнозирования будущих значений данных. Как было сказано в предыдущей главе, если вы хотите делать хорошо обоснованные прогнозы, временные ряды должны быть стационарными. Это может быть сделано путем подбора модели arima с помощью функции auto.plot() в пакете forecast. Затем все, что вам нужно сделать, это применить функцию forecast(), чтобы получить прогноз! Функция forecast() может принимать другой аргумент вместе с вашей моделью. Вы также можете ввести h, желаемое количество прогнозируемых периодов времени. Эта функция очень удобна для анализа временных рядов в реальном мире.

понедельник, 3 января 2022 г.

Использование комплексных чисел в R

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

Поскольку комплексные числа реализованы в пакете «base», начать с ними работать очень легко. Чтобы построить комплексное число x + iy, вы используете функцию complex:

понедельник, 27 декабря 2021 г.

Временные ряды для начинающих. Часть 2. Моделирование временных рядов


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

Обратите внимание, что первые 3 модели, которые мы рассматриваем, AR, MA и ARMA, можно использовать для стационарных временных рядов. Остальные модели используются на нестационарных временных рядах.

четверг, 9 декабря 2021 г.

Авторегрессионные модели скользящего среднего ARMA (p, q) для анализа временных рядов. Часть 1.

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

В следующих парах статей мы собираемся обсудить три типа моделей, а именно модель авторегрессии (AR) порядка p, модель скользящего среднего (MA) порядка q и модель смешанного автогрессивного скользящего среднего (ARMA) порядка p, q. Эти модели помогут нам попытаться уловить или «объяснить» больше серийной корреляции, присутствующей в инструменте. В конечном итоге они предоставят нам средство прогнозирования будущих цен.

суббота, 6 ноября 2021 г.

Временные ряды для начинающих. Часть 1. Введение во временные ряды

Я рекомендую установить эти 3 пакета, прежде чем мы начнем:

1.1 Что такое временной ряд?

Временной ряд - это ряд точек данных во времени. Звучит довольно просто, правда?

среда, 27 октября 2021 г.

Введение в прогнозирование временных рядов с помощью torch

Этот пост представляет собой введение в прогнозирование временных рядов с помощью torch. Центральными темами являются ввод данных и практическое использование RNN (GRU/LSTM). Следующие публикации будут основаны на этой и представят все более сложные архитектуры.

Это первая публикация из серии, посвященной прогнозированию временных рядов с помощью torch. Она требует некоторого предыдущего опыта работы с Torch и/или глубоким обучением. Но что касается временных рядов, то они рассматриваются с самого начала, используя рекуррентные нейронные сети (GRU или LSTM), чтобы предсказать, как что-то будет развиваться во времени.

среда, 20 октября 2021 г.

Прогнозирование временных рядов в R с помощью lstm

Оказывается, глубокое обучение со всей его мощью также можно использовать для прогнозирования. Особенно модель LSTM (Long Short Term Memory), которая оказалась полезной при решении проблем, связанных с последовательностями с автокорреляцией.

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

четверг, 14 октября 2021 г.

Анализ остатков линейной регрессии в R

Линейная регрессия - это статистический метод моделирования линейной связи между зависимой переменной y (то есть той, которую мы хотим предсказать) и одной или несколькими независимыми переменными (X).

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

вторник, 5 октября 2021 г.

Преобразование Фурье в R

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

Вот два примера синусоид:

четверг, 2 сентября 2021 г.

Временные ряды и спектральный анализ в R


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

В целом временные ряды характеризуются зависимостью. Значение ряда в некоторый момент времени t обычно не зависит от его значения, скажем, в t − 1. Мы используем специализированную статистику для анализа временных рядов и специализированные структуры данных для их представления в R. Эти структуры данных значительно облегчают наш последующий анализ.

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

вторник, 24 августа 2021 г.

Белый шум и случайные блуждания в анализе временных рядов


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

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

суббота, 31 июля 2021 г.

Тестирование торговых стратегий на исторических данных с помощью Quantstrat. Часть 14. Скачивание и хранение больших объемов исторических котировок

Часть 1. Подготовительные действия.
Часть 2. Инициализация.
Часть 3. Добавление индикаторов.
Часть 4. Добавление сигналов.
Часть 5. Добавление правил.
Часть 6. Запуск тестирования стратегии на исторических данных.
Часть 7. Анализ результатов тестирования.
Часть 8. Продолжаем тестировать торговые стратегии в Quantstrat. Реверсивная стратегия.
Часть 9. Тестирование нескольких активов.
Часть 10. Сравнение результатов тестирования торговой стратегии в Quantstrat и TSLab.
Часть 11. Оптимизация параметров
Часть 12. Стоп-лоссы.

Если вы тестируете свои стратегии на длинных периодах при небольших таймфреймах (например 5 мин), то можете столкнуться с определенными проблемами.

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

Во-вторых, и это главное, при скачивании данных ММВБ из архива котировок Финама с помощью пакета rusquant максимальный период для скачивания котировок за один раз ограничен.

четверг, 15 июля 2021 г.

Последовательная корреляция в анализе временных рядов

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

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

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

понедельник, 21 июня 2021 г.

Использование papeR - краткое руководство

Это краткое руководство, которое охватывает некоторые из основных функций пакета R papeR.

Основная цель пакета - упростить статистическую отчетность и, таким образом, облегчить воспроизводимость исследований. Используя такие мощные инструменты, как Sweave или пакеты knitr и xtable, пакет можно легко интегрировать в существующие рабочие процессы.
  • Прежде всего, пакет предоставляет инфраструктуру для обработки меток переменных, которые используются во всех других функциях (labels()).
  • Пакет позволяет создавать (сложные) сводные таблицы наборов данных (summarize()) и легко отображать данные (plot() для помеченных data.frames).
  • Наконец, пакет позволяет расширять сводные таблицы статистических моделей, (возможно) добавляя доверительные интервалы, звезды значимости, отношения шансов и т. д., а также разделяя имена переменных и уровни факторов (prettify()).

суббота, 8 мая 2021 г.

Тестирование торговых стратегий на исторических данных с помощью Quantstrat. Часть 13. Оптимизация стоп-лоссов.

Первая часть
Вторая часть
Третья часть
Четвертая часть
Пятая часть
Шестая часть
Седьмая часть
Восьмая часть
Девятая часть
Десятая часть
Одиннадцатая часть
Двенадцатая часть

 

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

 

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

четверг, 29 апреля 2021 г.

Сохранение данных в форматах R: RDS и RDATA

Запись данных в форматах файлов txt, csv или Excel - лучшее решение, если вы хотите открыть эти файлы с помощью другого программного обеспечения для анализа, такого как Excel. Однако это решение не сохраняет структуры данных, такие как типы данных столбцов (числовые, символьные или факторы). Для этого данные должны быть записаны в формате R.

Сохранение данных в форматах данных R может значительно уменьшить размер больших файлов за счет сжатия.

понедельник, 12 апреля 2021 г.

Тестирование торговых стратегий на исторических данных с помощью Quantstrat. Часть 12. Стоп-лоссы.

Первая часть
Вторая часть
Третья часть
Четвертая часть
Пятая часть
Шестая часть
Седьмая часть
Восьмая часть
Девятая часть
Десятая часть
Одиннадцатая часть

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

Однако реальную торговую стратегию невозможно представить без стоп-лоссов.

Стоп-лосс (англ. stop loss — «остановить потери») — биржевая заявка, выставленная в торговом терминале трейдером с целью ограничить свои убытки при достижении ценой заранее определенного уровня. Стоп-лосс представляет собой защитный ордер. Без него при движении рынка против вашей позиции вы можете понести большие убытки, либо, при использовании плечей, обнулить свой счет.

среда, 31 марта 2021 г.

Тестирование торговых стратегий на исторических данных с помощью Quantstrat. Часть 11. Оптимизация параметров стратегии

Первая часть
Вторая часть
Третья часть
Четвертая часть
Пятая часть
Шестая часть
Седьмая часть
Восьмая часть
Девятая часть
Десятая часть

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

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

понедельник, 29 марта 2021 г.

Отбор признаков с использованием генетических алгоритмов в R



Что такое генетические алгоритмы?

Генетические алгоритмы (GA) - это математическая модель, вдохновленная известной идеей естественного отбора Чарльза Дарвина.

Естественный отбор сохраняет только наиболее приспособленных особей из разных поколений.

Представьте себе популяцию 100 кроликов в 1900 году, если мы посмотрим на популяцию сегодня, мы увидим других кроликов, более быстрых и умелых в поисках пищи, чем их предки.