AH比价格策略源代码

news2025/3/16 3:56:00

         用python 获取在A股和香港上市的公司和在A股和香港上市的公司股票代码和名称并且选出港股和A股涨幅相差比较大的股票 

import akshare as ak

def get_ah_stocks():
    # 获取A股股票列表
    a_stock_list = ak.stock_zh_a_spot_em()
    print(a_stock_list)
    a_stock_list = a_stock_list[["代码", "名称"]]

    # 获取港股股票列表
    h_stock_list = ak.stock_hk_spot_em()
    h_stock_list = h_stock_list[["代码", "名称"]]

    # 获取A股和港股的公司名称及代码
    a_names = a_stock_list["名称"].str.strip().tolist()
    a_codes = a_stock_list["代码"].tolist()
    h_names = h_stock_list["名称"].str.strip().tolist()
    h_codes = h_stock_list["代码"].tolist()

    # 初始化结果列表
    ah_stocks = []

    # 遍历A股公司,寻找对应的港股公司
    for a_name, a_code in zip(a_names, a_codes):
        for h_name, h_code in zip(h_names, h_codes):
            # 判断名称是否有包含关系
            # if a_name in h_name or h_name in a_name:
            if a_name == h_name:
                ah_stocks.append({"A_code": a_code, "H_code": h_code, "A_name": a_name,"H_name":h_name})
                break  # 找到一个匹配后跳出循环


    return ah_stocks
def get_ah_compare_result(ah_stocks):
    a_stock_df = ak.stock_zh_a_spot_em()
    h_stock_df = ak.stock_hk_spot_em()
    return_list = []
    for stock in ah_stocks:
        # 筛选出指定股票的数据
        a_stock_data = a_stock_df[a_stock_df["代码"] == stock['A_code']]
          # 获取涨幅信息
        a_change_percent = a_stock_data["涨跌幅"].values[0]
        
        # 筛选出指定股票的数据
        h_stock_data = h_stock_df[h_stock_df["代码"] == stock['H_code']]
          # 获取涨幅信息
        h_change_percent = h_stock_data["涨跌幅"].values[0]
        # print(f"A股代码:{stock['A_code']}, 港股代码:{stock['H_code']}, A公司名称:{stock['A_name']},H公司名称:{stock['H_name']}")
        
        # print(f"A公司名称:{stock['A_name']} A股 涨幅:{a_change_percent} H股 涨幅:{h_change_percent} 港股和A股涨幅差值:{h_change_percent - a_change_percent}")
        if h_change_percent - a_change_percent > 2:
            print(f"A股代码:{stock['A_code']}, 港股代码:{stock['H_code']}, A公司名称:{stock['A_name']},H公司名称:{stock['H_name']}")
            print(f"A公司名称:{stock['A_name']} A股 涨幅:{a_change_percent} H股 涨幅:{h_change_percent} 港股和A股涨幅差值:{h_change_percent - a_change_percent}")
            return_list.append(stock['A_code'])
    print("溢价很高得个股:",return_list)  
    return return_list
    
# 主程序
if __name__ == "__main__":
    ah_stocks = get_ah_stocks()
    print("AH股股票列表:")
    for stock in ah_stocks:
        print(f"A股代码:{stock['A_code']}, 港股代码:{stock['H_code']}, A公司名称:{stock['A_name']},H公司名称:{stock['H_name']}")
    get_ah_compare_result(ah_stocks)    

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2295762.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

群晖安装Gitea

安装Docker Docker运行Gitea 上传gitea包,下载地址:https://download.csdn.net/download/hmxm6/90360455 打开docker 点击印象,点击新增,从文件添加 点击启动 可根据情况,进行高级设置,没有就下一步 点击应…

LabVIEW商业软件开发

在商业软件开发和仪器自动测试领域,LabVIEW以其图形化编程方式、高效的数据采集能力和强大的硬件集成优势,成为众多工程项目的核心开发工具。然而,商业软件的开发远不止编写代码和实现功能那么简单,尤其是在仪器自动测试领域&…

内容中台赋能人工智能技术提升业务创新能力

内容概要 在当今快速变化的市场环境中,企业需要不断寻求创新以保持竞争力。内容中台作为一种新型的内容管理架构,能够极大地提升企业在内容创建、管理和分发方面的效率。通过与人工智能技术的深度融合,企业能够将海量的数据和信息转化为有价…

生成式聊天机器人 -- 基于Pytorch + Global Attention + 双向 GRU 实现的SeqToSeq模型 -- 下

生成式聊天机器人 -- 基于Pytorch Global Attention 双向 GRU 实现的SeqToSeq模型 -- 下 训练Masked 损失单次训练过程迭代训练过程 测试贪心解码(Greedy decoding)算法实现对话函数 训练和测试模型完整代码 生成式聊天机器人 – 基于Pytorch Global Attention 双向 GRU 实…

Netty初学九 心跳与空闲检测

