【Python技术】使用akshare、pandas高效复盘每日涨停板行业分析

ops/2024/11/14 13:14:10/

作为一个程序员宝爸,每天的时间很宝贵,工作之余除了辅导孩子作业,就是补充睡眠。

怎么快速高效的进行当天A股涨停板的复盘,便于第二天的跟踪。这里简单写个示例, 获取当天连涨数排序,以及所属行业排序。

python">import akshare as ak
import xlsxwriter
import pandas as pdpd.set_option('display.max_rows', None)  # 设置显示无限制行
pd.set_option('display.max_columns', None)  # 设置显示无限制列
pd.set_option('display.width', None)  # 自动检测控制台的宽度
pd.set_option('display.max_colwidth', 50)  # 设置列的最大宽度为50date ="20240509"
df = ak.stock_zt_pool_em(date)
df['流通市值'] = round(df['流通市值']/100000000)
df['换手率']=round(df['换手率'])
spath = f"./{date}涨停.xlsx"
#print(df)
df.to_excel(spath, engine='xlsxwriter')selected_columns = ['代码', '名称', '最新价','流通市值', '换手率', '连板数','所属行业']
jj_df = df[selected_columns]# 按照'连板数'列进行降序排序
sorted_temp_df = jj_df.sort_values(by='连板数', ascending=False)
# 输出排序后的DataFrame
#print(sorted_temp_df)
sorted_temp_df_path = f"./{date}涨停排序.xlsx"
sorted_temp_df.to_excel(sorted_temp_df_path, engine='xlsxwriter')# 创建一个dataframe的副本
temp_df = jj_df.copy()# 计算每个行业出现的频率,并储存在一个字典中
industry_count = temp_df['所属行业'].value_counts().to_dict()# 使用.loc操作符添加一个新列,列的值是每个行业的频率
temp_df.loc[:,'industry_count'] = temp_df['所属行业'].map(industry_count)# 按照行业数量降序排列,如果行业数量相同,按照行业名称升序排列,然后按照连板数降序排列
sorted_industry_df = temp_df.sort_values(by=['industry_count', '所属行业', '连板数'], ascending=[False, True, False])# 打印排序后的dataframe
#print(sorted_industry_df)
# 删除临时的 'industry_count' 列,以保持原始dataframe的结构
temp_df = temp_df.drop(['industry_count'], axis=1)temp_path = f"./{date}涨停行业排序.xlsx"
sorted_industry_df.to_excel(temp_path, engine='xlsxwriter')

比如2024年5月9日当天, 按照连板数排序

在这里插入图片描述

涨停所属行业从多到少排序,如果涨停数相同按照行业名称排序, 行业名称一致则按照连涨数排序

在这里插入图片描述

不完美的地方,由于数据缺陷, 没有获取真正涨停原因字段。 计划思路: 按照个人理解,jj_df 扩展涨停原因列,对所有涨停个股标注涨停原因,比如 当天很多个股其实是涨停 原因是合成生物。 这样代码逻辑 使用 该列替代 所属行业 梳理逻辑。

如果我的分享对你有所帮助,记得帮忙点赞给个关注

原文链接: 【Python技术】使用akshare、pandas高效复盘每日涨停板行业分析

在这里插入图片描述


http://www.ppmy.cn/ops/40745.html

相关文章

深入解析MySQL中的事务(上)

MySQL事务管理 一、事务的基本概念为什么需要事务?1. 数据完整性2. 并发控制3. 错误恢复4. 复杂业务逻辑的支持5. 安全性 为什么会出现事务查看引擎是否支持事务事务提交方式自动提交(Automatic Commit)手动提交(Manual Commit&am…

Go语言中context原理及使用

Golang中,context为我们提供了在跨API边界和进程之间传递请求作用域的deadline,取消信号,和其他请求响应的值的能力。 context包定义了Context类型,它在API边界和进程之间提供了一种传递传递请求作用域的deadline,取消…

【Linux】yum与vim

文章目录 软件包管理器:yumLinux安装和卸载软件包Linux中的编辑器:vimvim下的底行模式vim下的正常模式vim下的替换模式vim下的视图模式vim下的多线程 软件包管理器:yum yum其实就是一个软件,也可以叫商店 和你手机上的应用商店或app store一…

特殊类的设计与单例模式

1、特殊类的设计 如何设计出一个创建出的对象只能在堆上的类?将类的默认构造函数设置为私有,再将类的拷贝构造函数设置为delete,设置静态函数GetObj,内部调用new HeapOnly,这样就只能在堆上开辟空间。 class HeapOnly…

算法训练Day28 | ● 122.买卖股票的最佳时机II ● 55. 跳跃游戏 ● 45.跳跃游戏II

122.买卖股票的最佳时机II class Solution { public:int maxProfit(vector<int>& prices) {vector<int> dp(2,0);dp[0] -prices[0];for(int i1; i<prices.size(); i){dp[0] max(dp[0], dp[1]-prices[i]);dp[1] max(dp[1], prices[i]dp[0]);}return dp[1]…

EdgeOne 免费证书快速实现网站 HTTPS 访问

在当今互联网环境下&#xff0c;HTTPS访问已经成为现代网站的必备功能。HTTPS 访问不仅能够更有效地保障用户在访问到网站时的数据安全传输&#xff0c;防止信息泄露、消息劫持等问题&#xff0c;在搜索引擎中&#xff0c;未实现 HTTPS 还会被浏览器提示为不安全网站&#xff0…

基于无监督学习算法的滑坡易发性评价的实施(k聚类、谱聚类、Hier聚类)

基于无监督学习算法的滑坡易发性评价的实施 1. k均值聚类2. 谱聚类3. Hier聚类4. 基于上述聚类方法的易发性实施本研究中的数据集和代码可从以下链接下载: 数据集实施代码1. k均值聚类 K-Means 聚类是一种矢量量化方法,最初来自信号处理,旨在将 N 个观测值划分为 K 个聚类,…

SpringCloud 集成 RocketMQ 及配置解析

文章目录 前言一、SpringCloud 集成 RocketMQ1. pom 依赖2. yml 配置3. 操作实体4. 生产消息4.1. 自动发送消息4.2. 手动发送消息 5. 消费消息 二、配置解析1. spring.cloud.stream.function.definition 前言 定义 Spring Cloud Stream 是一个用来为微服务应用构建消息驱动能力…