【Python量化投资】金融应用中用matplotlib库实现的数据可视化
查看之前文章请点击右上角,关注并且查看历史消息
所有文章全部分类和整理,让您更方便查找阅读。请在页面菜单里查找。
Python中,matplotlib可以视为数据可视化的基准和主力。尽管有许多其他的可视化库,但是matplotlib已经确立了一个标杆,在许多情况下,它都是健壮、可靠的可视化工具。在标准的绘图工作中很容易理解,对更复杂的绘图和自定义又很灵活。此外,它与NumPy及其提供的数据结构紧密集成。下面就列举几个用二维数据集说明对金融应用程序中的可视化方法。
首先要先导入NumPy和matplotlib这两个库,主要的绘图函数在子库matplotlib.pyplot中:
要介绍的第一种图表是散点图,这种图表中一个数据集的值作为其他数据集的x值。例如,这种图标类型可用于绘制一个金融时间序列的收益和另一个时间序列收益的对比。下面例子中,将使用二维数据集和其他一些数据。
直方图
另一种图表类型直方图也常常用于金融收益中。它是金融应用中的重要图表类型。主要应用plt.hist这个函数。下面显示的是两个数据集的数据在直方图中堆叠。
另一种实用图表类型是箱形图。和直方图类似,它可以简洁概述数据集的特性,很容易比较多个数据集。通过下面的例子我们绘制出了这类图表。
matplotlib还提供了少数精选的特殊金融图表。这些图表(如柱状图)主要用于可视化历史股价数据或者类似的金融时间序列数据,可以在matplotlib.finance子库中找到:
作为一个方便的函数,且该子库可以简单地从雅虎财经网站(http://finance.yahoo.com)读取历史股价数据。只需要起始和结束日期,以及对应的股票代码。下面以读取德国DAX指数数据为例,其股票代码为^GDAXI:
这里quotes包含了DAX指数的时间序列数据,包括日期、开盘价、最高价、最低价、收盘价和成交量:
matplotlib.finance的绘制函数能准确理解可能传递的格式和数据集,这里每日的正收益由蓝色的矩形表示,负收益由红色矩形表示。而且matplotlib会根据数据集中的日期信息,为x轴正确设置标签:
最后一个是在金融中的3D图形应用。金融中从3维可视化中获益的领域不是太大。但是,波动率平面是一个应用领域,它可以同时展示许多到期日和行权价的隐含波动率。下面例子中,我们人为生产一个类似波动率平面的图表。
为此,考虑如下因素:1.行权价格在50-150元之间。2.到期日在0.5-2.5年之间。
这提供了一个2维坐标系。我们可以使用NumPy的meshgrid函数,根据两个1维ndarray对象生成这样的坐标系:
上述代码将两个1维数组转换为2维数组,在必要时重复原始坐标轴值:
根据新的ndarray对象,我们通过简单的比例调整二次函数生成模拟的隐含波动率:
通过下面代码即可得出图表:
上面便是matplotlib在大部分金融环境下的一些基本绘图函数应用。作为python数据可视化的主力,它是一个相当强大的库,具有复杂的API。如需扩展学习可参考下面的资源:
关于matplotlib的主要资源参考:
matplotlib主页:
一个包含有许多实例示例的网站:
一个还不错的2D绘图教程:
一个还不错的3D绘图教程:
后台回复下列关键字,更多惊喜在等着你 【区分大小写】
1.回复每周论文 获取Market Making论文分享
2. 回复matlab量化投资 获取大量源码
3. 回复每周书籍 获取国外书籍电子版
4. 回复文本挖掘 获取关于文本挖掘的资料
5. 回复金融数学 获取金融数学藏书
6. 回复贝叶斯Matlab 获取NBM详解与具体应用
7.回复AdaBoost 获取AdaBoost算法文献、代码、研报
8.回复数据包络分析 获取选股分析源码
9.回复SVD 获取数据预处理之图像处理的方法
【过往文章】
0.【重!磅!干!货!】互联网金融之量化投资深度文本挖掘——附源码文档
3.【Python机器学习】系列五决策树非线性回归与分类(深度详细附源码)
5.【每周书籍干货】国外近期深度学习与机器学习书籍电子版——你知道一本买来好多刀啊!
7.【Python机器学习】系列之从线性回归到逻辑回归篇(深度详细附源码)
8.【Python机器学习】系列之特征提取与处理篇(深度详细附源码)
9.【最强干货】关于文本挖掘的资料(文献,报告,策略,代码)
10.机器学习的前期入门汇总
15.【扎实资料干货分享】Python、研究报告、计量经济学、投资书籍、R语言等!(Book+Video)
17.量化投资修行之路
18.统计套利在股指期货跨期套利中的应用:基于协整方法的估计
19.股指期货跨品种套利交易
26.卷积神经网络反向传播推导
27.深度学习项目
28.混沌分形理论