楼主: wl142857
4036 1

【量化杂谈之基础篇9】金融数据可视化初探 [推广有奖]

  • 0关注
  • 34粉丝

硕士生

69%

还不是VIP/贵宾

-

威望
0
论坛币
201 个
通用积分
0
学术水平
11 点
热心指数
12 点
信用等级
8 点
经验
7085 点
帖子
84
精华
0
在线时间
281 小时
注册时间
2009-2-22
最后登录
2020-6-24

楼主
wl142857 发表于 2016-4-9 16:46:38 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

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

基础篇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)
是时候关注一波了!



二维码

扫码加我 拉你入群

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

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

关键词:数据可视化 金融数据 基础篇 可视化 Matplotlib 量化 可视化

已有 1 人评分论坛币 收起 理由
fantuanxiaot + 33 精彩帖子

总评分: 论坛币 + 33   查看全部评分

沙发
hollyshiit 发表于 2016-5-3 11:40:28
很实用,希望有进一步更深入的分享。

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-11 21:01