量化:常见策略指标合集 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
raquant
V2EX    Python

量化:常见策略指标合集

  •  1
     
  •   raquant 2017-02-28 11:23:50 +08:00 2071 次点击
    这是一个创建于 3202 天前的主题,其中的信息可能已经有所发展或是发生改变。

    1 、 MACD 指标

    MACD 称为指数平滑移动平均线,是从双指数移动平均线发展而来的,由快的指数移动平均线( EMA12 )减去慢的指数移动平均线( EMA26 )得到快线 DIF ,再用 2×(快线 DIF-DIF 的 9 日加权移动均线 DEA )得到 MACD 柱。 MACD 的意义和双移动平均线基本相同,即由快、慢均线的离散、聚合表征当前的多空状态和股价可能的发展变化趋势,但阅读起来更方便。当 MACD 从负数转向正数,是买的信号。当 MACD 从正数转向负数,是卖的信号。当 MACD 以大角度变化,表示快的移动平均线和慢的移动平均线的差距非常迅速的拉开,代表了一个市场大趋势的转变。

    公式:

    12 日 EMA 的计算:

    EMA ( 12 ) = 前一日 EMA ( 12 ) X 11/13 + 今日收盘价 X 2/13

    26 日 EMA 的计算:

    EMA ( 26 ) = 前一日 EMA ( 26 ) X 25/27 + 今日收盘价 X 2/27

    差离值( DIF )的计算:

    DIF = EMA ( 12 ) - EMA ( 26 ) 。

    根据差离值计算其 9 日的 EMA ,即离差平均值,是所求的 DEA 值。为了不与指标原名相混淆,此值又名 DEA 或 DEM 。   今日 DEA = (前一日 DEA X 8/10 + 今日 DIF X 2/10 )

    用( DIF-DEA )*2 即为 MACD 柱状图。

    简易实现代码: class Myclass extends BackTestTradingStrategy{ String stock = "sha-601318"; MACDFactor macdFactor = new MACDFactor(); void init(BackTestContext context){
    universe.add(stock); }//end of init

    void handleData(BackTestContext context,BarData data){ double macd = macdFactor.getPriorValue(stock); record("macd",macd); }//end of handle_bar }

    2.RSI 指标(Relative Strength Index)

    RSI 的原理简单来说是以数字计算的方法求出买卖双方的力量对比,譬如有 100 个人面对一件商品,如果 50 个人以上要买,竞相抬价,商品价格必涨。相反,如果 50 个人以上争着卖出,价格自然下跌。

    强弱指标理论认为,任何市价的大涨或大跌,均在 0-100 之间变动,根据常态分配,认为 RSI 值多在 30-70 之间变动,通常 80 甚至 90 时被认为市场已到达超买状态,至此市场价格自然会回落调整。当价格低跌至 30 以下即被认为是超卖状态,市价将出现反弹回升。

    公式:

    LC := REF(CLOSE,1);

    RSI1:SMA(MAX(CLOSE-LC,0),N1,1)/SMA(ABS(CLOSE-LC),N1,1)*100;

    RSI2:SMA(MAX(CLOSE-LC,0),N2,1)/SMA(ABS(CLOSE-LC),N2,1)*100;

    RSI3:SMA(MAX(CLOSE-LC,0),N3,1)/SMA(ABS(CLOSE-LC),N3,1)*100;

    这里还有一种算法:

    RS:= SMA(MAX(CLOSE-LC,0),N,1)/SMA(ABS(CLOSE-LC),N,1)

    RSI:= 100*RS/(1+RS)

    简易实现代码:(前一个是 Java ,这一个是 Python) def init(context): context.s="sha-601318" universe.extend(context.s) f1=RSIFactor(14,'close') reg_factor("rsi",f1) def every_day(context,data): alldata=factor_output("rsi","sha-601318") record("RSI",alldata["rsi"])

    3.顺势指标( CCI )

    CCI 指标是美国股市技术分析 家唐纳德蓝伯特(Donald Lambert)于 20 世纪 80 年代提出的,专门测量股价、外汇或者贵金属交易是否已超出常态分布范围。属于超买超卖类指标中较特殊的一种。波动于正无穷大和负无穷大之间。但是,又不需要以 0 为中轴线,这一点也和波动于正无穷大和负无穷大的指标不同。

    用法:

    1.当 CCI 指标曲线在+100 线~-100 线的常态区间里运行时,CCI 指标参考意义不大,可以用 KDJ 等其它技术指标进行研判。

    2.当 CCI 指标曲线从上向下突破+100 线而重新进入常态区间时,表明市场价格的上涨阶段可能结束,将进入一个比较长时间的震荡整理阶段,应及时平多做空。

    3.当 CCI 指标曲线从上向下突破-100 线而进入另一个非常态区间(超卖区)时,表明市场价格的弱势状态已经形成,将进入一个比较长的寻底过程,可以持有空单等待更高利润。如果 CCI 指标曲线在超卖区运行了相当长的一段时间后开始掉头向上,表明价格的短期底部初步探明,可以少量建仓。 CCI 指标曲线在超卖区运行的时间越长,确认短期的底部的准确度越高。

    4.CCI 指标曲线从下向上突破-100 线而重新进入常态区间时,表明市场价格的探底阶段可能结束,有可能进入一个盘整阶段,可以逢低少量做多。

    5.CCI 指标曲线从下向上突破+100 线而进入非常态区间(超买区)时,表明市场价格已经脱离常态而进入强势状态,如果伴随较大的市场交投,应及时介入成功率将很大。

    6.CCI 指标曲线从下向上突破+100 线而进入非常态区间(超买区)后,只要 CCI 指标曲线一直朝上运行,表明价格依然保持强势可以继续持有待涨。但是,如果在远离+100 线的地方开始掉头向下时,则表明市场价格的强势状态将可能难以维持,涨势可能转弱,应考虑卖出。如果前期的短期涨幅过高同时价格回落时交投活跃,则应该果断逢高卖出或做空。

    公式:

    第一种计算过程如下:

    CCI ( N 日)=( TP - MA )÷MD÷0.015

    其中, TP=(最高价+最低价+收盘价)÷3

    MA=近 N 日收盘价的累计之和÷N

    MD=近 N 日( MA -收盘价)的累计之和÷N

    0.015 为计算系数, N 为计算周期

    简易实现代码: class Myclass extends BackTestTradingStrategy{ String stock = "sha-601318"; CCIFactor cciFactor = new CCIFactor(); void init(BackTestContext context){
    universe.add(stock); }//end of init

    void handleData(BackTestContext context,BarData data){ double cci = cciFactor.getPriorValue(stock); record("cci",cci); }//end of handle_bar }

    4.KDJ 指标

    KDJ 指标又叫随机指标,是一种相当新颖、实用的技术分析指标,它起先用于期货市场的分析,后被广泛用于股市的中短期趋势分析,是期货和股票市场上最常用的技术分析工具。

    随机指标 KDJ 一般是用于股票分析的统计体系,根据统计学原理,通过一个特定的周期(常为 9 日、 9 周等)内出现过的最高价、最低价及最后一个计算周期的收盘价及这三者之间的比例关系,来计算最后一个计算周期的未成熟随机值 RSV ,然后根据平滑移动平均线的方法来计算 K 值、 D 值与 J 值,并绘成曲线图来研判股票走势。

    *这个忒随机,如果封装成 Factor 有的用户认为不靠谱,所以 KDJ 指标就由大家自己用 Random 类来实现啦

    目前尚无回复
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5132 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 09:24 PVG 17:24 LAX 01:24 JFK 04:24
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86