当前位置: 首页 > news >正文

Python数据分析-股票分析和可视化(深证指数)

一、内容简介

股市指数作为衡量股市整体表现的重要工具,不仅反映了市场的即时状态,也提供了经济健康状况的关键信号。在全球经济体系中,股市指数被广泛用于预测经济活动,评估投资环境,以及制定财政和货币政策。在中国,深证指数作为深圳证券交易所的主要指数之一,它包含了深市的所有上市公司,因此能够全面地反映中国改革开放后经济发展的成果以及区域经济的活跃度。通过分析深证指数,可以得到中国经济特别是南方经济的宏观走向,这对投资者和政策制定者而言具有重要意义。

本项目采用了2022年的深证指数数据,主要目的是通过数据分析工具对该数据集进行深入分析和可视化。

二、问题讨论

数据清洗与预处理

数据加载:首先,使用Pandas的read_csv函数加载CSV格式的数据文件。

日期格式转换:将trade_date列中的日期字符串转换为Pandas的datetime对象,这是时间序列分析的重要步骤,因为它允许使用日期作为索引进行高效操作。

缺失值处理:检查数据中是否存在缺失值,如果存在,使用前向填充法(ffill)。这种方法假设数据的连续性,即前一个时间点的观察可以代替缺失值。

读取数据

数据和代码

报告代码数据

# 加载数据
file_path = 'sz_index_2022.csv'  
if os.path.exists(file_path):df = pd.read_csv(file_path)
else:sys.exit("File not found.")  

 

描述性统计分析

这些描述性统计结果展示了242个观测值的金融指标总结。具体来说,收盘价的平均值为11988.456368,标准差为1004.135569,最低值为10206.638500,最高值为14791.313600。开盘价的平均值为11994.138000,标准差为1023.500263,最低值为10090.983800,最高值为14935.227700。

接下来进行可视化

plt.figure(figsize=(10, 5))
plt.plot(df.index, df['close'], label='Closing Price')  # 绘制收盘价折线图
plt.title('Shenzhen Index 2022 Closing Prices')  # 设置标题
plt.xlabel('Date')  # 设置X轴标签
plt.ylabel('Closing Price')  # 设置Y轴标签
plt.legend()
plt.show()

这个图表展示了2022年深圳指数的收盘价走势。从图中可以看出,整个2022年深圳指数经历了较大的波动:年初至3月,指数从约15000点大幅下跌至约12000点,显示出市场在这一段时间内表现较为疲软。

plt.figure(figsize=(10, 5))
plt.boxplot([df['open'], df['high'], df['low'], df['close']], labels=['Open', 'High', 'Low', 'Close'])  # 绘制箱线图
plt.title('Box Plot of Opening, Highest, Lowest, and Closing Prices')  # 设置标题
plt.show()

 

这个箱线图展示了2022年深圳指数的开盘价、最高价、最低价和收盘价的分布情况。从图中可以看出,开盘价(Open),中位数接近12000点,数据分布较为对称,范围从约10000点到14900点。上方存在一些离群值,表示有几天的开盘价异常高。。。

条形图用于展示不同类别数据的比较。我们绘制了开盘价、最高价、最低价和收盘价的平均值条形图。

avg_prices = [summary_stats[col]['mean'] for col in ['open', 'high', 'low', 'close']]
plt.figure(figsize=(10, 5))
plt.bar(['Open', 'High', 'Low', 'Close'], avg_prices, color=['blue', 'green', 'red', 'orange'])  # 绘制条形图
plt.title('Average Prices')  # 设置标题
plt.xlabel('Price Type')  # 设置X轴标签
plt.ylabel('Average Price')  # 设置Y轴标签
plt.show()

这个条形图展示了开盘价、最高价、最低价和收盘价的平均值。每个价格类型都用不同颜色的条形表示:开盘价(Open)平均开盘价接近12000点。说明市场在开盘时的价格大致稳定在这一水平。 

直方图展示了数据的分布情况。我们绘制了2022年深圳指数收盘价的直方图。

这个直方图展示了2022年深圳指数收盘价的分布情况。收盘价主要集中在11000点到13000点之间。在11000点到12000点之间的频率最高,显示出这一范围内的收盘价出现次数最多。

饼图用于展示各部分占总体的比例。我们绘制了2022年每个季度交易量占全年总交易量的比例。

df['quarter'] = df.index.quarter
volume_by_quarter = df.groupby('quarter')['vol'].sum()  # 计算每季度总成交量
plt.figure(figsize=(10, 5))
plt.pie(volume_by_quarter, labels=['Q1', 'Q2', 'Q3', 'Q4'], autopct='%1.1f%%',colors=['gold', 'yellowgreen', 'lightcoral', 'lightskyblue'])  # 绘制饼图
plt.title('Proportion of Total Trading Volume by Quarter')  # 设置标题
plt.show()

