实战股票数据分析篇 Pandas滚动操作

Python中Pandas的rolling方法计算移动平均 方法来计算移动平均。移动平均是一种平滑时间序列的方法,通过计算在滑动窗口内数据点的平均值来减少噪音。方法计算了窗口大小为 3 的移动平均。最后,我们使用 Matplotlib 绘制了原始时间序列和移动平均的图表。:使用 Matplotlib 绘制原始时间序列和移动平均的图表,以便进行可视化比较。你可以根据自己的需求调整窗口大小以及其他参数,以获得适合你数据特点的移动平均效果。在这个例子中,我们生成了一个包含随机数据的时间序列,然后使用。在 Pandas 中,你可以使用。创建一个日期范围,然后使用。 阅读详情

6171112488fbf78d545e500001786141.png

(永久免费,扫码加入)

量化是一个庞大的学科体系,华尔街早在很多年前就有了一帮精英在研究,集合了数学,统计学,计算机和金融几大学科的知识,其中python目前是量化领域最通用的编程语言。

前面小编写了几篇关于股票量化的开胃菜,有粉丝同学私信我比较有兴趣,今天我们继续写,更多内容我们都看我们的小册:

我的小册:小白零基础用Python量化股票分析小册,原价199 早鸟价39(满100人涨10元)

今天我们来说说用pandas进行滚动操作,比如我们计算5日,10日,30日的均线类似这样的数学计算有很多,如果都通过for循环去遍历非常麻烦,而且耗时。Pandas自带了一种滚动操作叫rolling ,可以轻松搞定,我们一起来看一下吧。我们还是以五粮液的历史股票数据来演示。

1.打印出股票数据

db3c16cedac37bc10361490e0eb690c2.png

为了方便观察,我们只取3列 '股票名称','交易日期','收盘价'

7a5a01d431bf2125dca2fe368aed8a9d.png

2.什么是Pandas的rolling函数

在开始使用rolling 之前,我们先解释一下啥是rolling函数。在 pandas 中,rolling 函数是一个非常强大的工具,用于对数据序列执行滚动窗口计算。这意味着它可以在一个固定大小的窗口上应用函数,该窗口沿着数据索引移动。

rolling 函数常用于时间序列数据分析,以计算滑动平均、滑动标准差等统计指标。比如我们可以用来计算移动平均线,标准差,统计滑动窗口的最小值,最大值和中位数等等。

rolling 函数通常与聚合函数(如 sum、mean、std)结合使用。

3.计算3日移动平均线

比如我们用rolling 来计算移动平均线,非常简单。

6649faa67f0e850ac94c3eb538563aa2.png

rolling(window=3) 创建了一个大小为 3 的滚动窗口,然后 mean() 计算了每个窗口的平均值。

比如我们看第一行,第二行 moving_avg列都是NaN,原因是因为我们要计算3日的平均线,所以第一行,第二行肯定是空值,因为3天都不够啊。所以看到第三行的moving_avg 是有值的167.75 , 它等于(165.14+165.46+172.65 )/3 = 167.75

87bb940ca2370153fdee45930a8022fe.png

同理,第4行的3日均价就是第2行+第3行+第4行的收盘价的均值,所以我们可以非常方便地计算5日,10日均线。

04767223354cf14c74d338b7b068c630.png

看一下打印结果:

c063f544729acd23bcb3f5e24e1cd9a1.png

通过上面的计算,我们可以看到5日和10日的均线的价格在 8月7号是178.61和179.099 ,我们打开东方财富网上的K线来核对一下。

55b4698d088dcb3a3f67f635f7912310.png

核对一下确实是对的。

4.构建上下轨道,计算5日内最大值和最小值

除了上面的计算5日平均值,我们还可以计算5日最大值,最小值。有同学会问计算这个有啥用啊,这个可是非常有用,我们有很多策略都是跟通道有关,比如布林策略,Vagas通道,或者大名鼎鼎的江恩箱都是有类似计算。还有很多策略都用到类似的计算思想,只是有的用ATR计算,而不是直接用收盘价~~(这个我们会在群里讲)

就是某一段时间的最大值构建上轨,计算某一段时间的最小值,构建下轨。看股价是否有突破上下轨,从而判断是上升还是下降的趋势。

29d8a0937ac0a7ec8cf4144042affd41.png

看一下打印的结果:

92171ab00a08c7611410622fa98570d5.png

