Giter VIP home page Giter VIP logo

dsx_base_algorithm's Introduction

量化相关的一些基础算法

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

交流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指标

算法流程图

dsx_base_algorithm's People

Contributors

dsxkline avatar

Stargazers

bopo.wang avatar Patrick Fan avatar lbgitjp avatar  avatar  avatar  avatar  avatar Wu Yihang avatar mathews avatar  avatar PandaBear1314 avatar  avatar vfmax avatar  avatar James Lee avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.