量化交易回测可视化:matplotlib

2024-03-30 10:58

本文主要是介绍量化交易回测可视化:matplotlib,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

matplotlib的使用需要先安装numpy。设计与matlib相似。

matplotlib(维基)是Python编程语言及其数值数学扩展包 NumPy的可视化操作界面。

  • matplotlib模块

matplotlib.pyplot是最常用的模块。

  • pyplot常用功能
    • 绘制曲线
    x = np.linspace(1,10,10)
    y = 2 * x + 1
    plt.plot(x, y)
    plt.show()
    
    • 绘制多个窗口图片
    x = np.linspace(1,10,10)
    y = 2 * x + 1plt.figure()   # 定义一个窗口对象
    plt.plot(x, y)plt.figure(num = 5, figsize= (9,5))   # 定义一个窗口对象,窗口名,为figure5,尺寸为长9宽5
    plt.plot(x)   # 画一根线
    plt.plot(x,y, color= 'red', linewidth= 1,linestyle= '--')  # 在figure5中画2根线,color:颜色;linewidth:线宽;linestyle: 线的格式,'--'是虚线plt.show()
    
    • 修改坐标轴标尺\名称\字体转换与特殊字符
    plt.xlabel('x轴')   # x轴重命名
    plt.ylabel('y轴')   # y轴重命名new_ticks = np.linspace(10,25,30)
    plt.xticks(new_ticks)   # 更新x轴的刻度
    plt.yticks([10,15,20],['intersting', r'$haha\ who$', r'$do\ \alpha\ it$'])
    # y轴刻度标注,字母r表示正则表达式;$$表示转换字体格式;\alpha表示α
    plt.show()
    
    • 确定坐标轴\移动坐标轴\更改边框颜色
    # gca = 'get currnet axis'
    ax = plt.gca()   # 获取轴
    ax.spines['right'].set_color('none')  # 图形的脊梁,就是四个边框
    ax.spines['top'].set_color('none')   # 去掉图形的顶部和右部的边框
    # 此时,图形还没有固定的坐标轴
    ax.xaxis.set_ticks_position('bottom')   # 设置下面的标尺为x轴
    ax.yaxis.set_ticks_position('left')   # 左边框标尺为y轴标尺ax.spines['bottom'].set_position(('data', -1))   # 设定底边(也就是横轴)在y轴的-1取值位置
    ax.spines['left'].set_position(('data', 0))   # data之外还有其他确定坐标轴位置的方式。比如axes是百分比
    plt.show()
    
    • legend图例
    plt.figure()
    l1, = plt.plot(x,y1, label='first')   # label = 图例名称
    l2, = plt.plot(x,y2, color= 'red', linewidth= 1,linestyle= '--', label= 'second')
    plt.legend(handles= [l1,],labels= ['noe', 'now'], loc= 'best')   # 需要这个命令才会显示图例,可以重新设置labels
    plt.show()
    exit()
    

    需要注意,只输入label参数并不会直接显示图例

    • annotation标注
    x0 = 1
    y0 = 2 * x0 + 1
    plt.scatter(x0, y0, s= 10, color= 'b')  # 画一个点。s:大小;b=blue
    plt.plot([x0,x0],[y0,0],'k--',lw= 2.5)   # 画一条虚线,两个点确定一条线,k表示黑色,lw线宽plt.annotate(r'$2x+1=%s$' % y0, xy= (x0,y0), xycoords='data', xytext=(+20,-26), textcoords= 'offset points', fontsize=10, arrowprops=dict(arrowstyle='->',connectionstyle='arc3,rad=.2'))
    # 正则表达式描述标注内容;xy标注坐标点;xycoords依据的坐标;xytext文本开始位置;textcoords文本坐标依据;fontsize文本大小;arrowprops标注线格式plt.text(-11,3,r'$this\ is\ the\ text\mu\ \sigma_i\ \alpha_t$', fontdict={'size': 10, 'color':'b'})plt.show()
    

    在这里插入图片描述

    • tick能见度

如果tick被线遮挡,可以通过调整能见度提升图形的呈现效果。

  • 各类图形

    • 散点图scatter官方文档
    matplotlib.pyplot.scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, verts=None, edgecolors=None, *, data=None, **kwargs)
    

    s:大小;c:颜色;alpha:透明度

    • 柱状图bar官方文档
    matplotlib.pyplot.bar(x, height, width=0.8, bottom=None, *, align='center', data=None, **kwargs)
    

    facecolor=’#9999ff’

    edgecolor=‘white’

  • 参考

  1. 十分钟入门Matplotlib(Python 科学计算系列的第一篇文章)
  2. 官网示例