一、网络问题 1.连接假死: 连接假死的现象是:在某一端看来,底层的Tcp连接已经断开,但是应用程序没有捕获到,会认为这条连接仍然是存在的。从TCP层面来说,只有收到四次握手数据包或者一个RST数据包才可以表示…

数据分析如何做EDA

探索性数据分析(EDA,Exploratory Data Analysis)是数据分析过程中至关重要的一步,其目的是通过统计和可视化技术对数据进行初步分析,从而揭示数据的潜在模式、特征和异常值,并为后续的数据预处理、特征工程…

AD域控粗略了解

一、前提 转眼大四,目前已入职上饶一公司从事运维工程师,这与我之前干的开发有着很大的差异,也学习到了许多新的知识。今天就写下我对于运维工作中常用的功能——域控的理解。 二、为什么要有域控,即域控的作用 首先我们必须要…

【计算机网络】TCP/IP 网络模型有哪几层?

目录 应用层 传输层 网络层 网络接口层 总结 为什么要有 TCP/IP 网络模型? 对于同一台设备上的进程间通信,有很多种方式,比如有管道、消息队列、共享内存、信号等方式,而对于不同设备上的进程间通信,就需要网络通…

【Flink实战】Flink -C实现类路径配置与实现UDF Jar

文章目录 1. 描述2. 使用语法3. -C 适用的 Flink 运行模式4. USING JAR 不可用 1. 描述 Flink 中的 -C 选项用于将 URL 添加到作业的类加载器中。URL可以指向本地、HTTP 服务器或 HDFS 等资源的Jar文件。 注意: 此处的classpath的url必须是一个能够在client&…

【东莞常平】戴尔R710服务器不开机维修分享

1:2025-02-06一位老客户的朋友刚开工公司ERP服务器一台戴尔老服务器故障无法开机,于是经老客户介绍找到我们。 2:服务器型号是DELL PowerEdge R710 这个服务器至少也有15年以上的使用年限了。 3:客户反馈的故障问题为:…

STM32自学记录(八)

STM32自学记录 文章目录 STM32自学记录前言一、ADC杂记二、实验1.学习视频2.复现代码 总结 前言 ADC 一、ADC杂记 ADC其实就是一个电压表,把引脚的电压值测出来,放在一个变量里。 ADC:模拟——数字转换器。 ADC可以将引脚上连续变化的模拟电…

Citespace之关键词爆发检测分析(进阶分析)

在开始citespace进行关键词爆发检测分析之前,如果不会使用citespace的,可以参考我之前这一篇博客: https://blog.csdn.net/m0_56184997/article/details/145536095?spm1001.2014.3001.5501 一、创建工程后进行设置 在创建好工程后&#xf…

解锁 DeepSeek 模型高效部署密码:蓝耘平台深度剖析与实战应用

💖亲爱的朋友们,热烈欢迎来到 青云交的博客!能与诸位在此相逢,我倍感荣幸。在这飞速更迭的时代,我们都渴望一方心灵净土,而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识,也…

NIO——网络编程

文章目录 非阻塞 vs 阻塞阻塞非阻塞多路复用 Selector好处创建绑定 Channel 事件监听 Channel 事件select 何时不阻塞 💡处理 accept 事件事件发生后能否不处理💡 处理 read 事件为何要 iter.remove()💡cancel 的作用💡不处理边界…

IDEA关联Tomcat,部署JavaWeb项目

将IDEA与Tomcat关联 创建JavaWeb项目 创建Demo项目 将Tomcat作为依赖引入到Demo中 添加 Web Application 编写前端和后端代码 配置Tomcat server,并运行

ChatGPT搜索免费开放:AI搜索引擎挑战谷歌霸主地位全面分析

引言 2025年2月6日,OpenAI宣布ChatGPT搜索功能向所有用户免费开放,且无需注册登录。这一重大举措在搜索引擎行业引发巨大反响,有观点认为"谷歌搜索时代即将结束"。本文将深入分析ChatGPT生成式AI搜索对谷歌搜索业务及全球搜索市场…

从0开始掌握Java开发框架:学习路线与系统指南

目录 1. Java 开发框架的分类1. Web 开发框架2. 持久层框架3. 依赖注入框架4. 微服务框架5. 测试框架 2. 主要框架的作用及关系(1)Spring Framework(2)Spring MVC(3)Spring Boot(4)M…

边缘计算网关驱动智慧煤矿智能升级——实时预警、低延时决策与数字孪生护航矿山安全高效运营

迈向智能化煤矿管理新时代 工业物联网和边缘计算技术的迅猛发展,煤矿安全生产与高效运营正迎来全新变革。传统煤矿监控模式由于现场环境复杂、数据采集和传输延时较高,已难以满足当下高标准的安全管理要求。为此,借助边缘计算网关的实时数据…

React Hooks 与 Class 组件相比有何优势

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

Racecar Gym 总结

1.Racecar Gym 简介 Racecar Gym 是一个基于 PyBullet 物理引擎 的自动驾驶仿真平台,提供 Gymnasium(OpenAI Gym) 接口,主要用于强化学习(Reinforcement Learning, RL)、多智能体竞速(Multi-Ag…