其中第一季度占比为25.1%,是全年交易量最高的季度。这一比例表明第一季度的市场交易活动较为活跃。第二季度占比为24.8%,略低于第一季度。这一比例显示第二季度的交易量与第一季度相当,市场活跃度持续。。。 

接下来计算相关矩阵 绘制散点图

# 计算相关矩阵
correlation_matrix = df[['open', 'high', 'low', 'close', 'vol', 'amount']].corr()
print("Correlation matrix:\n", correlation_matrix)# 绘制散点图
plt.figure(figsize=(12, 8))
for i, predictor in enumerate(['open', 'high', 'low', 'vol', 'amount']):plt.subplot(2, 3, i + 1)plt.scatter(df[predictor], df['close'], alpha=0.5)plt.xlabel(predictor)plt.ylabel('Close')
plt.tight_layout()
plt.show()

从图中可以看到,收盘价与开盘价、最高价、最低价之间有很强的线性关系,点几乎沿对角线分布。这表明这些特征之间有高度相关性。而收盘价与交易量和交易金额之间的相关性较低,点的分布较为分散。

 接下来线性回归分析

多元线性回归:建立以开盘价、最高价和最低价为自变量,收盘价为因变量的回归模型。计算并报告每个变量的系数,评估模型的效力和各变量的影响力。

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
predictors = ['open', 'high', 'low', 'vol', 'amount']
X = df[predictors].values
y = df['close'].values
# 增加一个截距列
X = np.column_stack((np.ones(X.shape[0]), X))# 计算回归系数 (beta)
# beta = (X^T * X)^-1 * X^T * y
X_transpose = X.T
beta = np.linalg.inv(X_transpose @ X) @ X_transpose @ y# 计算预测值
y_pred = X @ beta

图中红色虚线(拟合收盘价)与蓝色实线(实际收盘价)基本重合,这表明模型对收盘价的预测非常准确。在大多数时间段内,拟合值与实际值的波动趋势基本一致。

三、结论

通过对2022年深证指数数据的综合分析,我们得出了以下主要结论:

在数据清洗与预处理方面,我们对数据进行了日期格式转换和缺失值处理,确保了分析的准确性和数据的连续性。这些步骤为后续的时间序列分析和可视化提供了可靠的基础。在描述性统计分析方面,通过计算开盘价、最高价、最低价和收盘价等主要金融指标的平均值、标准差、最大值和最小值,我们对市场的波动情况和价格分布有了基本了解。。。。 

创作不易,希望大家多点赞关注评论!!!(类似代码或报告定制可以私信)

相关文章:

Python数据分析-股票分析和可视化(深证指数)

一、内容简介 股市指数作为衡量股市整体表现的重要工具,不仅反映了市场的即时状态,也提供了经济健康状况的关键信号。在全球经济体系中,股市指数被广泛用于预测经济活动,评估投资环境,以及制定财政和货币政策。在中国…...

Linux如何安装openjdk1.8

文章目录 Centosyum安装jdk和JRE配置全局环境变量验证ubuntu使用APT(适用于Ubuntu 16.04及以上版本)使用PPA(可选,适用于需要特定版本或旧版Ubuntu)Centos yum安装jdk和JRE yum install java-1.8.0-openjdk-devel.x86_64 安装后的目录 配置全局环境变量 vim /etc/pr…...

【LLVM】LTO学习

看这篇文章,文中的代码都是错的,给出的命令行也是错的。 真不如参考文献中也是华为的外国员工写的PPT。 但是,上述的文件中的指令也存在报错,还是官方文档看着舒服。...

事务的特性-原子性(Atomicity)、一致性(Consistency)、隔离性(Asolation)、持久性(Durability)

一、引言 1、数据库管理系统DBMS为保证定义的事务是一个逻辑工作单元,达到引入事务的目的,实现的事务机制要保证事务具有原子性、一致性、隔离性和持久性,事务的这四个特性也统称为事务的ACID特性 2、当事务保持了ACID特性,才能…...

redis哨兵模式(Redis Sentinel)

哨兵模式的背景 当主服务器宕机后,需要手动把一台从服务器切换为主服务器,这就需要人工干预,费事费力,还会造成一段时间内服务不可用。这不是一种推荐的方式。 为了解决单点故障和提高系统的可用性,需要一种自动化的监…...

【牛客】牛客小白月赛97 题解 A - E

文章目录 A - 三角形B - 好数组C - 前缀平方和序列D - 走一个大整数迷宫E - 前缀和前缀最大值 A - 三角形 map存一下每个数出现了多少次&#xff0c;再遍历map #include <bits/stdc.h>using namespace std;#define int long long using i64 long long;typedef pair<…...

