Python数据分析之股票数据

Python获取所有股票代码以及股票历史成交数据分析 一 、股票代码获取 最近入坑股市,摸爬滚打,只觉得自己长高了一茬,依旧是韭菜被无情收割呜呜呜呜,因此想了想弄个,所有股票的数据来看下资金动向,类似于龙虎板但是跨度大些。 从网上看了些资源发现并没有自己想要的,最好的一个也是多个文件拆分开的而且没有相应股票的代码,所以我弄了个EXCEL整合版本。 首先我们从http://quote.eastmoney.com/stock_list.html获取相应股票: 方法一: CTRL+C 以及CTRL+V 也就是我们常说的CV工程师,复制下到EXCEL然后进行下数据处理 阅读详情

最近股市比较火,我年月初上车了,现在已经下了。中间虽然吃了点肉,但下车的时候都亏进去了,最后连点汤都没喝着。

这篇文章我们就用python对股票数据做个简单的分析。数据集是从1999年到2016年上海证券交易所的1095只股票。

img

共1000个文件。

我们的分析思路大致如下:

  • 每年新发股票数
  • 目前市值最大的公司有哪些
  • 股票一段时间的涨跌幅如何
  • 牛市的时候,个股表现如何

首先导入模块

import pandas as pd
import numpy as np
import os
import seaborn as sns
import matplotlib.pyplot as plt
# 绘图显示中文
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
复制代码

用pandas读文件

file_list = os.listdir('./data/a-share/')

pieces = []
for file_name in file_list:
    path = './data/a-share/%s' % file_name
    file = pd.read_csv(path, encoding ='gb2312')
    pieces.append(file)
    
shares = pd.concat(pieces)
复制代码

使用read_csv读文件的时候需要指定文件编码encoding ='gb2312'。将各个文件的DataFrame合并后,将索引重置一下,并预览一下数据

shares.reset_index(inplace=True, drop=True)
shares.head()
复制代码

img

这里我们最关注的列是日期、代码、简称、收盘价。

按照分析思路,我们首先来看看上市公司的总数

len(shares['代码'].unique())
复制代码

对股票代码去重、计数可以看到一共有1095家上市公司。那我们再看看每年新增的上市公司有多少家

# 计算每只股票的最早交易时间(即:上市时间)
shares_min_date = shares.groupby('简称').agg({'日期':'min'})
shares_min_date['上市年份'] = shares_min_date['日期'].apply(lambda x: str(x)[:4])

# 每年上市公司的数量
shares_min_date.groupby('上市年份').count().plot()
复制代码

img

可以看到,多的时候每年60-80家,而05年-13年这段时间上市后的公司特别少,尤其是13年只有1家,原因是13年暂停了IPO。

下面我们再来看看数据集中最新的时间点(2016-06-08),市值较大的公司有哪些

shares_market_value = shares[shares['日期'] == '2016-06-08'][['简称', '总市值(元)']].sort_values(by='总市值(元)', ascending=False)

# 市值最大的公司 top10
tmp_df = shares_market_value.head(10)

# 画图
sns.barplot(x=tmp_df['总市值(元)'], y=tmp_df['简称'])
复制代码

img

截至16年6月8号,工商银行(爱存不存)的市值最高1.5万亿,不愧是宇宙第一大行。并且能发现市值前十的公司大部分是银行。

下面再来看看,从11.06.09 - 16.06.085年时间里个股涨跌情况。起点选11.06.09的原因是这一天包含了900左右只股票,样本较大。然后,我们抽取这两天股票的收盘价,计算涨跌幅

shares_110609 = shares[shares['日期'] == '2011-06-09'][['代码', '简称', '收盘价(元)']]
shares_160609 = shares[shares['日期'] == '2016-06-08'][['代码', '收盘价(元)']]

# 按照股票代码将2天数据关联
shares_price = shares_110609.merge(shares_160609, on='代码')
shares_price
复制代码

