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

算法流程图

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.