5.更强大的expanding函数

介绍完了rolling的使用,我们来介绍一个更强大的函数expanding。在 pandas 中,expanding 是用于执行累积或扩展窗口计算的函数。与 rolling 相比,expanding 提供的是一个单向扩大的窗口,即从序列的开始处到当前位置。这个功能非常适用于需要计算从开始到当前位置的累积指标时。一般我们用它来计算累计值,比如:

expanding 函数的主要用途包括:

累积求和:计算数据从开始到当前位置的累积总和。

累积平均:计算从开始到当前位置的平均值。

其他累积统计:如累积最小值、最大值、标准差等

与 rolling 类似,expanding 也通常与聚合函数(如 sum、mean、std)结合使用。

我们还是用上面的股票数据举例:

b9b638bac799c059ea18b949b74416c9.png

expanding() 创建了一个从序列开始到当前位置的窗口,然后 mean() 计算了每个窗口的平均值。

第2行的expanding_avg 就是计算第1行的收盘价+第2行的收盘价 的均值

第3行的expanding_avg 就是计算第1行的收盘价+第2行的收盘价++第3行的收盘价 的均值

9059cd8d0799996f65d8cfaf2011dfa8.png

第99行 也就是第100天的数据,我们可以看到收盘价是142.67 但是它的100天的收盘价的均值160.96 ,二者相差还是很大,说明背离了很多。但是还要结合成交量和其他指标来判断。

总结:

rolling 和expanding这个2个函数就是为量化而生的,对我们后面进行量化分析非常重要,必须要熟练掌握这2个函数的用法,好处多多。

如果想了解更多我们量化小册的内容,欢迎订阅:原价199 早鸟价39(满100人涨10元)。

5f8847ae2fddf907ec5a76030469b3c9.png

推荐阅读:
入门: 最全的零基础学Python的问题  | 零基础学了8个月的Python  | 实战项目 |学Python就是这条捷径

干货:爬取豆瓣短评,电影《后来的我们》 | 38年NBA最佳球员分析 |   从万众期待到口碑扑街!唐探3令人失望  | 笑看新倚天屠龙记 | 灯谜答题王 |用Python做个海量小姐姐素描图 |碟中谍这么火,我用机器学习做个迷你推荐系统电影

趣味:弹球游戏  | 九宫格  | 漂亮的花 | 两百行Python《天天酷跑》游戏!

AI: 会做诗的机器人 | 给图片上色 | 预测收入 | 碟中谍这么火,我用机器学习做个迷你推荐系统电影

小工具: Pdf转Word,轻松搞定表格和水印! | 一键把html网页保存为pdf!|  再见PDF提取收费! | 用90行代码打造最强PDF转换器,word、PPT、excel、markdown、html一键转换 | 制作一款钉钉低价机票提示器! |60行代码做了一个语音壁纸切换器天天看小姐姐!|

Pandas数据应用:股票数据分析 通过上述步骤,我们能够利用pandas有效地进行股票数据分析。当然,这只是一个简单的入门介绍,实际工作中还涉及到更复杂的模型构建、风险评估等内容。希望这篇博客能帮助大家更好地掌握pandas在股票数据分析领域的应用。 阅读详情

相关推荐

Pandas数据处理与可视化实战技巧

本文详细介绍了使用 Pandas 进行数据处理和可视化的多种方法,包括数据分组、重采样、聚合操作、交叉表、滚动计算、数据透视表、Z分数计算、多索引设置、数据合并、时间序列可视化、箱线图绘制、热力图展示以及事件标注等,涵盖了金融和地震数据的实际应用场景。

w8x9y0z1的博客 764

Python数据分析必备:Pandas中rolling方法的完全指南

除了内置的滚动函数,还可以使用apply方法来应用自定义函数进行滚动计算。能够执行任何你需要的操作。# 创建示例数据框# 创建rolling对象并应用自定义函数自定义函数可以根据具体需求执行各种滚动计算。下面是两个示例函数,分别用于计算滚动差值和百分比变化。计算滚动差值# 创建示例数据框# 创建rolling对象并应用自定义函数在这个示例中,使用diff方法来计算差值,然后将其应用到rolling对象上。计算滚动百分比变化# 创建示例数据框# 创建rolling对象并应用自定义函数。

weixin_68789096的博客 4174

Pandas时间序列操作实战