img

一共有879只股票

# 多少家股票是上涨的
shares_price[shares_price['涨跌幅(%)'] > 0].count()
复制代码

img

# 多少家股票是上涨的
shares_price[shares_price['涨跌幅(%)'] < 0].count()
复制代码

img

可以看到,上涨的股票627只,占比71%。那我们再来看看,上涨的股票,涨幅分布情况

bins = np.array([0, 40, 70, 100, 1700])
# 股价上涨的公司
shares_up = shares_price[shares_price['涨跌幅(%)'] > 0]
# 按涨幅进行分组
shares_up['label'] = pd.cut(shares_up['涨跌幅(%)'], bins)
# 分组统计
up_label_count = shares_up[['label', '代码']].groupby('label').count()
up_label_count['占比'] = up_label_count['代码'] / up_label_count.sum().values
sns.barplot(x=up_label_count['占比'], y=up_label_count.index)
复制代码

img

涨幅分布还是比较极端的,虽然上涨的股票总体比较高,但上涨的股票中有30%只股票涨幅不足40%,也就是平均一年涨8%,如果理财年收益10%算及格的话,8%明显偏低了。再加上跌的股票,收益率低于10%的股票大于50%,所以股市的钱也不是那么好挣的。

当然也有踩狗屎运的时候,比如买到了下面这些股票并且长期持有

# 涨幅最大的公司
tmp_df = shares_up.sort_values(by='涨跌幅(%)', ascending=False)[:8]
sns.barplot(y=tmp_df['简称'], x=tmp_df['涨跌幅(%)'])
复制代码

img

像金证股份持有5年后可以翻16倍。

同样的方式,我们可以看看股票跌幅分布

img

因为代码类似,这里就不贴了。从数据上将近70%的股票5年后跌幅在0-40%的区间。

最后一个有意思的数据,我们看看牛市的时候个股涨跌是怎么样的。我们选择14.06.30和15.06.08这两天个股的涨跌情况。分析思路跟上面类似,我就直接说数据了。

牛市期间99.6%的股票都是涨的,也就是说个股基本都在上涨。来看看涨幅分布

img

可以看到,86%只股票翻了一番,所以牛市来了,基本上闭着眼选股都能挣钱。也不知道这种大牛市什么时候能再来一次,当然了,牛市来了能不能把握住是个大问题。

我的分析就到这里了,其实分析有意思的数据还有很多,比如结合一些市盈率等其他维度进行分析,有兴趣的朋友可以自行探索,我觉得还有一个更有挑战性的分析是预测个股的走势,虽然实践上不可行,但从学习角度来看还是挺值得研究的,如果大家点赞较多,我下周考虑写一下。

数据和源码我已经打包, 源码放在百度云盘上了需要可以微信扫描下方优快云官方认证二维码免费领取

👉[[优快云大礼包:《python安装包&全套学习资料》免费分享]](安全链接,放心点击)

Python进行股票分析 Python进行股票分析 1.准备工作 可以结合视频进行学习,视频链接:视频 2.工具以及所需库 jupyter notebook tushare、pandas、numpy、matplotlib 3.库的安装 打开anaconda prompt命令框输入以下命令: conda install pandas conda install numpy conda install matplotlib conda install tushare 4.项目介绍 需求:股票分析 使用tu 阅读详情

相关推荐

Python量化交易实战:获取股票数据并做分析处理

量化交易(也称自动化交易)是一种应用数学模型帮助投资者进行判断,并且根据计算机程序发送的指令进行交易的投资方式,它极大地减少了投资者情绪波动的影响。

m0_72557783的博客 1万+

如何用Python进行股票预测,数据分析带你从小白开始

