开始使用免费开始使用

高频股票价格

高频股票数据通常可用 MA(1) 过程建模,因此非常适合应用本章的模型。

DataFrame intraday 包含 Sprint 股票(股票代码 "S")在 2017-09-01 当天按每分钟采样的一天价格。股市开盘 6.5 小时(390 分钟),交易时间为上午 9:30 至下午 4:00。

在进行时间序列分析之前,您需要先做一些清洗工作,您将在本题与接下来的两个练习中完成。查看前几行数据时,您会注意到几件事。首先,没有列名。数据的时间戳不是从 9:30 到 4:00,而是从 0 到 390。并且您会注意到第一条日期是看起来很奇怪的 "a1504272600"。字母 "a" 后面的数字是 Unix 时间,即自 1970-01-01 起的秒数。该数据集就是用这种方式来区分每天的日内数据。

如果查看数据类型,您会发现 DATE 列是对象类型,这里表示字符串。在清理某些缺失数据之前,您需要先将其转换为数值类型。

分钟级数据来源于 Google Finance(关于数据下载方式请参见此处:here)。

datetime 模块已为您导入。

本练习是课程的一部分

Python 中的时间序列分析

查看课程

练习说明

  • 使用 .iloc[0,0] 手动将第一条日期改为 0。
  • 通过将 intraday.columns 设为包含这两个字符串的列表,把两列的列名改为 'DATE''CLOSE'
  • 使用 pandas 属性 .dtypes(不带括号)查看每列的数据类型。
  • 使用 pandas 函数 to_numeric()'DATE' 列转换为数值类型。
  • 使用 pandas 方法 .set_index()'DATE' 列设为 intraday 的新索引。该方法的参数应是字符串 '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 = ____
编辑并运行代码