Python可视化在量化交易中的应用(17)_Seaborn核密度曲线图

news2024/11/15 10:52:47

Seaborn中核密度图的绘制方法

seaborn中绘制核密度图使用的是sns.kdeplot()函数:
sns.kdeplot(x,y,shade,vertical,kernel,bw,gridsize=200,cut=3,clip,legend,cumulative,shade_lowest,cbar,cbar_ax,cbar_kws,ax,weights,hue,palette,hue_order,hue_norm,multiple=‘layer’,common_norm,common_grid,levels=10,thresh=0.05,bw_method=‘scott’,bw_adjust=1,log_scale,color,fill,data,data2,**kwargs,)

关键参数说明:

x:用于绘制核密度估计图的一维数据,可以是列表、数组或Series。
y:用于绘制二维核密度估计图的第二维数据,可以是列表、数组或Series。
shade:指定是否填充核密度曲线下的区域,默认为True。
vertical:指定是否绘制垂直核密度估计图,默认为False。
kernel:指定核函数的类型,默认为’gau’,即高斯核函数。
bw:指定核密度估计的带宽。可以是标量,也可以是一个字符串,用于选择自动确定带宽的方法。
gridsize:指定绘制核密度估计图时的网格大小,默认为200。
cut:指定在绘制二维核密度估计图时剪切数据的值,默认为3。
clip:指定是否对估计的密度进行裁剪,默认为False。
legend:指定是否显示图例,默认为False。
cumulative:指定是否绘制累积密度函数图,默认为False。
shade_lowest:指定是否填充最低密度区域,默认为False。
cbar:指定是否显示颜色条,默认为False。
cbar_ax:指定颜色条的轴对象。
cbar_kws:传递给颜色条绘图函数的其他关键字参数。
ax:指定绘图的轴对象。
weights:指定数据点的权重。
hue:用于对数据进行分组的变量名,根据该变量的不同取值,会以不同的颜色显示在图中。

palette:用于指定颜色调色板的名称或颜色列表。
hue_order:用于指定hue变量取值的顺序。
hue_norm:用于对hue变量进行归一化的对象。
multiple:指定多个核密度估计图的绘制方式,默认为’layer’,表示在同一轴上绘制多个核密度估计图。
common_norm:指定是否使用共同的密度估计规范,默认为False。
common_grid:指定是否使用共同的网格规范,默认为False。
levels:指定绘制等高线的数量,默认为10。
thresh:指定绘制等高线时的阈值,默认为0.05。
bw_method:指定带宽选择方法的名称或标量,默认为’scott’。
bw_adjust:指定带宽的调整因子,默认为1。
log_scale:指定是否使用对数刻度,默认为False。
color:指定绘图的颜色。
fill:指定是否填充核密度曲线下的区域,默认为True。
data:用于绘图的数据集,可以是DataFrame或数组。
data2:用于绘制二维核密度估计图的第二个数据集,可以是DataFrame或数组。
**kwargs:其他可选参数,用于传递给底层绘图函数。

案例展示:

使用seaborn绘制平安银行股票交易开盘价、收盘价、最高价、最低价的核密度图形。通过观察核密度图形,可以帮助投资者了解价格或收益等数据的分布情况,有助于了解数据的中心趋势、峰度和偏度等统计特征,以及是否存在异常值或离群点,为投资决策提供依据。
代码如下:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties
# 设置为默认字体
plt.rcParams['font.family'] = 'SimHei'
# 显示负数
plt.rcParams['axes.unicode_minus'] = False

# 导入数据
df = pd.read_excel("2023年一季度A股日线行情.xlsx")

# 将日期列转化为日期格式
df["trade_date"] = df["trade_date"].astype("str").apply(lambda x:x[:4]+"-"+x[4:6]+"-"+x[6:])
# 将日期列转换为日期类型,并设置为索引列
df['trade_date'] = pd.to_datetime(df['trade_date'])
df.set_index('trade_date', inplace=True)

# 筛选2023年3月的行情数据
start_date = '2023-03-01'
end_date = '2023-03-31'
df = df.loc[start_date:end_date]

