Python量化炒股的统计数据图

embedded/2024/9/22 20:53:53/

Python量化炒股的统计数据图

单只股票的收益统计图

查看单只股票的收盘价信息

单击聚宽JoinQuant量化炒股平台中的“策略研究/研究环境”命令,进入Jupyter Notebook的研究平台。然后单击“新建”按钮,创建Python3文件,输入如下代码如下:

python">import pandas as pd
import seaborn as sns
df = get_price('002465.XSHE', start_date='2024-04-18', end_date='2024-04-26', frequency='daily', fields=['close'])
print(df)

首先导入Pandas包和Seaborn包,然后利用get_price()函数获取海格通信2024-04-18~2024-04-26的收盘价信息,最后显示出来。单击工具栏运行按钮,快捷键(shift+enter),运行结果如下图:

Screenshot 2024-04-29 at 20.41.05

利用pct_change()函数计算收益率情况

假如投资者在2024年4月26日收盘价买进海格通信,那么每天的收益率情况如何呢?要计算每天的收益率,需要使用Dataframe的pct_change()函数。该函数用来计算百分数变化,语法格式如下:

python">pct_change(periods=1, fill_method='pad', limit=None, **kwargs)

各参数意义如下:

periods:用来设置计算百分数变化的周期,默认为1,即计算当前元素与先前元素的相差百分比。

fill_method:用来设置填充空值的方法,默认为pad,即空值填充为NaN。

limit:用来设置默认值。

该函数的返回值是Series或Dataframe。

利用代码查看海格通信每天的收益率百分数变化,具体如下:

python">myr = df.pct_change()
print(myr)

单击工具栏运行按钮,快捷键(shift+enter),运行结果如下图:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

由于这里pct_change()函数采用默认参数,所以计算的是每天的收益率百分数变化。需要注意的是,由于投资者在2024年4月18日以收盘价买进,所以这一天的收益是一个空值,默认填充为“NaN“。其后每个交易日的收益率百分数是如何计算的呢?(2024年4月19日的收盘价 - 2024年4月18日的收盘价)➗2024年4月18日的收盘价=(10.89-10.88)/10.89 = 0.0099999。

利用dropa()函数处理空值

在绘制收益统计图时,空值往往会导致绘制错误,所以在绘制之前,要进行处理。在这里利用dropna()函数来处理空值,即直接删除空值,具体代码如下:

python">myrs = df.dropna()
print(myr)

单击工具栏运行按钮,快捷键(shift+enter),运行结果如下图:

Screenshot 2024-04-29 at 21.04.13

利用distplot()函数绘制收益统计图

distplot()函数时Seaborn包中的函数,绘制直方图。语法格式如下:

python">distplot(a, bins=None, hist=True, kde=True, rug=False, fit=None, hist_kws=None, kde_kws=None, rug_kws=None, fit_kws=None, color=None, vertical=False, norm_hist=False, axlabel=None, label=None, ax=None)

绘制海格通信每天的收益统计图,代码如下:

python">sns.distplot(myrs.iloc[:,0])

绘制收益统计图的数据是,所有行,列为第一列。

单击工具栏运行按钮,快捷键(shift+enter),运行结果如下图:

Screenshot 2024-04-29 at 21.35.06

通过收益统计图,可以清楚的看到海格通信每天的收益率大数集中的范围。

编写代码,不显示直方图,只显示核密度估计,代码如下:

python">sns.distplot(myrs.iloc[:,0],hist=False,color='red')

单击工具栏运行按钮,快捷键(shift+enter),运行结果如下图:

Screenshot 2024-04-29 at 21.38.07

编写代码,只显示直方图,不显示核密度估计,具体代码如下:

python">sns.distplot(myrs.iloc[:,0], kde=False, color='green')

单击工具栏运行按钮,快捷键(shift+enter),运行结果如下图:

Screenshot 2024-04-29 at 21.39.29


http://www.ppmy.cn/embedded/35639.html

相关文章

vue如何在服务器端使用过滤器

Vue.js 是一个前端框架,主要用于构建用户界面。在 Vue.js 中,过滤器(filters)通常用于在模板中格式化文本。然而,过滤器在 Vue 3 中已经被移除,因为在 Vue 3 中更推荐使用计算属性(computed pro…

理解这些道理相当于在人生的航程上装备了一双智慧的翅膀

1. 走自己的路,因为只有你才能决定自己的命运。 2. 养育者亦会受反哺,掌灯人终会被照亮。 3. 如果心情不好,建议玩ARPG手机游戏[降龙猎手]放松自己,TapTap上就可以下载,不要 让不好的情绪一直持续下去,尽快…

Python根据预设txt生成“你画我猜”题目PPT(素拓活动小工具)

Python根据预设txt生成“你画我猜”题目PPT(素拓活动小工具) 场景来源 去年单位内部的一次素拓活动,分工负责策划设置其中的“你画我猜”环节,网络上搜集到题目文字后,想着如何快速做成对应一页一页的PPT。第一时间想…

leetcode-岛屿数量-99

题目要求 思路 1.使用广度优先遍历,将数组中所有为1的元素遍历一遍,遍历过程中使用递归,讲该元素的上下左右四个方向的元素值也置为0 2.统计一共执行过多少次,次数就是岛屿数量 代码实现 class Solution { public:int solve(vec…

ubuntu中的docker记录(3)——如何安装nvidia-docker以更好地支持GPU加速计算应用程序的运行

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、nvidia-docker2的安装1. 安装docker2. 安装nvidia-docker2(1) 添加密钥(2) 更新软件列表(3) 安装nvidia-docker2(4) 测试nvidia-docker2 二、可能的报错及解…

MySQL基础_4.排序与分页

文章目录 一、排序二、分页 一、排序 使用 ORDER BY 子句排序: ASC(ascend): 升序DESC(descend):降序 二、分页 MySQL中使用 LIMIT 实现分页,格式: LIMIT [位置偏移量,] 行数第一个“位置偏…

在uniapp里面使用 mp-html 并且开启 latex 功能

在uniapp里面使用 mp-html 并且开启 latex 功能 默认情况下 mp-html 是不会开启 latex 功能的, 如果需要开启 latex 功能是需要到代码操作拉取代码自行打包的。 这里说一下 mp-html 里面的 latex 功能是由 https://github.com/rojer95/katex-mini 提供的技术实现,…

【一步一步了解Java系列】:探索Java基本类型转换的秘密

看到这句话的时候证明:此刻你我都在努力~ 加油陌生人~ 个人主页: Gu Gu Study ​​ 专栏:一步一步了解Java 喜欢的一句话: 常常会回顾努力的自己,所以要为自己的努力留下足迹。 如果喜欢能否点个赞支持一下&#…