量化回测中如何对历史行情做复权

这篇具有很好参考价值的文章主要介绍了量化回测中如何对历史行情做复权。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

什么是复权

在量化回测中,为了消除股票除权出息或者期货主力合约切换造成得价格跳变,从而对回测结果造成影响,通常会对历史行情价格采用复权操作。

对于股票,复权是对股价和成交量进行权息修复,按照股票的实际涨跌绘制股价走势图,并把成交量调整为相同的股本口径。股票除权、除息之后,股价随之产生了变化,但实际成本并没有变化。期货合约则是持仓量不变,仅对连续的主力合约价格做调整。

如:原来20元的股票,十送十之后为10元,但实际还是相当于20元。从k线图上看这个价位看似很低,但很可能就是一个历史高位。复权的形式有向前复权和向后复权两种。

如果不复权

当股票股价因为分红拆股等原因变化时,不填补股价走势图上的巨大空隙,仍然保持股票历史和当天的交易价格即为不复权。

如:原来30元的股票,一股拆三股后,股票价格变为10元,在k线图中,股票价格在当天会有一个断崖式的下跌。

不复权K线图能真实反应股价历史的变动信息,缺点是会留有大缺口,导致各类技术指标都无法应用,使用复权后,可以将股票的波动连续。

前复权与后复权

前复权:是保持现有价位不变,将以前的价格缩减,将除权前的K线向下平移,使图形吻合,保持股价走势的连续性。

前复权就是在K线图上以除权后的价格为基准来测算除权前股票的市场成本价。就是把除权前的价格按现在的价格换算过来。复权后现在价格不变以前的价格减少

前复权公式:复权后价格=(复权前价格-现金红利)÷(1+流通股份变动比例)

前复权的优点:前复权是以目前价为基准复权,其意义是让你一目了然的看到成本分布情况,如相对最高、最低价,成本密集区域,以及目前股价所处的位置是高还是低。均线系统也更顺畅,利于分析。

后复权:是在K线图上以除权前的价格为基准来测算除权后股票的市场成本价。就是把除权后的价格按以前的价格换算过来。简单的说,就是保持先前的价格不变,而将以后的价格增加。

复权后以前的价格不变,现在的价格增加,所以为了利于分析一般推荐前复权。

后复权:复权后价格=复权前价格×(1+流通股份变动比例)-配(新)股价格×流通股份变动比例+现金红利

后复权的优点:后复权可让你清楚该股上市以来累计涨幅,如当时买入,参与全部配送、分红,一直持有到目前的价位。

以贵州茅台(600519)为例2015-07-17(每十股 送1.00股 红利43.74元)为例

不复权:股票价格出现断崖式下跌

以贵州茅台(600519)为例2015-07-17(每十股 送1.00股 红利43.74元)为例

量化回测中如何对历史行情做复权,金融科技,区块链,金融

量化回测中如何对历史行情做复权,金融科技,区块链,金融

2015-07-16日收盘价格为251.59元,2015-07-17日收盘价格为228.29元,不复权时股票价格出现下跌

前复权:以当前份额为基础对除权前的股价换进换算。

量化回测中如何对历史行情做复权,金融科技,区块链,金融

量化回测中如何对历史行情做复权,金融科技,区块链,金融

2015-07-16日收盘价格为61.33元,2015-07-17日收盘价格为64.87元,进行前复权发现实际上涨

后复权:以初始份额为基础对除权后的股价进行换算。

量化回测中如何对历史行情做复权,金融科技,区块链,金融

量化回测中如何对历史行情做复权,金融科技,区块链,金融

2015-07-16日收盘价格为1392.41元,2015-07-17日收盘价格为1412.38元,进行后复权发现实际价格上涨

表1 不同复权方式价格对比

2015-07-16价格

2015-07-17价格

价格变化趋势

不复权

251.59元

228.29

下跌

前复权

61.33

64.87

上涨

后复权

1392.41

1412.38

上涨

加减复权和涨跌幅(比例)复权

在普通的看盘软件上,看到的都是前减复权——把当前的股价固定,前面股价是减去现金分红和流通股变动比例之后的数值。

如果一只股票分红次数比较多,做减法之后,减着减着股价就变成负数了,例如贵州茅台,经过前减复权后,2005年的股价是-30多元——价格是负的,对着图形看看整体走势还可以,难以用来回测。

涨跌幅复权法不再是做加减法,而是做乘除法,这样股价永远是正的。也能反映出分红送转的占比情况,保证复权后K线的连续性。 涨跌幅复权法全称为涨跌幅加权平均价格法,是指根据一段时间内股票的涨跌幅度和成交量,计算出一个加权平均价格,用来衡量股票的涨跌情况。

具体来说,假设股票在某个时间点上涨了一定比例的价格,那么在调整后的股价中,这个价格涨幅所占比例应该与公司行动前的股价相同

下面是涨跌幅复权算法的一个示例:

假设一只服股票在某一天的收盘价为 100。在第二天,该公司宣布拆股,比例为 1:2。在这种情况下,我们需要将前一天的股价乘以1/2,以反映股票数量增加的影响。现在,假设第三天的收盘价为 120。如果我们只考虑股票的价格变化,那么涨幅为 20%。但是,在进行涨跌幅复权后,我们会发现,第二天的调整后的股价为 50(即前一天的收盘价100 乘以1/2) ,因此,实际上第三天的涨幅是 140% (即 120/50-1)。

需要注意的是,涨跌幅复权算法是一种相对复杂的算法,实际应用中需要考虑许多因素,如股票分红和拆股的比例、税收和交易费用等。涨跌幅复权法前复权、后复权不会出现负数。而且这种方法前复权和后复权都能够正确计算涨跌幅,也能够正确计算资金的理论收益率。因此,用比例法复权,回测时采用前复权和后复权都可以,理论上回测结果结果的收益率应该一样。