Spring Boot中泛型参数的灵活运用:最佳实践与性能优化

泛型是Java中一种强大的特性&#xff0c;它提供了编写通用代码的能力&#xff0c;使得代码更加灵活和可复用。在Spring Boot应用程序中&#xff0c;泛型参数的灵活运用可以带来诸多好处&#xff0c;包括增强代码的可读性、提高系统的健壮性以及优化系统的性能。本文将深入探讨在…...

MySQL建表时的注意事项

以下是我对MySQL建表时的注意事项。其实&#xff0c;建表事项有很多&#xff0c;我的总结如下&#xff1a; 1 存储引擎的选择&#xff0c;一般做开发&#xff0c;都是要支持事务的&#xff0c;所以选择InnoDB 2 对字段类型的选择&#xff1a; ​ 对于日期类型如果要记录时分…...

Advanced RAG 09:『提示词压缩』技术综述

编者按&#xff1a; 如何最大限度地发挥 LLMs 的强大能力&#xff0c;同时还能控制其推理成本&#xff1f;这是当前业界研究的一个热点课题。 针对这一问题&#xff0c;本期精心选取了一篇关于"提示词压缩"(Prompt Compression)技术的综述文章。正如作者所说&#xf…...

(13)DroneCAN 适配器节点(二)

文章目录 前言 2 固件 2.1 基于F103 2.2 基于F303 2.3 基于F431 3 ArduPilot固件DroneCAN设置 3.1 f303-通用设置示例 4 DroneCAN适配器节点 前言 这些节点允许现有的 ArduPilot 支持的外围设备作为 DroneCAN 或 MSP 设备适应 CAN 总线。这也允许扩展自动驾驶仪硬件的…...

摸鱼大数据——Spark基础——Spark环境安装——Spark Local[*]搭建

一、虚拟机配置 查看每一台的虚拟机的IP地址和网关地址 查看路径: cat /etc/sysconfig/network-scripts/ifcfg-ens33 2.修改 VMware的网络地址: 使用VMnet8 3.修改windows的对应VMware的网卡地址 4.通过finalshell 或者其他的shell连接工具即可连接使用即可, 连接后, 测试一…...

函数内部结构分层浅析(从MVC分层架构联想)

函数内部结构分层浅析&#xff08;从MVC分层架构联想&#xff09; 分层架构:一种将软件代码按不同功能进行划分的架构模式。 优点包括&#xff1a; 可维护性&#xff1a;各层职责明确&#xff0c;易于单独修改维护。 可扩展性&#xff1a;方便添加或修改某一层&#xff0c;不…...

【three.js案例二】时空隧道

import * as THREE from ./build/three.module.js // 引入轨道控制器扩展库OrbitControls.js import { OrbitControls } from three/addons/controls/OrbitControls.js; // 引入dat.gui.js的一个类GUI import { GUI } from three/addons/libs/lil-gui.module.min.js;// 场景 co…...

动手学深度学习(Pytorch版)代码实践 -计算机视觉-48全连接卷积神经网络(FCN)

48全连接卷积神经网络&#xff08;FCN&#xff09; 1.构造函数 import torch import torchvision from torch import nn from torch.nn import functional as F import matplotlib.pyplot as plt import liliPytorch as lp from d2l import torch as d2l# 构造模型 pretrained…...

【Python游戏】猫和老鼠

本文收录于 《一起学Python趣味编程》专栏,从零基础开始,分享一些Python编程知识,欢迎关注,谢谢! 文章目录 一、前言二、代码示例三、知识点梳理四、总结一、前言 本文介绍如何使用Python的海龟画图工具turtle,开发猫和老鼠游戏。 什么是Python? Python是由荷兰人吉多范…...

【无标题】c# WEBAPI 读写表到Redis

//c# WEBAPI 读写表到Redis using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Net.Http; using System.Web.Http; using Newtonsoft.Json; using StackExchange.Redis; using System.Data; using System.Web; namespace …...

【剑指Offer系列】53-0到n中缺失的数字(index)

给定一个包含 [0, n] 中 n 个数的数组 nums &#xff0c;找出 [0, n] 这个范围内没有出现在数组中的那个数。 示例 1&#xff1a; 输入&#xff1a;nums [3,0,1] 输出&#xff1a;2 解释&#xff1a;n 3&#xff0c;因为有 3 个数字&#xff0c;所以所有的数字都在范围 [0,3]…...

docker compose部署zabbix7.0官方方法快速搭建

环境介绍&#xff1a; 系统&#xff1a;centos7 官方文档&#xff1a;https://www.zabbix.com/documentation/current/zh/manual/installation/containers docker镜像加速 vi /etc/docker/daemon.json{"registry-mirrors": ["https://docker.1panel.live&quo…...

分库分表之后如何设计主键ID(分布式ID)?

