0%

量化投资策略

量化投资学习笔记-量化策略

选股策略

交易策略

GoldenCross策略

移动平均线

  • 移动平均线是利用统计学上的原理,通过平均数的原理将每天的股价予以平均,剔除数列中的不规则波动,显示出该种数列的真正动向并用以判断股价未来的走势。
  • 移动平均线的计算方法通常有算术平均法(EMA)、加权平均法(WMA)和指数平滑移动法(EMA)三种。
  • 移动平均线是一种平滑工具,通过计算价格数据的平均值,可以求得一条起伏较为平缓的曲线。
  • 移动平均线的变化滞后于市场行情的变化。但是,借助于较为平缓的移动平均线,可以大大简化探究潜在趋势的工作。
  • 移动平均线实质上是一种追踪趋势的工具,其目的在于识别和显示旧趋势已经终结或反转、新趋势正在萌生的关键契机。

    移动平均线的用途

  1. 揭示股价平均成本。
  2. 显示股价变动的基本趋势。
  3. 股价支撑线和阻挡线。
  4. 自动发出买卖讯号。

    SMA

    简单移动平均值

    WMA

    加权移动平均值

    EMA

    指数移动平均值(EMA)是比简单移动平均值SMA更优的趋势跟踪指标。它赋予近期数据更高的权重,所以比SMA值反应更快。同时,EMA不会对即将淘汰的数据做出剧烈反应。

GoldenCross算法

短均线平均值低于长均线平均值,清仓
短均线平均值高于长均线平均值,开仓

SMA简单移动均线计算

1
2
3
4
5
6
7
8
9
# 如果短均线从上往下跌破长均线,也就是在目前的bar短线平均值低于长线平均值,而上一个bar的短线平均值高于长线平均值
if short_avg[-1] < long_avg[-1] and short_avg[-2] > long_avg[-2] and cur_position > 0:
# 进行清仓
order_target_value(context.s1, 0)

# 如果短均线从下往上突破长均线,为入场信号
if short_avg[-1] > long_avg[-1] and short_avg[-2] < long_avg[-2]:
# 满仓入股
order_shares(context.s1, shares)

单股票MACD算法

MACD是一种中长线的研判指标。当股市强烈震荡或股价变化巨大(如送配股拆细等)时,可能会给出错误的信号。所以在决定股票操作时,应该谨慎参考其他指标,以及市场状况,不能完全信任差离值的单一研判,避免造成损失。

MACD指标

MACD,移动平滑异同平均线(Moving Average Convergence Divergence)策略。MACD是查拉尔�阿佩尔(Geral Appel)于1979年提出的,由一快及一慢指数移动平均值(EMA)之间的差计算出来。“快”指短时期的EMA,而“慢”则指长时期的EMA,最常用的是12及26日EMA。
MACD指标运用快速(短期)和慢速(长期)移动平均线及其聚合与分离的征兆,加以双重平滑运算,是一种趋向类指标
根据移动平均线原理发展出来的MACD,一则去除了移动平均线频繁发出假信号的缺陷,二则保留了移动平均线的效果,因此,MACD指标具有均线趋势性、稳重性、安定性等特点,是用来研判买卖股票的时机,预测股票价格涨跌的技术分析指标 。

MACD图形的计算方法

差离值(DIF值)

先利用收盘价的指数移动平均值(12日/26日)计算出差离值。

讯号线(DEM值,又称MACD值)

计算出DIF后,会再画一条「讯号线」,通常是DIF的9日指数移动平均值。

柱形图或棒形图(histogram / bar graph)

接着,将DIF与DEM的差画成柱形图(MACD bar / OSC)。

收市价图表(OHLC chart)
Alt text

表的绿线是差离值(DIF),红线是讯号线(DEM),白色区块柱形图(MACD bar / OSC)是两者的差( DM)。

MACD买卖原则

  1. DIF、DEA均为正,DIF向上突破DEA,买入信号参考。
  2. DIF、DEA均为负,DIF向下突破DEA,卖出信号参考。

多股票RSI算法

相对强弱指数(Relative Strength Index,RSI),一借比较价格升降运动以表达价格强度的技术分析工具。
RSI在1978年6月由美国机械工程师威列斯�威尔德提出的技术分析方法。相比起其他分析工具,RSI是其中一种较容易向大众传译的计量工具。
根据威尔德的测量结果,当n=14时,指数最具代表性。

  • 当某证券的RSI升至70时,代表该证券已被超买(Overbought),投资者应考虑出售该证券。相反,
  • 当证券RSI跌至30时,代表证券被超卖(Oversold),投资者应购入该证券。
  • 当某证券的价格变动倾向(上升或下跌)越趋极端,价格变动逆转的可能性将越大。