我们写这个文章并不是鼓励大家去入市,小编本人也不买股票。我们只是在探索Python在股票分析和预测上面能发挥什么样的作用!对于和数据打交道的数据科学家来说,预测证券市场走势远比炒股本身来得更有趣。他们这样做的目的很大程度上不是为了获取物质回报,而是挑战自己!那么在这个起起伏伏,众多因素叠加的证券市场是否存在一种模型可以学习既定的模式至少让我们可以比那些商科毕业的操盘手厉害呢。言归正传,做数据分析的流程都差不多:数据集的获取和加工、模型的选择和调参、算法编写。

qq_46094651的博客 1万+

Python数据分析实战之股票数据

最近股市比较火。我们就利用这篇文章简单介绍下用 python 对股票数据做个简单的分析。数据集是从1999年到2016年上海证券交易所的1095只股票。 共1000个文件。 我们的分析思路大致如下: 每年新发股票数 目前市值最大的公司有哪些 股票一段时间的涨跌幅如何 牛市的时候,个股表现如何 首先导入模块 import pandas as pd import numpy as np import os import seaborn as sns import matplotlib.pyplot as p

WhyLW的博客 2613

用python做股票数据分析

本文我们一起用python来对某只股票的所有历史日数据,做一个探索性的分析,看看能不能有一些有趣的发现,希望能激起你对金融数据分析的兴趣。主要用到numpy,pandas模块的一些基本用法。本文的所有数据,包含所有A股的日数据,在文末有下载。

WANGJUNAIJIAO的博客 4333

Python数据分析:股票数据

最近股市比较火,我7月初上车了,现在已经下了。中间虽然吃了点肉,但下车的时候都亏进去了,最后连点汤都没喝着。 这篇文章我们就用它python 对股票数据做个简单的分析。数据集是从1999年到2016年上海证券交易所的1095只股票。 共1000个文件。 我们的分析思路大致如下: 每年新发股票数 目前市值最大的公司有哪些 股票一段时间的涨跌幅如何 牛市的时候,个股表现如何 首先导入模块 import pandas as pd import numpy as np import os import seab.

weixin_48137995的博客 2617

Python大数据分析实战:股票数据清洗、可视化与策略回测全解析

数据分析是数字化时代的核心技能,Python数据分析以其强大的生态成为处理金融数据的首选。数据科学的共性方法论——从数据获取、清洗到指标计算——在股票市场分析等场景中有着广泛应用。利用pandas清洗与处理股票行情数据,通过SQLite实现本地存储,再结合可视化与量化回测,可以完整验证交易策略的有效性。基于真实项目经验,拆解从股票数据获取到策略回测的五个关键环节,提供可运行的代码与踩坑记录,为希望进入金融数据分析领域的开发者提供可复制的实战路径。

weixin_29047545的博客 219

[Python]案例驱动最佳入门:股票分析 Python数据分析与可视化实战

在股票市场中,价格波动和投资决策紧密相连。通过数据分析,投资者可以识别市场趋势、价格波动背后的规律,并做出明智的投资决策。Python凭借其强大的数据处理和可视化功能,在金融市场分析中被广泛应用。本文将通过一个假设的股票市场数据集,结合Python代码,展示如何从历史数据中提取有用的信息并生成直观的可视化图表。

William数据分析的博客 7067

【FPGA的基础快速入门23--------OV5640摄像头VGA显示】

FPGA的基础学习--------OV5640摄像头VGA显示OV5640简介二级目录三级目录 OV5640简介 OV5640同OV7725一样,都是Omni Vision(豪威科技)公司生产的CMOS图像传感器。 OV5640支持更高的分辨率(500W像素)、采集速率,具有更高的图像处理性能,主要应用在手机、数码相机、电脑多媒体等领域。 OV5640支持LED补光、MIPI(移动产业处理器接口)输出接口和DVP(数字视频并行)输出接口选择、ISP(图像信号处理)以及AFC (自动聚焦控制)等功能。 OV

暮雨中的坚果的博客 7688

python股票数据分析_用Python浅析股票数据