文章目录 1、数据库的自增序列步长方案2、分表键结合自增序列3、UUID4、雪花算法5、redis的incr方案总结 在进行数据库的分库分表操作后&#xff0c;必然要面临的一个问题就是主键id如何生成&#xff0c;一定是需要一个全局的id来支持&#xff0c;所以分库分表之后&#xff0c;…...

秋招突击——6/28、6.29——复习{数位DP——度的数量}——新作{}

文章目录 引言复习数位DP——度的数量个人实现参考实现 总结 引言 头一次产生了那么强烈的动摇&#xff0c;对于未来没有任何的感觉的&#xff0c;不知道将会往哪里走&#xff0c;不知道怎么办。可能还是因为实习吧&#xff0c;再加上最近复习也没有什么进展&#xff0c;并不知…...

突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合

强化学习&#xff08;Reinforcement Learning, RL&#xff09;是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程&#xff0c;然后使用强化学习的Actor-Critic机制&#xff08;中文译作“知行互动”机制&#xff09;&#xff0c;逐步迭代求解…...

基于Flask实现的医疗保险欺诈识别监测模型

基于Flask实现的医疗保险欺诈识别监测模型 项目截图 项目简介 社会医疗保险是国家通过立法形式强制实施&#xff0c;由雇主和个人按一定比例缴纳保险费&#xff0c;建立社会医疗保险基金&#xff0c;支付雇员医疗费用的一种医疗保险制度&#xff0c; 它是促进社会文明和进步的…...

多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验

一、多模态商品数据接口的技术架构 &#xff08;一&#xff09;多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如&#xff0c;当用户上传一张“蓝色连衣裙”的图片时&#xff0c;接口可自动提取图像中的颜色&#xff08;RGB值&…...

PAN/FPN

import torch import torch.nn as nn import torch.nn.functional as F import mathclass LowResQueryHighResKVAttention(nn.Module):"""方案 1: 低分辨率特征 (Query) 查询高分辨率特征 (Key, Value).输出分辨率与低分辨率输入相同。"""def __…...

RSS 2025|从说明书学习复杂机器人操作任务:NUS邵林团队提出全新机器人装配技能学习框架Manual2Skill

视觉语言模型&#xff08;Vision-Language Models, VLMs&#xff09;&#xff0c;为真实环境中的机器人操作任务提供了极具潜力的解决方案。 尽管 VLMs 取得了显著进展&#xff0c;机器人仍难以胜任复杂的长时程任务&#xff08;如家具装配&#xff09;&#xff0c;主要受限于人…...

Webpack性能优化:构建速度与体积优化策略

一、构建速度优化 1、​​升级Webpack和Node.js​​ ​​优化效果​​&#xff1a;Webpack 4比Webpack 3构建时间降低60%-98%。​​原因​​&#xff1a; V8引擎优化&#xff08;for of替代forEach、Map/Set替代Object&#xff09;。默认使用更快的md4哈希算法。AST直接从Loa…...

多模态图像修复系统:基于深度学习的图片修复实现

多模态图像修复系统:基于深度学习的图片修复实现 1. 系统概述 本系统使用多模态大模型(Stable Diffusion Inpainting)实现图像修复功能,结合文本描述和图片输入,对指定区域进行内容修复。系统包含完整的数据处理、模型训练、推理部署流程。 import torch import numpy …...

Kubernetes 网络模型深度解析:Pod IP 与 Service 的负载均衡机制,Service到底是什么?

Pod IP 的本质与特性 Pod IP 的定位 纯端点地址&#xff1a;Pod IP 是分配给 Pod 网络命名空间的真实 IP 地址&#xff08;如 10.244.1.2&#xff09;无特殊名称&#xff1a;在 Kubernetes 中&#xff0c;它通常被称为 “Pod IP” 或 “容器 IP”生命周期&#xff1a;与 Pod …...

嵌入式学习之系统编程(九)OSI模型、TCP/IP模型、UDP协议网络相关编程(6.3)

目录 一、网络编程--OSI模型 二、网络编程--TCP/IP模型 三、网络接口 四、UDP网络相关编程及主要函数 ​编辑​编辑 UDP的特征 socke函数 bind函数 recvfrom函数&#xff08;接收函数&#xff09; sendto函数&#xff08;发送函数&#xff09; 五、网络编程之 UDP 用…...

人工智能 - 在Dify、Coze、n8n、FastGPT和RAGFlow之间做出技术选型

在Dify、Coze、n8n、FastGPT和RAGFlow之间做出技术选型。这些平台各有侧重&#xff0c;适用场景差异显著。下面我将从核心功能定位、典型应用场景、真实体验痛点、选型决策关键点进行拆解&#xff0c;并提供具体场景下的推荐方案。 一、核心功能定位速览 平台核心定位技术栈亮…...