在证券市场中,大幅波动对RSI有相当程度的影响,但这可能是错误的买卖讯号,投资者应配合其他技术分析指标以发挥相对强弱指数的功用。

海龟交易系统(期货)

ATR 真实波动幅度均值

真实波动幅度均值(Average True Range,ATR)是由美国威尔德所发展出来的技术分析指标,以N天的指数移动平均数平均后的交易波动幅度。
某日的简单交易幅度是当日之最高价H_t−最低价L_t。而真实波动幅度(True Range,TR)则包含前一日的收盘价c_t-1,是以H_t、L_t、C_t-1三个价格做比较,求出当日股价波动的最大幅度。
波动幅度的概念表示可以显示出交易者的期望和热情。大幅的或增加中的波动幅度表示交易者在当天可能准备持续买进或卖出股票。波动幅度的减少则表示交易者对股市没有太大的兴趣。

海龟交易系统

天然的海龟是一个比较成熟而完整的交易系统。
构建交易系统的目的就是避免交易员自己做出主观的决策。这样才能真正的让概率发挥作用。
海龟的主要目标是捕捉趋势。其采用突破法(唐奇安通道 )来确定趋势,当价格突破时认为有买入的信号,而随着价格离当初突破的价格越来越远,我们认为趋势成立的概率就越来越高,加仓!

海龟交易系统的组成

完整的海龟交易系统包含以下内容:

市场

原版海龟选择交易纽约和芝加哥的场内期货。筛选标准则是高流动性,我大A股市场当然也符合这个标准啦。

仓位

仓位管理这可以说是海龟交易系统最核心的部分。Richard Dennis期望通过市场的波动性水平来管理仓位。其构建了指数N来衡量波动性水平。指数的构建为以下四步:

True Range 波动量

公式中,
TR表示一天内的波动量,
H 为当日日内最高价,
L 为当日日内最低价,
PDC 为前一日收盘价。

N指数

公式中,
TR为True Range,即一天内波动量,
PDN为前一日的N值。
此公式的真是含义为计算之前20天(包括今天在内)的N的平均值

Dollar Volatility

公式中,
Dollar Volatility指的是波动的价格,
Dollars per Point指的是标的股票每波动一个最小单位,1手股票的总价格变化量。
在国内最小变化量是0.01元,1手是100股。所以Dollars per Point就是0.01�100=1

Unit

公式中,Unit即为我们买卖的单位,
1% of Account是总资产的1%,
Market Dollar Volatility就是我们之前算出的Dollar Volatility
通过此公式计算出的Unit就是我们要买入的单位数量。
此公式的意义是在一般情况下(市场波动率不大的时候),如果买入1Unit单位的资产,当天震幅使得总资产的变化不超过1%

入市

海龟将所有资金分为两部分,一部分资金按系统一执行,一部分资金按系统二执行

系统一

  1. 若当前价格高于过去20日的最高价,则买入一个Unit(注意是分钟回测)
  2. 加仓:若股价在上一次买入(或加仓)的基础上上涨了0.5N,则加仓一个Unit

    系统二

    与系统一相一致,但当如破55日最高价时才购买
  3. 若当前价格高于过去55日的最高价,则买入一个Unit(注意是分钟回测)
  4. 加仓:若股价在上一次买入(或加仓)的基础上上涨了0.5N,则加仓一个Unit

eg:若某只股票A的N为2,20日最高价为100
则当股价突破100时买入一个Unit,当股价突破100+0.5�2=101时加仓一个Unit,当股价突破101+0.5�2=102时加仓一个Unit。

止损

止损即损失达到多少时就一定要卖出现有仓位。
海龟交易系统规定,当价格比最后一次买入价格下跌2N时,则卖出全部头寸止损(也就是,在一般情况下,损失不会超过2%)。

止盈

系统一

当股价跌破10日内最低价时(10日唐奇安通道下沿),清空头寸结束本次交易

系统二

当股价跌破20日内最低价时(20日唐奇安通道下沿),清空头寸结束本次交易

技巧

资金的调整。开始时设定两个比例:LossAdjust
若交易结束后损失的资金占总资金比例大于Loss,则今后只用现有投资资金的Adjust比例。

eg:若初始资金为100万,设定Loss=80%,Adjust=90%。则当总资产低于100�80%=80万时,进行一次资金调整,以后只使用80�90%=72万的资金用于投资行为

商品期货跨品种配对交易

布林带(Bollinger Bands)

