resample_to_daily

czsc.resample_to_daily(df: DataFrame, sdt=None, edt=None, only_trade_date=True)[source]

将非日线数据转换为日线数据,以便进行日线级别的分析

函数执行逻辑:

  1. 首先,函数接收一个数据框`df`,以及可选的开始日期`sdt`,结束日期`edt`,和一个布尔值`only_trade_date`。

  2. 函数将`df`中的`dt`列转换为日期时间格式。如果没有提供`sdt`或`edt`,则使用`df`中的最小和最大日期作为开始和结束日期。

  3. 创建一个日期序列。如果`only_trade_date`为真,则只包含交易日期;否则,包含`sdt`和`edt`之间的所有日期。

  4. 使用`merge_asof`函数,找到每个日期在原始`df`中对应的最近一个日期。

  5. 创建一个映射,将每个日期映射到原始`df`中的对应行。

  6. 对于日期序列中的每个日期,复制映射中对应的数据行,并将日期设置为当前日期。

  7. 最后,将所有复制的数据行合并成一个新的数据框,并返回。

Parameters:
  • df – 日线以上周期的数据,必须包含 dt 列

  • sdt – 开始日期

  • edt – 结束日期

  • only_trade_date – 是否只保留交易日数据

Returns:

pd.DataFrame