全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 数据可视化
4037 1
2016-04-09

量化杂谈之基础篇系列文章:

基础篇1:https://bbs.pinggu.org/thread-4145710-1-1.html

基础篇2:https://bbs.pinggu.org/thread-4154818-1-1.html

基础篇3:https://bbs.pinggu.org/thread-4164534-1-1.html

基础篇4:https://bbs.pinggu.org/thread-4172585-1-1.html

基础篇5:https://bbs.pinggu.org/thread-4191475-1-1.html

基础篇6:https://bbs.pinggu.org/thread-4409589-1-1.html

基础篇7:https://bbs.pinggu.org/thread-4451050-1-1.html

基础篇8:http://bbs.pinggu.org/thread-4487991-1-1.html


在回测系统中有非常重要且相对独立的一块,那就是数据的可视化。可视化能够让策略研究者非常直观地看到策略地效果,并且快速形成一篇漂亮的回测报告。


在量化回测系统中,可视化一般可以采用Python的Matplotlib包进行实现,Matplotlib包运用灵活且不失严谨,能够十分方便地满足可视化的需求。在本讲中,我们将通过绘制股票走势图的小例子初步对Matplotlib进行探索。


在Matplotlib中可以采取函数式的绘图方法,该方式与Matlab类似。然而函数式的绘图方法无论从效率还是功能上都不如面向对象的绘图方式,因此推荐大家采用面向对象的方式绘图。


采用面向对象绘图首先从Figure对象开始,它代表整个图像,是其他对象的根基。在一个Figure中,可以包含很多Axes对象,它们可以理解为独立的子图,拥有各自的绘图(坐标)区域。每个ax对象拥有其他子对象,这些子对象是图形的组成要素,如Title(标题),Axis(坐标轴),Label(坐标轴标注),Tick(刻度线)。


下面我们来看一个小例子讨论如何绘制股票走势图。在回测系统中,常常也需要绘制策略的收益曲线图、账户资金的变化曲线图等等,它们的绘制方法都大同小异。


  • 导入相关绘图模块


import matplotlib.pyplot as plt

import matplotlib.dates as mdates

  • 准备绘图相关数据


import tushare as ts

bars = ts.get_h_data('002337', start='2015-01-01', end='2015-03-16')

  • 生成Figure和Axis对象


fig = plt.figure()

ax1 = fig.add_subplot(1,1,1)

add_subplot是增加子图的方法,其用法与Matlab中的subplot类似。

  • plot方法操控子图绘图


ax1.plot(bars.index,bars['close'])

  • 设置x轴的刻度以及格式


ax1.xaxis.set_major_locator(mdates.DayLocator(bymonthday=range(1,32), interval=4))

ax1.xaxis.set_major_formatter(mdates.DateFormatter("%Y-%m-%d"))

  • 将ticker标签旋转


for label in ax1.xaxis.get_ticklabels():

    label.set_rotation(45)

  • 通过set_title设置子图标题


ax1.set_title("002337")

如果需要对于X和Y坐标设置标签,可以采用set_xlabel和set_ylabel方法。

  • 通过subplots_adjust方法对边框进行调整


plt.subplots_adjust(bottom=0.20, top=0.90)


通过以上的绘制,最终就可以得到股票的走势图啦!!

d8ff885e21701e029a05a7450b53bd2f_b.png


我的微信公众号:会掘金的小鹿(NuggetsRoad)
是时候关注一波了!



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2016-5-3 11:40:28
很实用,希望有进一步更深入的分享。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群