布林带(Bollinger Bands,BBands)也称为布林通道、包宁杰带状、保力加通道或布历加通道,是由约翰�包宁杰(John Bollinger)在1980年代发明的技术分析工具。
应用上结合了移动平均和标准差的概念,其基本的型态是由三条轨道线组成的带状通道(中轨和上、下轨各一条)。中轨为股价的平均成本,上轨和下轨可分别视为股价的压力线和支撑线。

布林带的定义

  • 中轨= N时间段的简单移动平均线
  • 上轨=中轨+ K � N时间段的标准差
  • 下轨=中轨− K � N时间段的标准差

一般情况下,设定N=20K=2,这两个数值也是在布林带当中使用最多的。
在日线图里,N=20其实就是「月均线」(MA20)。
依照正态分布规则,约有95%的数值会分布在距离平均值有正负2个标准差的范围内。

两大指标

由布林带衍生出两项颇为实用的指标:%b指标、带宽指标,以辅助布林带的判读和运用。

%b指标

$\%b$ 指标(Percent b,PB),以数字形式呈现收盘价在布林带中的位置,做为交易决策时的关键指标。例如:当%b值为0.5(或以百分比表示50%),代表收盘价处于布林带的中间位置。

计算公式:%b值 = (收盘价−布林带下轨值) � (布林带上轨值−布林带下轨值)

由于收盘价会在上、下轨道震荡游走,幅度甚至大于轨道范围(0~1),因此%b值没有上下限。

  • 当走势向上突破,收盘价落于上轨上方时,%b值> 1;
  • 当走趋向下突破,收盘价落在下轨下方时,%b值< 0。

功能:通过观察分析「%b指标」可以提供投资时的参考,依据指标的强弱走势,作出买卖决策。

带宽指标

带宽指标(Bandwidth,BW),是由布林带中轨及上、下轨衍生出的指标,利用股价波动范围以判断趋势的强度与转折

计算公式:带宽指标值 = (布林带上轨值−布林带下轨值) �布林带中轨值
布林带中轨为股价的移动平均值(平均成本),所以带宽指标值可视为通道上、下轨幅度与股价平均成本的比率(例如:当带宽指标值为0.3,代表通道上、下轨幅度为股价平均成本的30%)。

  • 带宽指标值越高,代表幅度相对平均成本比率越大;
  • 带宽指标值越低,代表幅度相对平均成本比率越小。

功能:带宽指标,最常用于限定收敛状态,一种基于波动率的交易机会;

对冲比率/套期保值比率

套期保值比率是指为规避固定收益债券现货市场风险,套期保值者在建立交易头寸时所确定的期货合约的总价值与所保值的现货合同总价值之间的比率。
确定合适的套期保值比率是减少交叉套期保值风险,达到最佳套期保值效果的关键。

KDJ指标(随机指标)

随机指标(KDJ)由George C.Lane创制。它综合了动量观念强弱指标移动平均线的优点,用来度量股价脱离价格正常范围的变异程度。
KDJ指标考虑的不仅是收盘价,而且有近期的最高价最低价,这避免了仅考虑收盘价而忽视真正波动幅度的弱点。

KDJ的原理

  • 随机指标(KDJ)一般是根据统计学的原理,通过一个特定的周期(常为9日、9周等)内出现过的最高价、最低价及最后一个计算周期的收盘价及这三者之间的比例关系,来计算最后一个计算周期的未成熟随机值 RSV,然后根据平滑移动平均线的方法来计算K值、D值与J值,并绘成曲线图来研判股票走势
  • 随机指标(KDJ)是以最高价、最低价及收盘价为基本数据进行计算,得出的K值、D值和J值分别在指标的坐标上形成的一个点,连接无数个这样的点位,就形成一个完整的、能反映价格波动趋势的KDJ指标。它主要是利用价格波动的真实波幅来反映价格走势的强弱和超买超卖现象,在价格尚未上升或下降之前发出买卖信号的一种技术工具。它在设计过程中主要是研究最高价、最低价和收盘价之间的关系,同时也融合了动量观念、强弱指标和移动平均线的一些优点,因此,能够比较迅速、快捷、直观地研判行情。
  • 随机指标(KDJ)最早是以KD指标的形式出现,而KD指标是在威廉指标的基础上发展起来的。不过威廉指标只判断股票的超买超卖的现象,在KDJ指标中则融合了移动平均线速度上的观念,形成比较准确的买卖信号依据。在实践中,K线与D线配合J线组成KDJ指标来使用。由于KDJ线本质上是一个随机波动的观念,故其对于掌握中短期行情走势比较准确。

RSV

KD指标

威廉指标

参考

ricequant 策略示例
优矿帮助文档