resample_to_daily
- czsc.resample_to_daily(df: DataFrame, sdt=None, edt=None, only_trade_date=True)[source]
将非日线数据转换为日线数据,以便进行日线级别的分析
函数执行逻辑:
首先,函数接收一个数据框`df`,以及可选的开始日期`sdt`,结束日期`edt`,和一个布尔值`only_trade_date`。
函数将`df`中的`dt`列转换为日期时间格式。如果没有提供`sdt`或`edt`,则使用`df`中的最小和最大日期作为开始和结束日期。
创建一个日期序列。如果`only_trade_date`为真,则只包含交易日期;否则,包含`sdt`和`edt`之间的所有日期。
使用`merge_asof`函数,找到每个日期在原始`df`中对应的最近一个日期。
创建一个映射,将每个日期映射到原始`df`中的对应行。
对于日期序列中的每个日期,复制映射中对应的数据行,并将日期设置为当前日期。
最后,将所有复制的数据行合并成一个新的数据框,并返回。
- Parameters:
df – 日线以上周期的数据,必须包含 dt 列
sdt – 开始日期
edt – 结束日期
only_trade_date – 是否只保留交易日数据
- Returns:
pd.DataFrame