# 筛选中国平安的3月股票交易数据
stock = df[df['ts_code']=='000001.SZ']

# 筛选出开盘价、收盘价、最高价、最低价
stock = stock[['open','close','high','low']]

# 设置图形大小
fig, ax = plt.subplots(figsize=(10, 6))
# 绘制核密度曲线图
sns.kdeplot(data=stock, ax=ax, fill='coolwarm', shade=True)
plt.xlabel('Price') 
# 设置y轴标签
plt.ylabel('Frequency')  
# 设置图标题
plt.title('Stock Price Fluctuation')  
# 显示图形
plt.show()  

代码运行效果如下图所示:
在这里插入图片描述

图5.3.9 开盘价、收盘价、最高价、最低价核密度图形展示
同时,我们也可以使用核密度图形观察特征值与特征值之间的分布情况,比如,可以分别观察开盘价与收盘价、最高价与最低价之间的关系。
在上述代码的基础上补充以下代码:

# 创建一个2x2的子图布局
fig, ax = plt.subplots(1, 2, figsize=(10, 5))

# 使用Seaborn绘制等高线图
sns.kdeplot(stock['open'],stock['close'], shade=True,fill = True, ax = ax[0])
sns.kdeplot(stock['high'],stock['low'], shade=True,fill = True, ax = ax[1])

# 显示图形
plt.show()

代码运行效果如下图所示:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/907437.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

做好产品设计应遵循的5大原则

产品设计原则是产品设计需遵循的基础规则,如果没有遵循设计原则,直接进行产品设计,往往会造成产品设计不稳定、冗杂,不能真正满足用户需求,这为项目带来较大风险,影响项目顺利交付。 一般来说,做…

【实用工具】ScreenToGif 制作GIF

1、介绍 官方地址 ScreenToGif是一款优秀的录屏软件,可将屏幕上的软件操作、会议视频、视频聊天等录制为GIF或MP4格式的文件。 ScreenToGif的启动界面包含屏幕录像机、电脑摄像头录制、画板录制和编辑器4个功能。启动录像机功能后,会有一个录制窗口&am…

【Axure高保真原型】通过输入框动态控制折线图

今天和大家分享通过输入框动态控制折线图的原型模板,在输入框里维护项目数据,可以自动生成对应的折线图,鼠标移入对应折点,可以查看对应数据。使用也非常方便,只需要修改输入框里的数据,或者复制粘贴文本&a…

Docker容器与虚拟化技术:Docker-Compose

目录 一、理论 1.Docker-Compose 二、实验 1. Docker Compose 安装部署 2.Docker Compose撰写nginx 镜像 3.Docker Compose撰写tomcat 镜像 三、问题 1.Docker Compose 和 Dockerfile 的区别 四、总结 一、理论 1.Docker-Compose (1)使用场景…

【Linux】进程间通信之信号机制2

文章目录 信号阻塞代码验证验证信号的阻塞验证信号的阻塞不影响信号注册验证可靠信号不会丢信号,不可靠信号会丢信号验证9号和19号信号不能被阻塞 用信号解决僵尸进程volatile关键字 信号阻塞代码验证 在上篇详解信号机制的博文中,我们提到了设置阻塞位…

RISC-V公测平台发布 · 数据库在RISC-V服务器上的适配评估

前言 上一期讲到YCSB在RISC-V服务器上对MySQL进行性能测试(RISC-V公测平台发布 使用YCSB测试SG2042上的MySQL性能),在这一期文章中,我们继续深入讨论RISC-V数据库的应用。本期就继续利用HS-2平台来测试数据库软件在RISC-V服务器…

基于PaddlePaddle实现的声纹识别系统

前言 本项目使用了EcapaTdnn、ResNetSE、ERes2Net、CAM等多种先进的声纹识别模型,不排除以后会支持更多模型,同时本项目也支持了MelSpectrogram、Spectrogram、MFCC、Fbank等多种数据预处理方法,使用了ArcFace Loss,ArcFace loss…

❤echarts折线图完整使用及详细配置参数

