Skip to content

dsxkline/dsx_base_algorithm

Repository files navigation

量化相关的一些基础算法

就是整理一些量化相关的基础算法,供刚入坑的朋友参考学习,主要是以学习为主,写的不对的地方还望多指导指导。

交流QQ群 789599606 (量化交流)

网站 dsxquant.com

1、K线周期转换算法

通过时间分组算法转换k线周期

即通过对时间的周期提取分组,同周期K线归类为一组,再合并计算即可得到目标周期K线数据

2、K线涨跌幅复权算法

算法简单直接:在每次除权发生后, 根据除权价和前一收盘价计算一个比率,称为除权因子;把截止到计算日历次的除权因子连乘,即为截止日的累积除权因子。计算前复权价,则以价格乘上累积除权因子;向后复权,则价格除以累积除权因子。

根据涨跌幅复权法,首先要计算除权因子:

除权收盘价 = 除权除息价 = (股权登记日的收盘价-每股所分红利现金额+配股价×每股配股数)÷(1+每股送红股数+每股配股数+每股转增股数)

除权因子 = 除权收盘价 / 除权登记日收盘价

后复权上市首日后除权因子为1,前复权最近一次除权除息日后的交易日前复权因子为1。
除权会不断发生,所以需要计算出累积除权因子
累积除权因子 = 上一个除权因子 * (除权收盘价 / 除权登记日收盘价)

前复权因子 = 累积除权因子

后复权因子 = 1.0 / 累积除权因子

因为后复权价=价格 / 累积除权因子,所以后复权因子=1.0/累积除权因子,这样就能用后复权因子*价格来计算每个k线的后复权价格了 

前复权价格 = 价格 * 前复权因子

后复权价格 = 价格 * 后复权因子

核心代码

    # 除权除息价=(股权登记日的收盘价-每股所分红利现金额+配股价×每股配股数)÷(1+每股送红股数+每股配股数+每股转增股数);
    price = (close - per_cash_div/10.0 + allo_price * (per_ten_allo/10.0) ) / (1.0+(per_ten_send/10.0) + (per_ten_allo/10.0) + (per_ten_incr/10.0) )
    # 通过上面的计算得到除权除息价,也就是计算出了除权除息日的前收价,除权登记日的除权收盘价,用除权登记日的收盘价除以除权价得到单次除权因子;
    # 除权因子= 除权收盘价 / 除权登记日收盘价
    right_factor = price / close

3、免费行情数据接口

鉴于笔者能力有限,现在只支持 Python,Java,Flutter,Object-C,Js,C# ,这几个语言的开发者可以参考下。

支持接口类型

目前仅支持以下数据接口:

  • 实时行情
  • 分时图
  • 五日数据
  • 历史日K线
  • 历史分钟K线

4、指标算法集合

量比、换手率、涨跌幅

5、递归下降算法

运用递归下降法创建一个公式编辑器来计算KDJ指标

算法流程图

About

量化相关的一些基础算法

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published