本文介绍了Pandas时间序列操作在金融数据分析中的核心应用,重点讲解了三大关键工具:时间索引、重采样和滚动窗口。文章首先阐述了金融时间序列分析面临的挑战,如时间尺度转换、动态指标计算等问题,并指出传统方法的局限性。随后详细讲解了Pandas的时间索引特性、重采样技术的时间粒度转换功能,以及滚动窗口的动态统计量计算方法。通过贵州茅台和宁德时代的股票数据实战案例,展示了如何将日线数据转换为周线/月线、计算移动平均线和滚动波动率等实用技术指标。这些方法能有效帮助投资者识别市场趋势、管理风险,并为量化策略提供可靠

u010376229的博客 933

pandas rolling方法_pandas窗口函数--rolling

在HQL中我经常使用开窗函数,后来做mysql(5.7)的数据处理,只能使用order等分组方式替代开窗函数。而pandas中带有各种移动窗口,它都是以rolling打头的函数,后接具体的函数,来显示该移动窗口函数的功能。总共有3+1类。主要有如下类:还有pandas.rolling_xx方法第一类 DataFrame的rollingdf.rolling(window, min_periods=N...

weixin_39645306的博客 3241

python pandas移动窗口函数rolling的用法

超级好用的移动窗口函数 最近经常使用移动窗口函数,觉得很方便,功能强大,代码简单,故将pandas中的移动窗口函数都做介绍。它都是以rolling打头的函数,后接具体的函数,来显示该移动窗口函数的功能。 rolling_count 计算各个窗口中非NA观测值的数量 函数 pandas.rolling_count(arg, window, freq=None, center=False, how=None) arg : DataFrame 或 numpy的ndarray 数组格式 window : 指移动窗口的大小,为整数 freq : center : 布尔型,默认为False, 指

矩形口径喇叭天线设计——参数设置

我们建立好矩形口径喇叭天线的模型后(模型建立可参考B站相关视频或者李明洋的《HFSS天线设计》),如何修改参数达到我们的指标呢?

m0_57263863的博客 1万+

Pandas的窗口函数rolling和expanding用法说明

pandas的rolling 固定窗口 和 expanding 扩展窗口 ,两个函数的常用方法和对比。

六月闻君 8028

泛微E9统一待办接口说明

需要第三方表单,在提交自己的流程后,通过【window.location.href=‘oa地址/workflow/request/ViewRequestOS.jsp?需要第三方表单,在提交自己的流程后,通过【window.location.href=‘oa地址/workflow/workflow/WfRefreshList.jsp’】通过中转页面与第三方系统对接,按照第三系统的验证方式开发中转页面中的程序。C)第三方根据相同的数据加密,结果一致就认证成功,打开流程。优点:可以灵活的对接各个系统。

泛微二次开发后端知识总结 6396

Pandas滑动窗口函数rolling()的使用方法(入门够用)

pandas中的rolling函数,这个函数可以被Series对象调用,也可以被DataFrame对象调用,这个函数主要是用来做移动计算的。 在时间序列中,还有另外一个比较重要的概念—滑动窗口。滑动窗口指的是根据指定的单位长度来框住时间序列,从而计算框内的统计指标。相当于一个长度指定的滑块在刻度尺上面滑动,每滑动一个单位即可反馈滑块内的数据。

嵌入式技术与人工智能 9576

汇编语言与USB量产工具开发解析

本文解析了汇编语言在USB量产工具开发中的应用。USB量产工具主要用于批量配置USB设备,包括固件烧录、格式化、信息写入等功能。汇编语言在底层硬件操作中发挥关键作用,如直接控制USB寄存器、编写驱动和精确时序控制。文章通过伪代码示例展示了USB控制器初始化和固件烧录流程,并强调硬件依赖性、安全机制和时序精度等注意事项。开发需严格遵循芯片手册,建议优先使用厂商SDK,避免设备损坏风险。

RulesChen的博客 1024

GitLab社区版vs企业版:本地部署性能对比与选型建议(含实测数据)

本文深入对比GitLab社区版(CE)与企业版(EE)在本地部署中的性能差异与功能特性,提供实测数据与选型建议。测试显示EE版在并发克隆、CI流水线启动等场景性能提升显著,尤其适合需要高级安全合规与CI/CD功能的团队。文章还包含硬件配置指南与成本效益分析,帮助技术决策者做出明智选择。

weixin_28828243的博客 295

Python中的Pandas库在股票数据分析中有哪些应用?