.
.
.
2019-04-02 17:57:55

这篇关于量化交易回测可视化:matplotlib的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/861304

相关文章

Python数据分析与可视化的全面指南(从数据清洗到图表呈现)

《Python数据分析与可视化的全面指南(从数据清洗到图表呈现)》Python是数据分析与可视化领域中最受欢迎的编程语言之一,凭借其丰富的库和工具,Python能够帮助我们快速处理、分析数据并生成高质... 目录一、数据采集与初步探索二、数据清洗的七种武器1. 缺失值处理策略2. 异常值检测与修正3. 数据

使用Python和Matplotlib实现可视化字体轮廓(从路径数据到矢量图形)

《使用Python和Matplotlib实现可视化字体轮廓(从路径数据到矢量图形)》字体设计和矢量图形处理是编程中一个有趣且实用的领域,通过Python的matplotlib库,我们可以轻松将字体轮廓... 目录背景知识字体轮廓的表示实现步骤1. 安装依赖库2. 准备数据3. 解析路径指令4. 绘制图形关键

Python中OpenCV与Matplotlib的图像操作入门指南

《Python中OpenCV与Matplotlib的图像操作入门指南》:本文主要介绍Python中OpenCV与Matplotlib的图像操作指南,本文通过实例代码给大家介绍的非常详细,对大家的学... 目录一、环境准备二、图像的基本操作1. 图像读取、显示与保存 使用OpenCV操作2. 像素级操作3.

8种快速易用的Python Matplotlib数据可视化方法汇总(附源码)

《8种快速易用的PythonMatplotlib数据可视化方法汇总(附源码)》你是否曾经面对一堆复杂的数据,却不知道如何让它们变得直观易懂?别慌,Python的Matplotlib库是你数据可视化的... 目录引言1. 折线图(Line Plot)——趋势分析2. 柱状图(Bar Chart)——对比分析3

使用Vue-ECharts实现数据可视化图表功能

《使用Vue-ECharts实现数据可视化图表功能》在前端开发中,经常会遇到需要展示数据可视化的需求,比如柱状图、折线图、饼图等,这类需求不仅要求我们准确地将数据呈现出来,还需要兼顾美观与交互体验,所... 目录前言为什么选择 vue-ECharts?1. 基于 ECharts,功能强大2. 更符合 Vue

Git可视化管理工具(SourceTree)使用操作大全经典

《Git可视化管理工具(SourceTree)使用操作大全经典》本文详细介绍了SourceTree作为Git可视化管理工具的常用操作,包括连接远程仓库、添加SSH密钥、克隆仓库、设置默认项目目录、代码... 目录前言:连接Gitee or github,获取代码:在SourceTree中添加SSH密钥:Cl

Python使用Matplotlib绘制3D曲面图详解

《Python使用Matplotlib绘制3D曲面图详解》:本文主要介绍Python使用Matplotlib绘制3D曲面图,在Python中,使用Matplotlib库绘制3D曲面图可以通过mpl... 目录准备工作绘制简单的 3D 曲面图绘制 3D 曲面图添加线框和透明度控制图形视角Matplotlib

Pandas中统计汇总可视化函数plot()的使用

《Pandas中统计汇总可视化函数plot()的使用》Pandas提供了许多强大的数据处理和分析功能,其中plot()函数就是其可视化功能的一个重要组成部分,本文主要介绍了Pandas中统计汇总可视化... 目录一、plot()函数简介二、plot()函数的基本用法三、plot()函数的参数详解四、使用pl

使用Python实现矢量路径的压缩、解压与可视化

《使用Python实现矢量路径的压缩、解压与可视化》在图形设计和Web开发中,矢量路径数据的高效存储与传输至关重要,本文将通过一个Python示例,展示如何将复杂的矢量路径命令序列压缩为JSON格式,... 目录引言核心功能概述1. 路径命令解析2. 路径数据压缩3. 路径数据解压4. 可视化代码实现详解1

Python 交互式可视化的利器Bokeh的使用

《Python交互式可视化的利器Bokeh的使用》Bokeh是一个专注于Web端交互式数据可视化的Python库,本文主要介绍了Python交互式可视化的利器Bokeh的使用,具有一定的参考价值,感... 目录1. Bokeh 简介1.1 为什么选择 Bokeh1.2 安装与环境配置2. Bokeh 基础2