37. 股票时间序列数据处理#

37.1. 知识点#

  • 时间格式转换

  • 时序数据重采样

  • 数据排序

37.2. 挑战介绍#

时间序列处理实验中,我们一开始就拿 Google 股价变化曲线图给大家举例。本次挑战中,需要应用学习到的时间序列数据处理方法,来对 Google 股价变化数据进行处理。

https://cdn.aibydoing.com/hands-on-ai/images/document-uid214893labid7506timestamp1539236516390.png

37.3. 挑战内容#

挑战提供了 Google 公司从 2005 年到 2018 年期间的股票交易数据,并汇总到文件 GOOGL.csv 数据文件。下载链接:

wget -nc https://cdn.aibydoing.com/hands-on-ai/files/GOOGL.csv

数据集前 5 行预览如下:

由于股票存在交易日,实际数据的起止日期可能并不是 1 月 1 日至 12 月 31 日。

Date Open High Low Close Adj Close Volume
0 2005/1/3 98.798798 101.921921 97.827827 101.456459 101.456459 31656700
1 2005/1/4 100.800804 101.566566 96.836838 97.347351 97.347351 27484200
2 2005/1/5 96.821823 98.548546 96.211212 96.851852 96.851852 16456700
3 2005/1/6 97.637634 98.048050 93.953957 94.369370 94.369370 20753400
4 2005/1/7 95.415413 97.222221 94.484482 97.022018 97.022018 19306400

数据共有 6 列,分别为:成交日期(Date)、开盘价格(Open)、最高价格(High)、最低价格(Low)、收盘价格(Close)、调整后收盘价格(Adj Close)、成交量(Volume)。

Exercise 37.1

挑战要求针对该数据文件进行时间序列分析,并按照季度进行数据采样。其中,所有价格有关的数据均取均值,成交量则取总和。最终,将 DataFrame 按照成交量降序排列并返回。

37.4. 挑战要求#

  1. 需要将代码保存到 Code 文件夹中,并以 google_stock.py 命名。

  2. 需要补充下方 def quarter_volume() 中的代码。挑战最后需要返回题目要求的 DataFrame。

  3. 一年可以分为四个季度,每个季度历时 3 个月。第一季度:1-3 月;第二季度:4-6 月;第三季度:7-9 月;第四季度:10-12 月。你需要通过阅读官方文档自行了解如何进行季度采样。

  4. 测试时请使用 python 运行 google_stock.py,避免出现无相应模块的情况。

37.5. 示例代码#

def quarter_volume():
    
    ### 补充代码 ###
    
    return df # 返回题目要求的 DataFrame