量化交易系列【5】:如何快速的将日K线数据转换为周K线及月K线数据,神奇的resample函数

简介: 量化交易系列【5】:如何快速的将日K线数据转换为周K线及月K线数据,神奇的resample函数

在股票量化交易时,经常会使用到日K、周K及月K数据,那么我们如何利用日K的数据得到我们想要的周K及月K数据呢?


pandas中有一个专门处理周期的resample函数,可以很方便的对周期进行转换,下面以日K数据转化为周K及月K数据为例进行说明。


示例中使用的‘000001.XSHE.csv’文件,已上传至csdn资源中,可直接下载


导入数据


import pandas as pd


# 读取CSV文件
df = pd.read_csv('./000001.XSHE.csv')
# 显示前n行,默认是5
df.head()

image.png

# 将交易日期字符串变为日期类型
df['date'] = pd.to_datetime(df['date'])  
# 将日期列设为索引
df.set_index('date', inplace = True)
df.head(10)

image.png


计算周K线数据,求每周的开盘价、收盘价、最大值、最小值


# 定义一个空的df
week_df = pd.DataFrame()


# 求每周的开盘价
week_df['open'] = df['open'].resample('W').first()
# 求每周的收盘价
week_df['close'] = df['close'].resample('W').last()
# 求每周的最大值
week_df['high'] = df['high'].resample('W').max()
# 求每周的最小值
week_df['low'] = df['low'].resample('W').min()
week_df.head(10)

image.png


以上我们便通过股票的日K数据得到了周K数据。


定义周期转换函数,方便求周K与月K等数据


为了后续更方便的进行数据转换,我们可以直接封装一个函数,只需传输数据及想要转换的周期参数,即可得到相应周期的K线数据,函数定义如下:


def transfer_price_freq(data, time_freq):
    """
    将数据转化为指定周期:开盘价(周期第一天)、收盘价(周期最后一天)、最高价(周期)、最低价(周期)
    :param data:日数据,包含每天开盘价、收盘价、最高价、最低价
    :param time_freq: 转换周期,周:‘W’,月:‘M’
    :return:
    """
    df_trans = pd.DataFrame()
    df_trans['open'] = data['open'].resample(time_freq).first()
    df_trans['close'] = data['close'].resample(time_freq).last()
    df_trans['high'] = data['high'].resample(time_freq).max()
    df_trans['low'] = data['low'].resample(time_freq).min()
    return df_trans
# 我们传入df,及"M"参数即可得到月K数据
month_df = transfer_price_freq(df, 'M')
month_df.head()

image.png


同理如果我们有每分钟的股票数据,我们也可以通过该函数得到5分钟K线、10分钟K线、30分钟K线等。


如果内容对你有帮助,记得点赞、关注哦!也欢迎小伙伴们和我共同学习交流。


更多干货内容持续更新中…


也欢迎关注下方我的公众号,共同学习交流,获取更多学习资源。

相关文章
|
2月前
|
定位技术
GEE(CCDC-3)——根据CCDC segment分割后的影像进行地类变化统计和绘制土地覆被变化地图
GEE(CCDC-3)——根据CCDC segment分割后的影像进行地类变化统计和绘制土地覆被变化地图
44 0
|
6月前
|
程序员 API 数据安全/隐私保护
Flink--8、时间语义、水位线(事件和窗口、水位线和窗口的工作原理、生产水位线、水位线的传递、迟到数据的处理)
Flink--8、时间语义、水位线(事件和窗口、水位线和窗口的工作原理、生产水位线、水位线的传递、迟到数据的处理)
|
10天前
|
数据可视化
R语言时变面板平滑转换回归模型TV-PSTR分析债务水平对投资的影响
R语言时变面板平滑转换回归模型TV-PSTR分析债务水平对投资的影响
|
2月前
GEE图表——趋势线图表的加载和展示包含纵坐标间隔的设定(以某区域年均降水总量为例)
GEE图表——趋势线图表的加载和展示包含纵坐标间隔的设定(以某区域年均降水总量为例)
33 0
|
4月前
|
数据可视化 数据挖掘 索引
【数据分析与可视化】时间序列中日期范围、频率、移位、时期的讲解(图文解释 超详细)
【数据分析与可视化】时间序列中日期范围、频率、移位、时期的讲解(图文解释 超详细)
43 0
|
10月前
R|tableone 快速绘制文章“表一”-基线特征三线表
R|tableone 快速绘制文章“表一”-基线特征三线表
|
数据处理 Python
如何将逐小时数据处理为逐日数据
如何将逐小时数据处理为逐日数据
|
存储 Python
python绘图--由逐日风场数据计算月平均风场数据并绘制二维填色图
python绘图--由逐日风场数据计算月平均风场数据并绘制二维填色图
python绘图--由逐日风场数据计算月平均风场数据并绘制二维填色图
|
自然语言处理 数据可视化 数据格式
Q&A | 如何用R批量绘制并导出生存曲线图
Q&A | 如何用R批量绘制并导出生存曲线图
301 0
Q&A | 如何用R批量绘制并导出生存曲线图
|
数据采集 编解码 数据处理
案例分享:Qt高频fpga采集数据压力位移速度加速度分析系统(通道配置、电压转换、采样频率、通道补偿、定时采集、距离采集,导出excel、自动XY轴、隐藏XY轴、隐藏显示通道,文件回放等等)
案例分享:Qt高频fpga采集数据压力位移速度加速度分析系统(通道配置、电压转换、采样频率、通道补偿、定时采集、距离采集,导出excel、自动XY轴、隐藏XY轴、隐藏显示通道,文件回放等等)
案例分享:Qt高频fpga采集数据压力位移速度加速度分析系统(通道配置、电压转换、采样频率、通道补偿、定时采集、距离采集,导出excel、自动XY轴、隐藏XY轴、隐藏显示通道,文件回放等等)