Pandas是一个开源的Python数据分析库,提供了高性能、易用的数据结构和数据分析工具。它的核心数据结构是DataFrame和Series,非常适合于表格数据的处理。强大的数据操作能力,包括数据清洗、转换和聚合。灵活的数据处理功能,可以轻松处理缺失数据、时间序列数据等。丰富的数据可视化支持,可以与Matplotlib等库结合使用,生成直观的图表。

股票量化的博客 664

QT实现计算器(C/C++)

digitClicked()槽函数用于处理数字按钮的点击事件,operatorClicked()槽函数用于处理运算符按钮的点击事件,equalsClicked()槽函数用于处理等号按钮的点击事件。在operatorClicked()槽函数中,我们获取被点击按钮的文本作为当前运算符,并将文本框中的内容转换为双精度浮点数,存储为操作数1。在上述代码中,我们添加了一个私有成员变量m_operand1,用于存储第一个操作数的值,以及一个私有成员变量m_currentOperator,用于存储当前运算符的值。

CyberNova的博客 385

《Pandas 时间序列:股票数据分析与可视化》

通过 Pandas 时间序列功能,我们可以高效处理股票数据:从数据加载和预处理,到计算收益率、移动平均等指标,再到可视化趋势和风险。使用管理时间索引。收益率公式 $r_t = \ln(P_t / P_{t-1})$ 确保分析稳定性。可视化工具(如 Matplotlib)帮助快速识别模式。实际应用中,可扩展至预测模型或风险管理。此方法适用于任何时间序列数据(如加密货币或经济指标)。如需进一步优化,可结合机器学习库(如 Scikit-learn)进行预测。

2501_93895791的博客 1952

Python分布式爬虫深度实战:反爬破解+数据清洗+性能优化全流程

分布式爬虫的核心是“调度中心化+执行分布式”,Scrapy-Redis是最易落地的框架,无需从零写调度逻辑;反爬破解要分级应对:基础反爬靠随机UA/限流,进阶反爬靠代理池,高级反爬靠第三方验证码API;数据清洗的关键是“批量处理+标准化”,避免内存溢出,核心字段去重和异常值过滤是必做步骤;性能优化不是单纯加节点,而是从架构(分片)、代码(批量写入)、服务器(索引/网络)三层协同优化,才能实现效率翻倍。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1200

出现 Error occurred during initialization of VMagent library failed Agent OnLoad 解决方法

ntelliJ IDEA启动时出现"Agent library failed to load"错误,主要原因是JVM代理加载失败。解决方法包括:1)完全卸载并删除用户目录下的JetBrains配置文件;2)检查并修改idea64.exe.vmoptions文件,确保路径正确并删除不必要的-javaagent参数;

码农研究僧的博客 2484

掌握Pandas数据分析:从零到精通的实战学习路径

你是否曾陷入这样的困境:看了无数Pandas教程,但面对真实数据时依然无从下手?教程教会你理论,但实践才能让你真正掌握数据分析技能。这正是pandas_exercises项目诞生的原因——一个专为实战而生的Pandas练习库,通过精心设计的练习体系,帮助你从"知道"到"做到"。 ## 为什么传统学习方式总是失败? 大多数数据分析学习者都会经历这样的循环:观看教程→感觉理解→面对真实数据→手足无

gitblog_00576的博客 920

扩散模型与强化学习(13):In-Context Reward Hacking现象与解决方案

奖励作弊(Reward Hacking)指智能体通过钻规则漏洞而非真正完成任务来最大化奖励信号。以论文编辑实验为例,研究提出“上下文奖励作弊”(ICRH)概念,即模型利用共享上下文钻空子,如盲目添加“正确!”或输出无关内容。实验发现,模型规模扩大可能加剧ICRH,且提示词优化难以根治。与传统奖励作弊不同,ICRH发生在部署阶段,由通用性驱动。应对建议包括多轮测试、多样化反馈及异常场景模拟,但尚无完美解决方案。

沉迷单车的追风少年 1319

AIPND Pandas实战:如何从谷歌苹果亚马逊股票数据中快速提取统计信息

想用 Pandas 分析真实股票数据,却不知从何下手?AIPND(AI Programming with Python Nanodegree Program,优达学城 AI 编程入门课程)就提供了一个教科书级的实战项目——**从谷歌(Google)、苹果(Apple)、亚马逊(Amazon)三家公司的股票数据中快速提取统计信息**。本项目所有数据均从 Yahoo Finance 下载并整理为 CS