本文将使用Python来可视化股票数据,比如绘制K线图,并且探究各项指标的含义和关系,最后使用移动平均线方法初探投资策略。数据导入这里将股票数据存储在stockData.txt文本文件中,我们使用pandas.read_table()函数将文件数据读入成DataFrame格式。其中参数usecols=range(15)限制只读取前15列数据,parse_dates=[0]表示将第一列数据解析成时间...

weixin_39808893的博客 1200

MATLAB基础应用精讲-【数模应用】PPO算法(附python代码实现)(二)

表示为状态转移概率和动作选择概率的乘积,因为状态和动作决定轨迹。

qq_36130719的博客 413

ABAP Bits and Bytes 完全参考,理解内存、字节、位运算与类型解释

ABAP开发中业务代码与底层字节处理的差异:业务层关注采购订单、会计凭证等语义信息,而接口开发需处理十六进制、位运算等底层操作。文章通过整数变量示例说明同一段字节在不同类型解释下会呈现不同值,并介绍x类型、位运算及类型转换的实际应用。这些知识在文件接口、加密传输等场景中尤为重要,开发者需注意字节序、编码等问题。建议将底层协议处理与业务逻辑分离,以保持代码清晰和可维护性。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 142

python国内股票数据分析_Python数据分析:股票数据

最近股市比较火,我7月初上车了,现在已经下了。中间虽然吃了点肉,但下车的时候都亏进去了,最后连点汤都没喝着。这篇文章我们就用它python 对股票数据做个简单的分析。数据集是从1999年到2016年上海证券交易所的1095只股票。共1000个文件。我们的分析思路大致如下:每年新发股票数目前市值最大的公司有哪些股票一段时间的涨跌幅如何牛市的时候,个股表现如何首先导入模块import pandas a...

weixin_39573535的博客 268

【深度学习新浪潮】Nano Banana(Gemini 2.5 Flash Image)技术解析与开发者实操指南

重新定义了 AI 图像生成的产业标准。它不仅是“平民化的视觉工厂”,更是推动内容生产从“创意试错”转向“精准制造”的关键工具。未来,随着视频生成能力的加入(谷歌计划支持“文字指令 - 动态场景 - 多平台适配”全流程),Nano Banana 有望进一步颠覆影视、广告等领域的创作范式。:批量生成多场景图,模特姿态自然,服装褶皱和材质细节高度一致,节省 90% 拍摄成本。模型的非正式代号,是一款革命性的 AI 图像生成与编辑工具,主打。:生成细节丰富的厨师特写,光影自然,皮肤纹理和刀具反光逼真。

专注:太空算力、AI infra、异构调度、大模型成本工程 889

Python 金融数据分析 (一)—— 股票数据

1. tushare 库tushare 的官网请见:TuShare -财经数据接口包,是国人自己开发的 Python 爬数据工具(所谓的爬,自然就是在线连网获取数据),囊括股票、期货、宏观经济、电影票房等数据。 安装pip install tushare tushare 功能概览: 2. 代码实战比如我们要查看海康威视(002415)的最近几天的历史股价:>> import tushare >

9951

链接文件及功能安全:Hightec如何将Flash驱动放进RAM

Fls本身是无法操作自身的,犯冲突。Fls_WriteCmdCycles (预留300字节)与 Fls_EraseCmdCycles(预留200字节) 函数在执行之前将会Copy进RAM,Fls本身是不能操作Fls本身的,除非把最底层的驱动函数防止在RAM或者其他的Flash里面,假设Flash放置在PF0可以操作PF1。英飞凌的驱动有个规定写指令预留300字节,擦除指令预留200字节。

梦想技术家 2142

化工管道设计软件:CAESAR II二次开发_(6).API接口与函数库