比例法后复权价的计算公式:

量化回测中如何对历史行情做复权,金融科技,区块链,金融

Tick数据的量化回测方法

K线图上的开盘价、最高价、最低价、收盘价、成交量等等,为了更好的区分,我们把这些数据统称为Bar数据。回测中常常以Bar数据为单位进行计算。

Bar数据就是基于Tick数据,并按照时间周期分割而成,1分钟的Bar数据是由1分钟内的Tick数据组成,5分钟的Bar数据是由5分钟内的Tick数据组成,以此类推......形成了各种分钟图、小时图、日线图等等。一分钟的K线只有一个Bar数据,但是可能包含120个Tick数据。因此,回测的历史数据可以分为:Bar数据和Tick数据,并且在同一个周期内Tick的数据量要比Bar数据量大很多。

需要注意的是,市面上不同数据源的复权方法可能各不相同,对于股票,同花顺,东财是采用加减法复权,万得、米筐则采用比例法复权。从回测的角度,建议不要采用加减法复权,因为其前复权可能产生负值,而应该采用比例法复权。对于期货合约,也要注意数据源的这类差异。文章来源地址https://www.toymoban.com/news/detail-769933.html

到了这里,关于量化回测中如何对历史行情做复权的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 量化交易策略的未来:如何融合人工智能与金融

    量化交易策略的未来:如何融合人工智能与金融 量化交易策略已经成为金融市场中最受关注的话题之一。随着大数据、人工智能和机器学习技术的快速发展,量化交易策略的应用范围和深度得到了显著提高。这篇文章将探讨量化交易策略的未来趋势,以及如何将人工智能与金

    2024年02月20日
    浏览(127)
  • Backtrader 量化回测实践(1)—— 架构理解和MACD/KDJ混合指标

    按Backtrader的架构组织,整理了一个代码,包括了Backtrader所有的功能点,原来总是使用SMA最简单的指标,现在稍微增加了复杂性,用MACD和KDJ两个指标综合作为操作指标,因此买入卖出操作就比较少,还有就是买入的时候,采用了限价单,整个的交易频率不高,所以图示交易点

    2024年02月21日
    浏览(32)
  • 形态驱动选股支持回测评估啦!!股票量化分析工具QTYX-V2.5.4

    前言 在股票交易中,不少交易者容易走入胜率的误区,总觉得策略的胜率要很高才能盈利,其实设置好止损点后,让利润奔跑,利用赔率也是可以长期盈利的。 股票量化分析工具QTYX的形态选股功能,就是利用了的赔率原理去获利。 比如出现双底形态、箱体形态的个股不一定

    2024年02月11日
    浏览(35)
  • 【金融量化】如何判断一个基金是不是主动型基金还是被动型基金?

    主动型基金是指由基金经理或管理团队根据市场行情、个股研究等主观因素进行投资决策的基金,其资产配置和投资组合均由基金经理通过主动选股、择时等方式加以调整。 被动型基金则是指根据某个指数进行投资的基金,其资产配置和投资组合均是模拟指数所投资的资产,

    2024年02月11日
    浏览(44)
  • 打通选股环节和行情显示链路!股票量化分析工具QTYX-V2.5.1

    目前股票量化分析工具QTYX已经打通了形态驱动选股和数据驱动选股之间的链路。比如双底选股、RPS选股、盘整平台突破选股得到的数据,可以叠加上财务数据、基本面数据、基金持仓数据,然后用条件表达式进行多因子综合排序,从而筛选出优质股票。 如果要更进一步提高

    2024年02月11日
    浏览(35)
  • 冠达管理:有色金属迎顺周期行情 板块估值降至历史低位

    近期,A股地产链相继迸发,家居用品、房地产服务等细分板块持续反弹。沉寂多时的地产链上游——有色金属板块相同遭到资金青睐。证券时报·数据宝统计,8月28日以来,有色金属指数累计上涨近6%,跑赢同期上证指数。 从个股来看,有色金属股票8月28日以来平均上涨5.4

    2024年02月10日
    浏览(36)
  • 001:如何获取A股个股的前复权K线数据

    以获取京泉华最近一年的前复权K线数据为例: 新建文件main.py,内容如下: 用python3执行,执行后得到文件002885.csv。 done!!

    2024年02月07日
    浏览(32)
  • Python:Python编程:金融量化交易

    在金融量化交易中,下面几个模块是应用的比较广泛的 numpy (Numberic Python) : 提供大量的数值编程工具,可以方便的处理:向量矩阵等运算,相比高昂的 matlab , NumPy的出现使 Python得到了更多人的青睐。 scipy : 更多应用于 统计,优化,差值,数值积分,时频率转换等领域 Pandas

    2024年02月07日
    浏览(38)
  • 【金融量化】对企业进行估值的方法有哪些?

    如何对企业进行估值?有2个方法估算。 它是一种定价模型,用于计算企业的内在价值。 比如说你可以根据公司近N年的现金流情况。借此去预测未来N年的现金流情况。所有的现金流数据都可以在年报上查询到。最后按照预测的数据进行折现,也就是算出未来5-10年的价格换算

    2024年02月12日
    浏览(44)
  • python数据分析及可视化(十六)金融量化(金融工具、金融分析、Tushare安装使用、双均线分析)

    金融就是对现有资源进行重新整合之后,实现价值和利润的等效流通。 比如小明想把手里的资金投资给小李,而小李有好的增值项目但是缺少资金,如果小李的项目创业成功,小明的资金就会增长。 在金融市场中可交易的金融资产,主要分为股票、期货、黄金、外汇、基金

    2024年02月10日
    浏览(72)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包