ПочатиПочніть безкоштовно

Ціни акцій високої частоти

Дані про акції з вищою частотою добре моделюються процесом MA(1), тож це гарний приклад застосування моделей цього розділу.

Датафрейм intraday містить ціни за один день (1 вересня 2017 року) для акцій Sprint (біржовий тикер «S») із частотою вибірки одна хвилина. Біржа працює 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 список із цими двома рядками.
  • Використайте атрибут pandas .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 = ____
Редагувати та запускати код