gitblog_00945的博客 269

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

金融分析很简单,利用Python分析股票交易中的滚动Z值

在不断演变的股票交易领域,能够利用数据和统计学的力量提供重要的优势。无论是预测未来价格、分析市场趋势,还是简单地评估特定股票的波动性,数据驱动的见解已经改变了交易者对股市的处理方式。这就是Z值的用途,它是一种统计指标,可以为交易者提供有关股票的相对优势和定位的宝贵见解。想象一下,只需通过观察股票的历史价格和波动性,就能够简单地识别出股票何时可能被过度买入或卖出。这正是Z值可以提供的,本文将深入探讨如何利用Python(作为数据分析的强大工具)进行股票交易中的Z值计算和解读。

xiaoganbuaiuk的博客 1423

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Python金融数据分析实战:用pandas_datareader+Matplotlib玩转股票可视化

本文提供了一份Python金融数据分析实战指南,重点讲解如何使用pandas_datareader库获取股票信息,并结合Matplotlib进行专业的股票可视化分析。内容涵盖多数据源获取、数据清洗、收益率与波动率计算,以及从基础图表到K线图、相关性热图等高级可视化技巧,旨在帮助读者构建自动化分析报告。

o9p0q1的博客 228

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Pandas能计算股票Beta值吗?系统风险衡量!

记得十年前我刚入行时,计算Beta值还得用Excel手动处理,现在有了Pandas这样的工具,分析效率提升了几十倍。但工具终究是工具,关键是要建立正确的风险意识。如果你也想开始系统性地管理投资风险,不妨从我这里开个户。现在开户不仅能获得全套数据分析工具,还有专业投顾一对一教你使用这些方法。毕竟在股市里,先活下来才能谈赚钱,你说是不是?(风险提示:以上分析仅供参考,不构成投资建议。市场有风险,投资需谨慎。

wencaitouzi的博客 1227

Python 股票编程实战:如何利用代码实现精准的股票数据分析与预测?

利用Python开展股票编程实战,以代码实现股票数据分析与预测,帮助投资者更精准把握股票市场动态,进而做出合理决策。

股票程序化接口 727

第二篇【传奇开心果系列】Python的自动化办公库技术点案例示例:深度解读Pandas金融数据分析

当涉及金融数据分析时,Pandas 是一种非常流行的 Python 库,被广泛用于处理和分析结构化数据,特别是在金融领域。Pandas 是金融数据分析中的利器,它提供了丰富的功能和易用的接口,帮助金融机构和分析师高效地处理和分析金融数据,从而做出更准确的决策。以下是 Pandas 在金融数据分析中的一些常见用途和功能:金融数据清洗和准备:金融数据往往来自不同的来源,可能存在缺失值、异常值或格式不一致的情况。

jackchuanqi的博客 3013

Python数据分析三剑客:NumPy、Pandas与Matplotlib安装指南与实战入门

- **Python数据分析生态**:NumPy、Pandas、Matplotlib是数据科学领域的核心工具链。 - **适用场景**:数值计算、数据处理、可视化分析(如金融分析、机器学习、科研绘图)。 - **本文目标**:快速掌握三大库的安装方法、核心功能及基础实战应用。

🚀免费专栏:✅穿越之灵脉重构师:重启天元代码系列✅Python筑基系列✅创新语言开发系列✅代码故事茶馆✅AI筑梦工作站 1870

Pandas数据分析实战:从基础操作到商业应用

数据分析是现代商业决策的核心技术,而Pandas作为Python生态中最强大的数据分析库,通过其高效的向量化运算和灵活的数据结构(如Series和DataFrame),大幅提升了数据处理效率。在数据清洗环节,智能填充缺失值和异常值检测是关键技术,而数据合并与分组聚合则为复杂分析提供了基础。时间序列处理和性能优化(如类型优化和并行计算)进一步扩展了Pandas的应用场景。在电商用户行为分析和金融时间序列预测等商业案例中,Pandas展现了其强大的实战价值。结合可视化工具和扩展生态,Pandas能有效支持从数据

weixin_33806914的博客 378
上一篇: VSCode决定放弃Python3.7了!
下一篇: 量化股票第一步,用Python画股票K线,双均线图,可视化你的股票数据!
菜鸟学Python
博客等级 码龄9年 8062粉丝 571原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值