一. 时间序列基础知识
社会经济现象总是随着时间的推移而变迁,呈现动态性 。一个或一组变量x(t)进行观测,将在一系列时刻t1、t2、...、tn得到离散数字组成的序列集合,称之为时间序列 。通过时间序列算法,我们对事物进行动态的研究 。
时间序列表示按时间先后顺序排列的数列,通常X轴为时间要素,Y轴为数据要素,比如1986-2000年的人均GDP为y1、y2、...、yn,再如下图所示太阳黑子运动规律 。

文章插图
指标通常包括时期指标(年度、月度)和时点指标(时刻) 。时间序列分为以下三类:
1.随机性时间序列:各指标变动受随机因素影响
2.平稳时间序列:基本稳定在某个水平附近波动
3.非平稳时间序列:存在某种规律性变动,比如趋势性、季节性
时间序列常用的特征统计量如下所示:

文章插图
二. 金融时间序列-Pandas库
该部分是作者学习《Python金融大数据分析》书籍第6章的内容,仅供大家学习:
金融学中最重要的数据类型之一是金融时间序列,以日期时间作为索引的数据,例如股票、GDP、汇率等 。Python处理时间序列主要使用Pandas库,其DataFrame和Series等基本类灵感来源于R语言 。Pandas库允许从Web上读取数据,比如雅虎财经、谷歌财经等,也可以读取csv文件(逗号分割) 。下面详细介绍Pandas库的用法:
1.DataFrame类
首先我们通过DataFrame定义数据,包括数据、标签和索引三部分,其中数据包括列表、元组、字典、ndarray等类型,索引包括数值、字符串和时间等 。示例代码如下:

文章插图
输出结果如下所示,包括输出索引、标签值,获取“c”对应数值等,通过df.sum()对数据进行求和、df.mean()求平均值、df.Apply(lambda x:x**2)实现数值平方计算 。

文章插图
DataFrame对象总体上比较方便、高效,相比ndarray对象更专业化 。下面代码是进维度扩增,增加了一个float类型 。

文章插图
输出结果如下所示:

文章插图
接下来再增加一个维度,通过索引进行对应 。代码如下:

文章插图
输出结果如下:

文章插图
2.DatetimeIndex类
接下来我们讲解DatetimeIndex类,通过它定义时间 。首先调用numpy.random函数 生成一个9*4的标准正态分布伪随机数,然后定义列标签,代码如下:

文章插图
输出结果如下,如果需要进行访问则调用df['No2'][3]实现 。

文章插图
为高效处理金融事件序列数据,必须很好地处理时间索引,接下来通过date_range()函数对9行数据对应上时间,从2015-1-1开始,代码如下:

文章插图
输出结果如下所示,可以看到每行数据对应一个年份,其中freq参数表示频率参数,常见的值包括:
【时间序列金融数据预测及Pandas库详解】B-交易日 D-日 W-每周 M-每月底 MS-月初 BM-每月最后一个交易日 A-每年底 H-每小时

文章插图
3.绘图操作接着我们进行绘图操作,Pandas提供了Matplotlib的一个封装器,专门为Dataframe对象设计 。代码如下:

文章插图
主要调用plot方法,参数包括x、y、title、grid(表格线)、ax、legend、kind(图形类型,kde/line/bar/barh)、logx、yticks(刻度)、xlim(界限)、rot(旋转度)等,绘制图形如下所示:

文章插图
4.Series类从DataFrame对象中选择一列时,则得到一个Series对象,代码如下:
推荐阅读
- 黑客界决战紫禁之巅 你盗我8225份数据库 我公布你的真实身份
- Python数据分析,生成随机数据文件
- 淘宝买家订单数据怎么导出来 淘宝买家订单导出到excel
- 天然肉苁蓉的功效
- 淘宝等级为什么会下降 淘宝号周平均点数怎么下降
- 通过淘宝生意参谋可以得到哪些数据 淘宝生意参谋手机版怎么开通
- 淘宝店铺发布宝贝数量
- 数码|UP主“何同学”再上热搜:把3D打印机玩出花了
- 散列 关于哈希函数你应该知道的东西
- MAX、MIN、SMALL、LARGE 全面盘点EXCEL中最大最小值函数
