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

一个判断A股交易状态的python脚本

        最近在做股票数据相关的项目,需要用到判断某一天某个时刻A股的状态,比如休市,收盘,交易中等,发动脑筋想了一下,这个其实还是比较简单的,这里我把实现方法分享给大家。

思路 

        当天是否休市

        对于某一天来说,我们可以判断这一天是不是holiday,对于A股来说其交易日与工作日一致,只要是周六日(无论调不调休),其一定休市,那么一个较为简单的思路就是使用time.strftime()获得当前日期的week值后判断其是否在周中 ,但是对于一些在周中的法定节假日这种方法便无能为力了……

        因此,最好的办法就是能够判断当前时间在日历中是否是节假日(周六日+法定节假日)

经过不懈的查找,还终于让我找到这样一个日历库,它就是chinese_calendar,

chinese_calendar获取方式

pip install chinese_calendar

        并且,非常贴心的是作者还专门出了一个is_holiday()和is_workday()的方法用来判断某一天是不是节假日或工作日!

chinese_calendar使用方法 

import chinese_calendar as calendar
import datetime
#chinese_calendar支持的时间格式是datetime类型的
year=2025
month=4
day=1
time=datetime.date(year,month,day)
print(f'{year}年{month}月{day}日是节假日吗?{calendar.is_holiday(time)}')

运行结果:

        事情到这儿就结束了吗?还没有,注意我们前边说过,A股是非常懒的,在一些需要调休并且是周六日的日子它也不交易,仍处于休市状态,那么这个时候我们使用chinese_calendar的is_holiday()或is_workday()给出的结果都会是工作日(周六日调休) ,因此我们还是需要再判断一下这一天是不是周六日,如果是,那么A股必然休市,如果不是A股不一定就一定交易(周中是法定节假日)。

        这句话听着很拗口,但是实现起来还是比较简单的,我们只需再使用time库下的strftime获得一个字符串时间戳来判断即可:

import time
#week的取值为0-6 0是星期日,1-6是周一至周六
week=int(time.strftime(r"%w"))
if week==0 or week==6:
    print('A股休市')

完整代码:

import chinese_calendar as calendar
import datetime
def marketstate(self):
        week=int(time.strftime("%W"))
        is_holiday=calendar.is_holiday(datetime.date.today())
        if is_holiday:
            return '休市'
        if week==6 or week==0:
            return '休市'
        else:
              return '开盘'

以上是用来判断A股某一天的交易状态,接下来我们还要判断某一个时刻的交易状态

当天某个时间的交易状态

http://www.dtcms.com/a/102692.html

相关文章:

  • 二、概念篇
  • 线程概念与控制(下)
  • SQL Server从安装到入门一文掌握应用能力。
  • 游戏引擎学习第196天
  • 个人博客网站从搭建到上线教程
  • 安当RDM系统:构建文件服务器防勒索攻击的防线
  • 第七章:机器视觉_《ROS机器人开发实践》_notes
  • [leetcode]树的操作
  • Java中的不可变集合
  • RAG 优化:高效解析并接入图文、表格密集型文档
  • Redis - 概述
  • Spring框架如何做EhCache缓存?
  • 2025图像处理和深度学习国际学术会议(IPDL 2025)
  • 国产密码算法介绍 SM2/SM3/SM4/SM9/祖冲之ZUC
  • 优选算法的巧思之径:模拟专题
  • 针对 Maven 管理的SSM项目编写Ant 的 `build.xml` 模板,支持依赖管理、编译、打包 WAR 文件及部署到 Tomcat。
  • AI训练师入行指南(四):模型训练
  • MySQL基础语法DCL字符串函数
  • 检测无后缀名的文件类型
  • 《筋斗云的K8s容器化迁移》
  • Linux孤儿进程和僵尸进程
  • 谈谈常见的数据结构(如数组、链表、栈、队列、哈希表、树、图)及其应用场景
  • OpenHarmony v4.1 Release设置应用随系统自动启动
  • Sa-Token核心功能解剖三(OAuth2.0认证、分布式会话、参数签名 )
  • Transformers without Normalization paper笔记
  • Android OpenGLES 360全景图片渲染(球体内部)
  • wsl2的centos7安装jdk17、maven
  • 欧拉公式和sin cos
  • 3.31Python有关文件操作
  • 【java】Java核心知识点与相应面试技巧(九)——异常