自定义函数库是开发者根据特定需求编写的函数集合。这些函数可以扩展CAESAR II的功能,实现更复杂的管道设计任务。自定义函数库通常需要开发者具备一定的编程基础,能够理解和编写与CAESAR II接口兼容的代码。定义函数:在Python或其他编程语言中定义所需的函数。注册函数:将自定义函数注册到CAESAR II的函数库中。调用函数:在CAESAR II中调用自定义函数,实现特定功能。假设我们需要创建一个自定义函数库,用于批量修改管道节点的坐标。定义函数:在Python中定义一个函数,用于批量修改节点坐标。

kkchenjj的博客 1728

python分析股票数据 彤_Python数据分析:股票数据

最近股市比较火,我7月初上车了,现在已经下了。中间虽然吃了点肉,但下车的时候都亏进去了,最后连点汤都没喝着。这篇文章我们就用它python 对股票数据做个简单的分析。数据集是从1999年到2016年上海证券交易所的1095只股票。共1000个文件。我们的分析思路大致如下:每年新发股票数目前市值最大的公司有哪些股票一段时间的涨跌幅如何牛市的时候,个股表现如何首先导入模块import pandas a...

weixin_39531761的博客 186

Python与ArcGIS系列(二)获取地图文档

在ArcPy中,要引用当前的地图文档(Map Document),可以使用 mapping 模块中的 MapDocument 类。值得注意的是,在arcgis内部python窗口运行该代码才能访问已加载进arcgis的文档,如果通过其他idle则无法访问。要引用磁盘上的地图文档并对其进行一些设置,同样可以使用ArcPy中的 mapping 模块和 MapDocument 类。对于我们平常的工作,接触最多的就是图层数据处理,获取图层后就可以方便地进行下一步处理。

weixin_43894929的博客 2200

分析股票大数据_Python数据分析:股票数据

最近股市比较火,我7月初上车了,现在已经下了。中间虽然吃了点肉,但下车的时候都亏进去了,最后连点汤都没喝着。这篇文章我们就用它python 对股票数据做个简单的分析。数据集是从1999年到2016年上海证券交易所的1095只股票。共1000个文件。我们的分析思路大致如下:每年新发股票数目前市值最大的公司有哪些股票一段时间的涨跌幅如何牛市的时候,个股表现如何首先导入模块import pandas a...

weixin_29303701的博客 3065

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Python金融数据分析入门到实战

Python金融数据分析入门到实战 去发现同类优质开源项目:https://gitcode.com/ 简介 《Python金融数据分析入门到实战》课程,旨在帮助有志于使用Python进行金融数据分析和股票量化交易的学习者,快速掌握Python在金融行业中的应用。课程内容从基础的Python语法,到金融数据分析的实际应用,深入浅出地讲解了如何运用Python进行股票量化交易。 课程内容 股票数据的...

gitblog_06793的博客 837

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Python金融数据分析入门到实战:开启量化交易的钥匙

Python金融数据分析入门到实战:开启量化交易的钥匙 去发现同类优质开源项目:https://gitcode.com/ 项目介绍 在金融领域,数据分析是一项核心能力,而Python作为一种高效、易用的编程语言,已经成为金融数据分析的主要工具。《Python金融数据分析入门到实战》旨在为零基础的学习者提供一条从入门到实战的学习路径,帮助他们在金融领域掌握Python应用,特别是股票量化交易。 项目...

gitblog_06792的博客 963

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Python自动化炒股:使用Streamlit和Heroku部署股票数据分析仪表盘的详细指南

通过本文,你已经学会了如何使用Python、Streamlit和Heroku来创建并部署一个股票数据分析仪表盘。这只是一个起点,你可以根据需要进一步扩展和定制你的应用。自动化炒股是一个不断发展的领域,掌握这些技能将帮助你在这个领域中保持竞争力。

云策量化的博客 580
上一篇: 程序员兼职接私活平台大全,兼职也能月薪上万
下一篇: 快速入门 Python 数据分析实用指南
智泊AI官方
博客等级 码龄6年 8638粉丝 2667原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值