股票指标算法

来源:互联网 发布:双翼软件官网 编辑:程序博客网 时间:2024/05/14 08:01
  1. MA(移动平均线)

MA(N)=(Ct+ Ct-1+ Ct-2+…+ Ct-n+1)÷N

Ct: 计算周期内第t个交易日的收盘价

( 取值(MA(5)、MA(10)、MA(20) )

2. MACD(指数平滑异同移动平均线)

今日EMA(12)=(2/13)×今日收盘价+(11/13)×昨日EMA(12)

今日EMA(26)=(2/27)×今日收盘价+(25/27)×昨日EMA(26)

今日DIF=今日 EMA(12)-今日 EMA(26) 

今日DEA=(2/10)×今日DIF+ (8/10)×昨日DEA

初始EMA(12)=初始EMA(26)=计算周期内第一个交易日的收盘价;

初始DEA=0

MACD= (DIF-DEA)×2

   式中改正:

       今日MACD(改为DEA)=(2/10)×今日DIF+ (8/10)×昨日MACD(改为DEA)

初始MACD(改为DEA)=0

    而MACD(即为柱状图)= (DIF-DEA)×2

(取值 DIF、DEA和MACD)

3.DMI 

【共有多空指标(+DI、-DI)和趋向指标(ADX、ADXR)两组指标】

(1)动向指数DM【当日动向值分为上升动向、下降动向和无动向三种,且只能是其中一种。】

A、上升动向  +DM=当日最高价 – 昨日最高价,如果<=0 则+DM=0。

B、下降动向  -DM=前日最低价 – 当日的最低价,如果<=0 则-DM=0。

比较+DM和-DM,较大的那个数字保持,较小的数字归0。

C、无动向   +DM =-DM时,则+DM =-DM =0

(2)真实波幅TR

A、当日最高价 – 当日最低价

B、当日最高价 – 昨日的收盘价

C、当日最低价 – 昨日的收盘价

TR是A、B、C中的数值(取绝对值)最大者。

(3)方向线DI,分为“上升指标”和“下降指标”。

+DI(改为PDI)=(+DM÷TR)×100

-DI  (改为MDI)=(-DM÷TR)×100

将14个交易日内的+DM、-DM及TR平均化,所得数值分别为+DM(14),-DM(14)和TR(N)。

+DM(14)t = 1/14+DM t +13/14+DM(14)t -1

-DM(14)t = 1/14-DM t +13/14-DM(14)t -1

TR(14)t = 1/14 TRt +13/14 TR(14)t-1

+DI(14)(改为PDI)=[+DM(14)÷TR(14)]×100

-DI(14)(改为DMI)=(-DM(14)÷TR(14))×100

数值介于0与100之间

(4)动向平均数ADX【将+DI和-DI差的绝对值除以总和的百分比得到动向指数 DX,进行平滑计算,得到平均动向指标ADX】

DX=(DI DIF÷DI SUM) ×100

式中:DI DIF=|(+DI)—(-DI) | 【| | 表示绝对值】

DI SUM为上升指标和下降指标的总和

ADX是DX 的14个交易日的移动平均值

ADX(14) t = 1/14 DXt +13/14 ADX(14)t-1

(5)ADXR=(当日ADX + 6日前的ADX)÷2

初始+DM(14)用第一个交易日和第二个交易日的数据计算

 (取值PDI 、DMI、 ADX和 ADXR )

4.WR 计算公式

WRt= [Hn- Ct]/[Hn-Ln]×100

Ct:计算周期内第t个交易日的收盘价 

Hn和Ln分别为近 N个交易日内(包括当天)出现的最高价和最低价。

(取值WR(14)和WR(20),即n=14和n=20 )

5.BOLL

【由上轨线UP、中轨线MB、下轨线DN和价格线(价格线是以美国线表示)组成。(美国线的直线部分,表示了当天行情的最高价与最低价间的波动幅度。左侧横线代表开盘价,右侧横线代表收盘价)。】

 

MA=(Ct+ Ct-1+ Ct-2+…+ Ct-(N-1))÷N

MB=(Ct+ Ct-1+ Ct-2+…+ Ct-(N-2)))÷(N-1)

MD=

UP=MB+2×MD

DN=MB-2×MD

   Ct: 计算周期内第t个交易日的收盘价 N:取值为一般为20

       式中:UPPER= UP , MD=MID, DN=LOWEI

      (取值MID 、UPPER 和LOWER)

6.KDJ(随机指标)计算公式

(1)RSV(n)=(Ct-Ln/Hn-Ln)×100 

Ct:计算周期内第t个交易日的收盘价;

Hn、Ln:分别为近n个交易日内(包括当天)出现的高价和低价 

n:一般取值为9日

(2)对RSV(n)进行3日指数平滑移动平均,得到K值;

K 值:今日 K 值 = 2/3×昨日 K 值 + 1/3×今日 RSV 

(3)对K进行3日指数平滑移动平均,得到D值;

D 值:今日 D 值 = 2/3×昨日 D 值 + 1/3×今日 K 值

(4) J计算公式为:J=3D-2K=D+2(D-K)

初始的 K、D =当日的 RSV值

 (取值K 、D 和J)

7.OBV 

今日OBV=昨日 OBV+sgn×今天的成交量 

其中sgn 是符号的意思,sgn 可是+1,也可是-1,这由下式决定;

sgn = + 1   今收盘价≥昨收盘价

sgn = - 1   今收盘价<昨收盘价

初始值OBV一般以第一日成交量代替

(取值OBV)

8. RSI

以n日为例介绍 RSI(n)的计 算方法:

先找到包括当天在内的连续 n+1天的收盘价,用每一天的收盘价减去上一天的收盘价,我们会得到n个数字。这 14个数字中有正(比上一天高)有负(比 上一天低)。 

A=n个数字中正数之和 

B=n个数字中负数之和×(-1)

A 和 B 都是正数

RSI(n)=A/ A + B

n一般取值为5、9和14

(取值RSI(5)、RSI(9)和RSI(14))

0 0