股票python量化交易009-resample函数的应用

  • 问题:如果只有股票日K线的历史数据,怎么算出周K线或者月K线的对应数据?

可以采用pandas.DataFrame.resample函数的方法来实现。

  • resample函数的接口文档

怎么查找resample函数的具体有哪些参数,可以到pandas官网找api文档。

官网地址:https://pandas.pydata.org/

点击导航栏中的API reference菜单,然后搜索resample,具体如下图:

  • resample函数的具体实现

1.转换周期:日K转周K数据

步骤1:先获取日K线股票数据

# 上海证券交易所	.XSHG	600519.XSHG	贵州茅台
# 深圳证券交易所	.XSHE	000001.XSHE	平安银行
# 获取单只股票的日K线股价数据
df_daily = get_price("000001.XSHG", start_date=None, end_date="2022-05-08", frequency='daily',
              fields=None, skip_paused=False, fq='pre', count=20, panel=False, fill_paused=True)
print("000001.XSHG的日K
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
## 讲师介绍: 近 5 年个人投资理财年化收益平均超 25%。如果你也想提升自己的睡后收入,轻松赚钱,那么这门课就是为你量身打造。课程基于一个完整真实的量化交易业务来讲授,并融入老师的理财经验以及使用编程技术辅助投资的技巧,让你面对各种复杂投资情况也能做到游刃有余。 ## 学习目标: 从不懂“理财”开始到实现自动交易,成为一个“技术流”理财高手 编程技术 + 核心量化策略 + 交易系统开发 + 讲师经验分享,学会用技术辅助理财 本课程从最基础的什么是量化开始讲起,即使对投资理财不了解同样可以学习,轻松入门无压力。 从如何获取数据开始,到实现实盘交易,课程对量化交易的每一步都进行细致讲解,为你铺开量化交易的每一个细节。 不仅仅只是教你学会使用某种工具,更会教给你量化交易的投资思想,让你面对各种情况都游刃有余。 ## 课程亮点: 设计适合自己并能适应市场的交易策略,才是量化交易的灵魂 课程亲手带你设计并实现两种交易策略,快速培养你的策略思维能力 1. 择时策略:通过这个策略学会如何利用均线,创建择时策略,优化股票买入卖出的时间点。2. 选股策略:掌握选股策略的核心逻辑,并基于收益率创建动量选股策略,并验证其有效性。 手把手带你打造一个易扩展、更安全、效率更高的量化交易系统 第三方平台大而全,不易扩展,效率还差,信息安全也是大问题,打造自己的交易平台才是更优解
### 回答1: Python中的resample函数是用于对时间序列数据进行重采样的函数。它可以将时间序列数据从一个时间频率转换为另一个时间频率。例如,将每天的数据转换为每周的数据或每月的数据。resample函数可以对数据进行聚合操作,例如求和、平均值、最大值、最小值等。 resample函数的语法如下: ```python DataFrame.resample(rule, axis=, closed=None, label=None, convention='start', kind=None, loffset=None, base=None, on=None, level=None) ``` 其中,参数rule是重采样的规则,可以是字符串、日期偏移量或时间段。axis参数指定要重采样的轴,默认为,即行轴。closed参数指定重采样区间的闭合方式,label参数指定重采样区间的标签方式。convention参数指定重采样区间的起始点或结束点。kind参数指定重采样的方法,例如求和、平均值等。loffset参数指定重采样后的时间偏移量。base参数指定重采样的基准时间。on参数指定要重采样的列名。level参数指定要重采样的层级。 使用resample函数可以方便地对时间序列数据进行重采样和聚合操作,从而得到更高层次的数据分析结果。 ### 回答2: Python中的resample(重采样)函数,是一个用于对时间序列数据进行重新采样的函数。对于时段不同的两个时间序列,如果想要进行比较或合并,就需要对它们进行重采样,统一时段间隔,这样能够更加精准的比较和合并两个时序数据。 resample函数的基本语法为: `DataFrame.resample(rule, how=None, axis=0, fill_method=None, closed=None, label=None, convention='start', kind=None, loffset=None, limit=None, base=0, on=None, level=None)` 各个参数含义如下: - rule: 重采样规则字符串或DateOffset对象,规定要重采样的时间间隔。 - how: 降采样时,指定重采样后各时间段内的数值如何计算。通常使用的有sum, mean, std等。 - axis: 轴向,默认为0,即按列进行重采样。 - fill_method: 升采样时,如何用数据填充新增时间戳,例如ffill, bfill等。 - closed: 升采样时,指定新增时间戳的位置关系,例如left, right等。 - label: 升采样时,用于指定新样本的标签位置,以样本的开始或结束为标记。 - convention: start,end,middle是将重采样后的标签设定为每段的开始、结束还是中间。(默认为 start)。 - kind: 重采样方法。一般情况下‘时’或‘周期’。 - loffset: 对重采样后的时间轴标签进行位移 - limit: 限制重采样的结果数量 - on: 对数据集中的某一列进行重采样 - level: 对分层索引的指定层级进行重采样 重采样的方式有两种,一种是升采样,即将低频率的时间序列增加到高频率,如天重采样到小时级别;另一种是降采样,即将高频率的时间序列降低到低频率,如将秒重采样到分钟级别或者小时级别均属于降采样。 总体而言,resample函数Python数据处理当中相当实用,能够迅速处理并分析各类时间序列数据,对于需要对时间类数据进行分析或处理的场合,resample函数将成为你必不可少的工具。 ### 回答3: Python中的resample函数是一种非常常用的信号处理函数,它主要用于信号处理中的重采样操作。所谓重采样,就是在保持原始信号数据的条件下,改变采样率,即对信号进行插值或降采样操作。 resample函数的调用方式如下: ```python scipy.signal.resample(x, num, t=None, axis=0, window=None) ``` 其中,参数解释如下: - x:要重采样的信号; - num:新的结果数组中样本点的数量; - t:可选参数,可以视为重采样之间的时间间隔。默认值为1。如果 t 等于1,则表示信号没有重采样,并且 num 需要大于或等于原始数据中样本点的数量。如果 t 不等于1,则表示重采样,在这种情况下,num 的值可以小于、等于或大于原始数据中样本点的数量。 - axis:可选参数,指定进行重采样的轴,默认值为0。如果给定多个轴,则在每个指定轴上对信号进行重采样;如果给定轴是 None,则沿着数组的第一个轴进行重采样。 - window:可选参数,指定要使用的窗口函数(例如汉明窗)。 resample函数的返回值是一个 NumPy 数组,其形状与原始信号数据的形状相同,但其样本点数量发生了改变。 如果需要对信号进行插值,只需将 num 设置为源数据样本点数量的倍数即可。例如,如果源数据中最初有 100 个样本点,并且希望将信号插值为 300 个样本点,则将 num 设置为 300。 如果希望将信号进行降采样,则需要将 num 设置为小于源数据样本点数量的值。如果要按照 2:1 的比例对信号进行降采样,那么将 num 设置为源数据样本点数量的一半就可以了。 总之,使用 Python 的 resample 函数可以非常方便地进行信号处理中的重采样操作,如插值或降采样。通过合理使用参数,可以实现不同的数据采样要求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Johnny2004

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值