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

如何按5、10、15分钟时段分组分钟级金融时间戳记录?

解决分钟级金融数据按5/10/15分钟时段分组的问题

这个需求在量化交易和金融数据分析里太常见了,我通常用Python的pandas库来处理这类时间序列的重采样任务,下面给你详细的实现步骤和代码:

步骤1:数据准备与预处理

首先得把你的数据加载到pandas DataFrame里,并且确保时间列dt是datetime类型,另外注意你的原始数据时间是倒序的(从15:30到15:26递减),处理前一定要先按时间升序排序,否则重采样会出错。

假设你的数据可以直接构造或者从文件读取,这里用示例数据演示:

import pandas as pd

# 构造和你格式一致的示例数据
data = [
    ["2018-05-04 15:30:00", 171.0000, 171.3000, 170.9000, 171.0000, 42817],
    ["2018-05-04 15:29:00", 170.8000, 171.0000, 170.8000, 170.9500, 32801],
    ["2018-05-04 15:28:00", 170.8500, 171.0000, 170.8000, 170.8000, 22991],
    ["2018-05-04 15:27:00", 170.8500, 170.8500, 170.7500, 170.8000, 40283],
    ["2018-05-04 15:26:00", 170.7000, 170.8500, 170.7000, 170.8500, 18765]
]

df = pd.DataFrame(data, columns=["dt", "open", "high", "low", "close", "vol"])

# 转换时间列为datetime类型
df["dt"] = pd.to_datetime(df["dt"])
# 按时间升序排序并设为索引(原始数据倒序,这一步必须做)
df = df.sort_values("dt").set_index("dt")

步骤2:按指定时段分组(重采样)

pandas的resample方法专门用来处理时间序列的分组聚合,我们需要为每个字段定义符合K线逻辑的聚合规则:

  • open:取时段内第一条记录的开盘价
  • high:取时段内的最高价
  • low:取时段内的最低价
  • close:取时段内最后一条记录的收盘价
  • vol:累加时段内的成交量

5分钟分组示例

# 5分钟重采样
df_5min = df.resample("5T").agg({
    "open": "first",
    "high": "max",
    "low": "min",
    "close": "last",
    "vol": "sum"
}).dropna()  # 剔除无数据的空时段

print("5分钟分组结果:")
print(df_5min)

10分钟分组示例

# 10分钟重采样
df_10min = df.resample("10T").agg({
    "open": "first",
    "high": "max",
    "low": "min",
    "close": "last",
    "vol": "sum"
}).dropna()

print("\n10分钟分组结果:")
print(df_10min)

15分钟分组示例

# 15分钟重采样
df_15min = df.resample("15T").agg({
    "open": "first",
    "high": "max",
    "low": "min",
    "close": "last",
    "vol": "sum"
}).dropna()

print("\n15分钟分组结果:")
print(df_15min)

关键细节说明

  • 时间频率参数:"5T"代表5分钟,"10T"是10分钟,"15T"是15分钟,pandas还支持"H"(小时)、"D"(天)等多种时间频率缩写。
  • 聚合规则的必要性:严格按照K线逻辑聚合才能保证分组后的数据有实际分析价值,不能随便用均值之类的规则。
  • 排序的重要性:如果原始数据时间乱序或倒序,resample会无法正确识别时段边界,所以排序和设索引是前置必要操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 03:36:36