You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解析Stooq下载的5分钟K线TIME列格式并转换为时分格式

Stooq 5分钟K线TIME列编码规则

该TIME列是无分隔符的24小时制时分秒(HHMMSS)纯数字拼接格式,完全匹配你观察到的所有特征:

  • 6位数字从左到右拆分规则:前2位为小时(HH,取值范围0023),中间2位为分钟(MM,取值范围0059),最后2位为秒(SS,5分钟周期的K线SS固定为00)
  • 每间隔5分钟增量为500,本质是分钟数加5,对应数字部分增加000500
  • 千位(从右数第4位,即分钟的十位)累计到6时,代表分钟数满60,需要向小时位进1,同时分钟位归零,对应你提到的「千位数值达到6000时万位递增」的表现,比如155500加5分钟得到160000,你给出的单日区间153000对应15:30、215500对应21:55,完全符合常规交易时段的范围。
Python转换实现方法

需结合DATE列生成完整时间序列对象,单独TIME列仅能表示当日时间。

依赖库

使用pandas处理批量数据,datetime处理时间逻辑。

批量转换完整时间序列代码

import pandas as pd

# 读取本地Stooq数据文件
df = pd.read_csv("你的数据文件路径.csv")

# 补全DATE、TIME列的前导0,避免位数不足导致解析错误
df['date_str'] = df['<DATE>'].astype(str).str.zfill(8)
df['time_str'] = df['<TIME>'].astype(str).str.zfill(6)

# 转换为datetime时间序列对象
df['full_datetime'] = pd.to_datetime(df['date_str'] + df['time_str'], format='%Y%m%d%H%M%S')

# 输出小时:分钟格式的字符串
df['hour_minute'] = df['full_datetime'].dt.strftime('%H:%M')

单独转换TIME列的工具函数

如果不需要日期,仅需要把TIME值转为小时:分钟格式:

def stooq_time_to_hm(time_num):
    time_str = str(time_num).zfill(6)
    hour = int(time_str[:2])
    minute = int(time_str[2:4])
    return f"{hour:02d}:{minute:02d}"

# 测试用例:输入153000返回'15:30',输入215500返回'21:55'

内容的提问来源于stack exchange,提问作者anonuser678

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 20:39:04