НачатьНачать бесплатно

Высокочастотные котировки акций

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

Датафрейм intraday содержит внутридневные котировки акций Sprint (тикер «S») за 1 сентября 2017 года с частотой дискретизации одна минута. Фондовый рынок работает 6,5 часа (390 минут) — с 9:30 до 16:00.

Прежде чем анализировать данные временного ряда, их нужно немного привести в порядок — этим вы займётесь в этом и двух следующих упражнениях. Посмотрев на первые строки, вы заметите несколько особенностей. Во-первых, заголовки столбцов отсутствуют. Данные пронумерованы не с 9:30 до 16:00, а от 0 до 390. Кроме того, первая дата выглядит необычно: «a1504272600». Число после буквы «a» — это Unix-время, то есть количество секунд, прошедших с 1 января 1970 года. Именно так этот набор данных разделяет внутридневные данные по дням.

Если посмотреть на типы данных, можно заметить, что столбец DATE имеет тип object — в данном случае это означает строку. Его нужно преобразовать в числовой тип, прежде чем заняться обработкой пропущенных значений.

Источник поминутных данных — Google Finance (подробнее о том, как были загружены данные, см. здесь).

Модуль datetime уже импортирован.

Это упражнение является частью курса

Анализ временных рядов на Python

Посмотреть курс

Инструкции к упражнению

  • Вручную замените первую дату на ноль с помощью .iloc[0,0].
  • Переименуйте два заголовка столбцов на 'DATE' и 'CLOSE', присвоив intraday.columns список с этими двумя строками.
  • Используйте атрибут .dtypes (без скобок), чтобы посмотреть типы данных в каждом столбце.
  • Преобразуйте столбец 'DATE' в числовой тип с помощью функции pandas to_numeric().
  • Сделайте столбец 'DATE' новым индексом датафрейма intraday, используя метод pandas .set_index(), которому нужно передать строку 'DATE' (не весь столбец, а только название столбца).

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# import datetime module
import datetime

# Change the first date to zero
intraday.___ = 0

# Change the column headers to 'DATE' and 'CLOSE'
intraday.columns = ___

# Examine the data types for each column
print(intraday.dtypes)

# Convert DATE column to numeric
intraday['DATE'] = pd.to_numeric(____)

# Make the `DATE` column the new index
intraday = ____
Редактировать и запускать код