❤echarts折线图完整使用及详细配置参数 进入echarts官网 查看案例,下面说说一些echarts图的调节 一、配置echarts具体参数 01 基础版本的折线图 option {xAxis: {type: category,data: [Mon, Tue, Wed, Thu, Fri, Sat, Sun]},yAxis: {type: value},series: [{data…

Charles通过逍遥模拟器抓包APP,亲测可用

1.设置http代理. Proxy-->Proxy settings 2.设置ssl proxy-->ssl proxying settings 3.Charles安装证书 弹出证书安装界面,点击"安装证书" 选择当前用户, 选择: 将所有的证书都放入下列存储: 直接下一步,最后确定提示"导入成功" 4.接着设置Charles安…

年薪47500美元|眼科硕士赴弗吉尼亚大学从事博士后研究

K医生只有医学硕士学位,起初只考虑申请访问学者,最终我们为其争取到“Post-Doctoral Research Associate”(博士后研究助理)职位,年薪47500美元,大大超出了本人的预期。 K医生背景: 申请类型&a…

提升管班小诀窍

在传统教育中,将考试结果告知家长一直是一项相对麻烦的任务。老师们不得不一个一个的打电话或发短信,耗费大量时间和精力。然而,现在有了易查分,老师们可以轻松地创建自己的成绩查询系统,大大简化了这项任务。 好消息&…

iOS代码混淆

文章目录 一、混淆的原理二、实现混淆1. 创建文件2. 将文件拖导入目录中3. 将以下脚本拷贝到刚新建的confuse.sh文件中4. 修改文件权限5. 修改项目配置6. 添加需要混淆的方法名7. 配置PCH文件8. 运行效果 一、混淆的原理 这里使用的混淆的原理是,用一串随机生成的字…

百华劳保|听厂家聊聊如何检测防水劳保鞋?

说起防水劳保鞋大家可能并不陌生,在有积水或水利工程这些工作场景中使用,是防止水渗透鞋子的安全防护鞋。许多企业会为员工发放防水劳保鞋,在采购时一般都需要进行防水测试,提供相对应的检测报告。今天百华小编与大家聊聊都是如何…

毛利率下滑至负数,但小鹏汽车仍有信心

KlipC报道:8月18日周五,港股盘后美股盘前,小鹏汽车公布截至2023年6月30日的二季度业绩,据数据显示本季度小鹏营收50.6亿人民币,略超预期。但受G3i的存货减值及存货购买合约损失拖累,毛利率下滑至-3.9&#…

vellum (Discovering Houdini VellumⅡ柔体系统)学习笔记

视频地址: https://www.bilibili.com/video/BV1ve411u7nE?p3&spm_id_frompageDriver&vd_source044ee2998086c02fedb124921a28c963(搬运) 个人笔记如有错误欢迎指正;希望可以节省你的学习时间 ~享受艺术 干杯&#x1f37b…

一“码”当先,PR大征集!2023 和RT-Thread一起赋能开源!

活动地址:https://club.rt-thread.org/ask/article/3c7cf7345ca47a18.html 活动介绍 「一“码”当先,PR大征集!」是一项为了鼓励开发者积极参与开源软件开发维护的活动。 你可在Github RT-Thread( https://github.com/RT-Thread …

学习ts(五)类

定义 是面向对象程序设计(OOP)实现信息封装的基础 类是一种用户定义的引用数据类型,也称类类型 JavaScript的class,虽然本质是构造函数,但是使用起来已经方便了许多,js中没有加入修饰符和抽象类等特性 ts的class支持面…

飞机打方块(五)游戏音乐

一、新建节点 1.在Start场景中新建Music节点,绑定canvas 2.在Game场景中新建Music节点 3.新建节点 4.新建Music脚本,绑定Canvas Music.ts const { ccclass, property } cc._decorator;ccclass export default class NewClass extends cc.Component {p…

【静态时序分析STA(邸志雄)/2023年8月20日】

内容:TCL语言(PT),静态时序分析基础(工艺库、STA环境、时序检查方法、多时钟等特殊时序分析),SDC(tcl设计约束) CTS:clock tree systhesis Tsu建立时间/Th保…