量化投资 (quantitative invest)
量化投资 (quantitative invest)整理相关概念与理论。
Agreement
相关术语
私募股权 (Private Equity, PE)
骗线 (Cheat Line)
指大户利用散户笃信技术指标的心理,故意操作股价形成一定线型,引诱散户买进或卖出。
理论上只要是技术指标都可能被操纵,但是操纵股价是有代价的,需要资金支持,因此无法长期进行。
政策导向
经济指标
GDP增速
消费者物价指数 (Consumer Price Index, CPI)
采购经理指数 (Purchasing Managers’ Index, PMI)
行业指标
金融指标
制造业指标
财务指标
市盈率 (Price Earnings Ratio, PER or P/E)
$PER=\frac{每股股价}{每股盈利}$
静态市盈率 (Last Year Ratio, LYR)
$PER=\frac{每股股价}{上年度每股盈利}$
动态市盈率
$PER=\frac{每股股价}{本年度每股预测盈利}$
取决于本年度年报公布情况,每股盈利预测方法有所不同:
- 一季度财报:$预测盈利=第一季度财报\times 4$
- 半年度财报:$预测盈利=半年度财报\times 2$
- 三季度财报:$预测盈利=三季度财报\times \frac{4}{3}$
滚动市盈率 (Trailing Twelve Months, TTM)
$PER=\frac{每股股价}{近十二月每股盈利}$
滚动市盈率在每季度财报公布后均会调整。
市净率 (Price-to-Book Ratio, PBR or P/B)
$PBR=\frac{每股股价}{每股净资产}$
技术指标
分析理论
艾略特波浪理论 (Elliott Wave)
强力指数 (Force Index)
成交量加权平均价格 (Volume Weighted Average Price, VWAP)
时间加权平均价格 (Time Weighted Average Price, TWAP)
Dan Zanger 十大黄金法则
- 确保这只股票具有良好的基础或模式
- 当股票在该基础或形态的趋势线上方移动时买入股票,并确保“突破”发生后不久成交量高于近期趋势。永远不要在趋势线上方支付超过 $5%$ 的成本。并关注 $30$ 日移动平均交易量。
- 如果这只股票跌回到技术买入区域或突破点下方 $3\sim5$ 美元,请尽快卖出。股票越贵,你能给它的回旋余地就越大。有些人采用 $5%\sim7%$ 的止损规则。这可能意味着突破失败了。
- 当股票从突破点上涨 $15%\sim20%$ 时,卖出 $20%\sim30%$ 的头寸。
- 持有最强劲的股票的时间应该最长,并卖出不在上涨或震荡中的股票。
- 识别并跟踪强势股,并尝试将其纳入投资组合。
- 在市场波动了很长一段时间后,你的股票会很容易遭到抛售,这种情况发生得如此之快,以至于你都不敢相信。学习设置更高趋势线并学习反转模式以帮助你离场。
- 股票走势发生改变需要成交量,因此开始了解个股的成交量规律,然后了解它对成交峰值的反应。成交量是股票走势成败的关键。
- 是否买入股票,需要观察走势,并将其与当日买入点的成交量结合起来,并在考虑买入之前要密切关注整体市场环境。
- 在掌握市场、图表和自己的情绪之前,切勿进行杠杆和保证金交易。
超买超卖类
未成熟随机值(Raw Stochastic Value, RSV)
未成熟随机值主要用来分析市场是处于“超买”还是“超卖”状态:RSV高于 $80%$ 时候市场即为超买状况,行情即将见顶,应当考虑出仓;RSV低于 $20%$ 时候,市场为超卖状况,行情即将见底,此时可以考虑进仓。
$RSV(n) = \frac{C_t-L_n}{H_n-L_n} \times 100%$
其中,$C_t$为第$n$日收盘价,$L_n$为$n$日内最低价,$H_n$为$n$日内最高价,$RSV \in [0,100%]$ .
# 通达信:N ∈ 9@[2, 100]
# RSV赋值:(收盘价-N日内最低价的最低值)/(N日内最高价的最高值-N日内最低价的最低值)*100
RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;思考
Q:单边行情的RSV是否仍具有参考性?
A:单边上涨行情的RSV会逼近 $100$,而单边下跌行情的RSV会逼近 $0$
随机指标(KDJ Stochastic Indicator, KDJ)
KDJ指标由 George C. Lane 创造,它综合了动量观念、强弱指标及移动平均线的优点,用来度量股价脱离价格正常范围的变异程度。它起先用于期货市场的分析,后被广泛用于股市中短期趋势分析。
KDJ指标一般是根据统计学的原理,通过一个特定的周期(常为9日、9周等)内出现过的最高价、最低价及最后一个计算周期的收盘价及这三者之间的比例关系,来计算最后一个计算周期的未成熟随机值(Row Stochastic Value, RSV),然后根据平滑移动平均线的方法来计算K值、D值与J值,并绘成曲线图来研判股票走势。
$K_n=(1-\alpha)\times K_{n-1}+\alpha\times RSV_n$
$D_n=(1-\alpha)\times D_{n-1}+\alpha\times K_n$
$J_n= 3K_n-2D_n$
其中,若 $K_{n-1}$ 和 $D_{n-1}$ 不存在,以 50 代替,此外 $\alpha$ 默认值为 $\frac{1}{3}$,此处 $3$ 与周期相关。亦有版本中指标 $J_n$ 的计算式为 $J_n= 3D_n-2K_n$。
# 通达信 @ 9,3,3
RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100; # RSV赋值:(收盘价-N日内最低价的最低值)/(N日内最高价的最高值-N日内最低价的最低值)*100
K:SMA(RSV,M1,1); # 输出K:RSV的M1日[1日权重]移动平均
D:SMA(K,M2,1); # 输出D:K的M2日[1日权重]移动平均
J:3*K-2*D; # 输出J:3*K-2*D思考
Q:KDJ指标的基础用法?
A:本质上,K值是对RSV的滑动平均,D值是对K值的滑动平均,J值通过作差求取两周期信号间的区别。主要遵循低位金叉买入、高位死叉卖出,但需考虑噪声信号,避免误操作。
Q:KDJ指标计算基于RSV,那么在单边行情下是否具有参考性?其表现又如何?
A:KDJ指标在单边行情会发生“钝化”现象。在长期(相对于计算周期)维持单边行情时,指标会在高位(或低位)振荡,容易误判。即单边上涨时出货太早而被轧空,单边下跌时进货太早而被套牢。

Q:如何应对KDJ指标钝化?
A:1)拉长时间周期再次确认;2)指标的形态,如低位形成W底、三重底等,或高位形成M头、头肩顶等,即通过多次出现的信号加强判断;3)数浪;4)与其它理论、指标结合的方法
Q:什么是KDJ指标的骗线?
A:股价被大户操纵,形成虚假的金叉或死叉,引导散户在错误的时机进行买或卖交易,这种就是KDJ指标的骗线。
Q:如何应对骗线?
A:骗线与指标钝化有相通之处,采用相似的方法解决。
顺势指标 (Commodity Channel lndex, CCI)
CCI指标由 Donald Lambert 提出,与大多数单一利用股票的收盘价、开盘价、最高价或最低价而发明出的各种技术分析指标不同,CCI指标是根据统计学原理,引进价格与固定期间的股价平均区间的偏离程度的概念,强调股价平均绝对偏差在股市技术分析中的重要性,是一种比较独特的技术分析指标。
对于短期暴涨暴跌的行情,一般的指标超买超卖型指标由于存在$[0, 100]$的上下边界,因此可能会发生指标钝化,而CCI指标波动于$(-\infty,+\infty)$,不存在此现象,特别适合因对短期剧烈波动等非常态行情。
此外,与一般的没有运行区域限制的技术指标不同的是,CCI指标有一个相对的技术参考区域(不同的系统可能不同,此处以$-100$和$100$为例),即$(100, +\infty)$和$(-\infty, -100)$,分别对应超买区和超卖区,而$[-100, 100]$为震荡区(或常态区),一般没有参考意义。
$CCI_n = \frac{TP-MA}{0.015\times MD}$
其中,
- $TP=\frac{最高价+最低价+收盘价}{3}$
- $MA = \frac{\sum 最近N日收盘价}{n}$
- $MD = \frac{\sum(MA-最近N日收盘价)}{n}$
- 0.015为计算系数
- $n$为计算周期
# 通达信 @ 14
TYP:=(HIGH+LOW+CLOSE)/3; # TYP赋值:(最高价+最低价+收盘价)/3
CCI:(TYP-MA(TYP,N))/(0.015*AVEDEV(TYP,N)); # 输出CCI:(TYP-TYP的N日简单移动平均)*1000/(15*TYP的N日平均绝对偏差)思考
Q:CCI指标的基础用法?
A:1)当指标上穿进入超买区,中短线可以选择买入,如果有比较大的成交量配合,则买入信号更为可靠;2)当指标下穿进入震荡区,表明股价上涨可能结束,将进入盘整阶段,应及时逢高卖出;3)当指标下穿进入超卖区,表明股价盘整结束可能进入较长的寻底过程,应以观望为主;
相对强弱指标 (Relative Strength Index, RSI)
RSI指标由 Wells Wider 于1978 年提出的一种通过一段特定时期内股价的平均收盘涨数和平均收盘跌数情况计算市场买卖力量对比,来判断股票价格内部本质强弱、推测价格未来的变化方向的技术指标。
$$
\begin{align}
U_N \coloneqq SMA_N\left(max\left(当日收盘价-前日收盘价, 0\right)\right) &= \frac{\sum max\left(当日收盘价-前日收盘价, 0\right)}{N} \notag \
D_N \coloneqq SMA_N\left(max\left(前日收盘价-当日收盘价, 0\right)\right) &= \frac{\sum max\left(前日收盘价-当日收盘价, 0\right)}{N} \notag \
UD_N &= \frac{\sum abs\left(当日收盘价-前日收盘价\right)}{N} \notag \
RS_N &= \frac{U_N}{D_N} \notag \
RSI_N &= 100-\frac{100}{1+RS_N} \notag \
&= 100\frac{U_N}{U_N+D_N} \notag \
&= 100\frac{U_N}{UD_N} \notag
\end{align}
$$
此外,也有使用EMA等代替SMA的计算 $U_D$ 和 $D_N$ 的方式,可以参考知乎回答。
$RSI_N = \frac{TP-MA}{0.015\times MD}$
# 通达信:N1 ∈ 6@[2, 120]; N2 ∈ 12@[2, 250]; N2 ∈ 24@[2, 500]
# LC赋值:1日前的收盘价
LC:=REF(CLOSE,1);
# 输出RSI1:收盘价-LC和0的较大值的N1日[1日权重]移动平均/收盘价-LC的绝对值的N1日[1日权重]移动平均*100
RSI1:SMA(MAX(CLOSE-LC,0),N1,1)/SMA(ABS(CLOSE-LC),N1,1)*100;
# 输出RSI2:收盘价-LC和0的较大值的N2日[1日权重]移动平均/收盘价-LC的绝对值的N2日[1日权重]移动平均*100
RSI2:SMA(MAX(CLOSE-LC,0),N2,1)/SMA(ABS(CLOSE-LC),N2,1)*100;
# 输出RSI3:收盘价-LC和0的较大值的N3日[1日权重]移动平均/收盘价-LC的绝对值的N3日[1日权重]移动平均*100
RSI3:SMA(MAX(CLOSE-LC,0),N3,1)/SMA(ABS(CLOSE-LC),N3,1)*100; 威廉指标 (Williams %Rate, W%R or %R or W&R)
旧称威廉超买超卖指数 (Williams Overbought/Oversold Index)
威廉指标,旧称威廉超买超卖指数 (Williams Overbought/Oversold Index),是由拉瑞·威廉于1973年发表的一种震荡指标,其依股价的摆动点来衡量是否出现超买或超卖现象。
$W%R(n) = \frac{H_n-C_t}{H_n-L_n} \times 100%$
其中,$C_t$为第$n$日收盘价,$L_n$为$n$日内最低价,$H_n$为$n$日内最高价,$W%R \in [0,100%]$ 。为符合线形上扬为超买、下跌为超卖的认知,一般将结果取反,即
$W%R(n) = \frac{C_t-H_n}{H_n-L_n} \times 100%$
此时,$W%R \in [-100%,0]$ 。
# 通达信:N ∈ 10@[2, 100]; N1 ∈ 6@[2, 100]
# 输出WR1:100*(N日内最高价的最高值-收盘价)/(N日内最高价的最高值-N日内最低价的最低值)
WR1:100*(HHV(HIGH,N)-CLOSE)/(HHV(HIGH,N)-LLV(LOW,N));
# 输出WR2:100*(N1日内最高价的最高值-收盘价)/(N1日内最高价的最高值-N1日内最低价的最低值)
WR2:100*(HHV(HIGH,N1)-CLOSE)/(HHV(HIGH,N1)-LLV(LOW,N1));思考
Q:与RSV指标或KDJ指标的关系?
A:其与KDJ指标的计算基础RSV指标在数学上有互补关系,其和为 $100%$。RSV以买方力量衡量而W%R以卖方力量衡量。
Q:W%R指标的基础用法?
A:一般超过 $-20%$ 则视为超买,小于 $-80%$ 则视为超卖,但超买并不意味着出货时间,超卖也不意味着入市时间,需要同时结合其它指标判断趋势是否逆转。该指标如果窗口时间设定比较少,则指标比较敏感,容易有虚假信号,但却可以为当日冲销交易的交易者提供讯号,对于中长线的交易者建议选择更大的时间窗口(如28天)。
乖离率 (BIAS)
乖离率指标,简称Y值,是移动平均原理派生的一项技术指标,其主要通过计算股票在波动过程中与移动均线之间的偏离程度,从而得出股价在剧烈波动时因偏离移动平均趋势而造成的可能的回调或反弹,以及股价在正常波动范围内移动而形成继续原有趋势的可信度。该指标的原理是建立在:如果股价偏离移动均线太远,不管股价在移动平均线之上或之下,都有可能趋向平均线的这一条原理上。而乖离率则表示股价偏离趋向指标的百分比值。
- BIAS-QL
# 通达信:N ∈ 6@[2, 250]; M ∈ 6@[2, 250]
# 输出乖离率 :(收盘价-收盘价的N日简单移动平均)/收盘价的N日简单移动平均*100
BIAS :(CLOSE-MA(CLOSE,N))/MA(CLOSE,N)*100;
# 输出BIASMA :乖离率的M日简单移动平均
BIASMA :MA(BIAS,M);- BIAS
# 通达信:N1 ∈ 6@[2, 250]; N2 ∈ 12@[2, 250]; N3 ∈ 24@[2, 250]
# 输出BIAS1 :(收盘价-收盘价的N1日简单移动平均)/收盘价的N1日简单移动平均*100
BIAS1 :(CLOSE-MA(CLOSE,N1))/MA(CLOSE,N1)*100;
# 输出BIAS2 :(收盘价-收盘价的N2日简单移动平均)/收盘价的N2日简单移动平均*100
BIAS2 :(CLOSE-MA(CLOSE,N2))/MA(CLOSE,N2)*100;
# 输出BIAS3 :(收盘价-收盘价的N3日简单移动平均)/收盘价的N3日简单移动平均*100
BIAS3 :(CLOSE-MA(CLOSE,N3))/MA(CLOSE,N3)*100;- BIAS36
# 通达信:M ∈ 6@[2, 60]
# 输出三六乖离:收盘价的3日简单移动平均-收盘价的6日简单移动平均
BIAS36:MA(CLOSE,3)-MA(CLOSE,6);
# 输出BIAS612:收盘价的6日简单移动平均-收盘价的12日简单移动平均
BIAS612:MA(CLOSE,6)-MA(CLOSE,12);
# 输出MABIAS:BIAS36的M日简单移动平均
MABIAS:MA(BIAS36,M);思考
真实波幅 (Average True Range, ATR)
# 通达信:N ∈ 14@[2, 300]
# 输出MTR:(最高价-最低价)和1日前的收盘价-最高价的绝对值的较大值和1日前的收盘价-最低价的绝对值的较大值
MTR:MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));
# 输出真实波幅:MTR的N日简单移动平均
ATR:MA(MTR,N);趋势类
平行线差指标 (Different of Moving Average, DMA)
DMA指标也叫平行线差指标,是趋向类指标。 其依据快慢两条移动平均线的差值情况来判断当前买入卖出的能量的大小和未来价格走势的趋势,常用于大盘指数及个股的中短期研判。
# 通达信:N1 ∈ 10@[2, 60]; N2 ∈ 50@[2, 250]; M ∈ 10@[2, 100]
# 输出DIF:收盘价的N1日简单移动平均-收盘价的N2日简单移动平均
DIF:MA(CLOSE,N1)-MA(CLOSE,N2);
# 输出DIFMA:DIF的M日简单移动平均
DIFMA:MA(DIF,M);趋向指标 (Directional Movement Index, DMI)
# 通达信:N ∈ 14@[2, 90]; M ∈ 6@[2, 60]
# MTR赋值:最高价-最低价和最高价-1日前的收盘价的绝对值的较大值和1日前的收盘价-最低价的绝对值的较大值的N日累和
MTR:=SUM(MAX(MAX(HIGH-LOW,ABS(HIGH-REF(CLOSE,1))),ABS(REF(CLOSE,1)-LOW)),N);
# 赋值:最高价-1日前的最高价
HD :=HIGH-REF(HIGH,1);
# 赋值:1日前的最低价-最低价
LD :=REF(LOW,1)-LOW;
# DMP赋值:如果HD>0并且HD>LD,返回HD,否则返回0的N日累和
DMP:=SUM(IF(HD>0&&HD>LD,HD,0),N);
# DMM赋值:如果LD>0并且LD>HD,返回LD,否则返回0的N日累和
DMM:=SUM(IF(LD>0&&LD>HD,LD,0),N);
# 输出PDI: DMP*100/MTR
PDI: DMP*100/MTR;
# 输出MDI: DMM*100/MTR
MDI: DMM*100/MTR;
# 输出ADX: MDI-PDI的绝对值/(MDI+PDI)*100的M日简单移动平均
ADX: MA(ABS(MDI-PDI)/(MDI+PDI)*100,M);
# 输出ADXR:(ADX+M日前的ADX)/2
ADXR:(ADX+REF(ADX,M))/2;三角移动平均 (Triangular Moving Average, TMA)
TMA指标也叫递归移动平均指标,是对**简单移动平均(SMA)**的再平均(递归)。
加权移动平均 (Weigted Moving Average, WMA)
WMA指标将过去某时间段内的价格取平均,它的比重以平均线的长度设定,愈近期的收市价,对市况影响愈重要。
平滑异同移动平均 (Moving Average Convergence Divergence, MACD)
MACD指标由 Geral Appel提出,由一快一慢指数移动平均之间的差计算出。“快”指短时期的EMA,而“慢”则指长时期的EMA,最常用的是12及26日EMA(过去一周6个交易日,则分别代表半月和一个月)。
10.1 计算平滑系数
$平滑系数=\frac{2}{周期+1}$
如,$EMA^{12}$平滑系数为$\frac{2}{12+1}=0.1538$
10.2 计算指数平均值
$EMA_n=平滑系数\times(当日收盘价-EMA_{n-1})+EMA_{n-1}=平滑系数\times 当日收盘价+(1-平滑系数)\times EMA_{n-1}$
10.3 计算离差值
$DIF = EMA^{12}_n-EMA^{26}_n$
10.4 计算离差值(DIF)的9日移动平均值(EMA),即DEA或DEM
$DEA_n = 平滑系数\times DEA_n+(1-平滑系数)\times DEA_{n-1}$
10.5 计算MACD
$MACD = (DIF-DEA)\times 2$
# 通达信: SHORT ∈ 12@[2, 200]; LONG ∈ 26@[2, 200]; MID ∈ 9@[2, 200]
# 输出DIF:收盘价的SHORT日指数移动平均-收盘价的LONG日指数移动平均
DIF:EMA(CLOSE,SHORT)-EMA(CLOSE,LONG);
# 输出DEA:DIF的MID日指数移动平均
DEA:EMA(DIF,MID);
# 输出平滑异同平均线:(DIF-DEA)*2,COLORSTICK
MACD:(DIF-DEA)*2,COLORSTICK;佳庆指标 (CHO)
# 通达信:N1 ∈ 10@[2, 60]; N2 ∈ 20@[2, 100]; M ∈ 6@[2, 60]
# MID赋值:成交量(手)*(2*收盘价-最高价-最低价)/(最高价+最低价)的历史累和
MID:=SUM(VOL*(2*CLOSE-HIGH-LOW)/(HIGH+LOW),0);
# 输出佳庆指标:MID的N1日简单移动平均-MID的N2日简单移动平均
CHO:MA(MID,N1)-MA(MID,N2);
# 输出MACHO:CHO的M日简单移动平均
MACHO:MA(CHO,M);TTM Squeeze
成交量类
成交量指标
成交量 (VOLUME, VOL)
成交额 (AMOUNT, AMO)
换手率
均线类
移动平均 (Moving Average, MA)
移动平均 (MA)是一类平均线指标的总称,有时也特指简单移动平均。
简单移动平均 (Simple Moving Average, SMA)
SMA指标也叫算数移动平均指标,是对某时间段内的收盘价进行简单平均化。
$SMA_N = \frac{\sum\limits^{N}_{n=1} V_n}{N}$
指数移动平均 (Exponential Moving Average, EXPMA, EMA)
EMA指标也叫EXPMA指标,是趋向类指标。
$EMA_N = \frac{V^c+\left(N-1\right)\cdot V^p}{N}$
$EMA_n = \frac{当期收盘价-EMA_{n-1}}{n}+EMA_{n-1}$
其中,
- 首次上期$EMA$为上期收盘价
多空布林线 (BBIBOLL)
# 通达信:N ∈ 11@[2, 100]; M ∈ 6@[2, 100]
# CV赋值:收盘价
CV:=CLOSE;
# 输出多空布林线:(CV的3日简单移动平均+CV的6日简单移动平均+CV的12日简单移动平均+CV的24日简单移动平均)/4
BBIBOLL:(MA(CV,3)+MA(CV,6)+MA(CV,12)+MA(CV,24))/4;
# 输出UPR:BBIBOLL+M*BBIBOLL的N日估算标准差
UPR:BBIBOLL+M*STD(BBIBOLL,N);
# 输出DWN:BBIBOLL-M*BBIBOLL的N日估算标准差
DWN:BBIBOLL-M*STD(BBIBOLL,N);路径类
布林线 (BOLL)
# 通达信:M ∈ 20@[2, 999]
# 输出BOLL:收盘价的M日简单移动平均
BOLL:MA(CLOSE,M);
# 输出UB:BOLL+2*收盘价的M日估算标准差
UB:BOLL+2*STD(CLOSE,M);
# 输出LB:BOLL-2*收盘价的M日估算标准差
LB:BOLL-2*STD(CLOSE,M);瀑布线 (PBX)
# 通达信:M1 ∈ 4@[3, 10]; M ∈ 6@[3, 20]; M ∈ 9@[2, 999]; M ∈ 13@[3, 30]; M ∈ 18@[3, 50]; M ∈ 24@[3, 60]
# 输出PBX1:(收盘价的M1日指数移动平均+收盘价的M1*2日简单移动平均+收盘价的M1*4日简单移动平均)/3
PBX1:(EMA(CLOSE,M1)+MA(CLOSE,M1*2)+MA(CLOSE,M1*4))/3;
# 输出PBX2:(收盘价的M2日指数移动平均+收盘价的M2*2日简单移动平均+收盘价的M2*4日简单移动平均)/3
PBX2:(EMA(CLOSE,M2)+MA(CLOSE,M2*2)+MA(CLOSE,M2*4))/3;
# 输出PBX3:(收盘价的M3日指数移动平均+收盘价的M3*2日简单移动平均+收盘价的M3*4日简单移动平均)/3
PBX3:(EMA(CLOSE,M3)+MA(CLOSE,M3*2)+MA(CLOSE,M3*4))/3;
# 输出PBX4:(收盘价的M4日指数移动平均+收盘价的M4*2日简单移动平均+收盘价的M4*4日简单移动平均)/3
PBX4:(EMA(CLOSE,M4)+MA(CLOSE,M4*2)+MA(CLOSE,M4*4))/3;
# 输出PBX5:(收盘价的M5日指数移动平均+收盘价的M5*2日简单移动平均+收盘价的M5*4日简单移动平均)/3
PBX5:(EMA(CLOSE,M5)+MA(CLOSE,M5*2)+MA(CLOSE,M5*4))/3;
# 输出PBX6:(收盘价的M6日指数移动平均+收盘价的M6*2日简单移动平均+收盘价的M6*4日简单移动平均)/3
PBX6:(EMA(CLOSE,M6)+MA(CLOSE,M6*2)+MA(CLOSE,M6*4))/3;薛斯通道 (XS)
# 通达信:N ∈ 13@[2, 120]
# VAR2赋值:收盘价*成交量(手)
VAR2:=CLOSE*VOL;
# VAR3赋值:(VAR2的3日指数移动平均/成交量(手)的3日指数移动平均+VAR2的6日指数移动平均/成交量(手)的6日指数移动平均+VAR2的12日指数移动平均/成交量(手)的12日指数移动平均+VAR2的24日指数移动平均/成交量(手)的24日指数移动平均)/4的N日指数移动平均
VAR3:=EMA((EMA(VAR2,3)/EMA(VOL,3)+EMA(VAR2,6)/EMA(VOL,6)+EMA(VAR2,12)/EMA(VOL,12)+EMA(VAR2,24)/EMA(VOL,24))/4,N);
# 输出SUP:1.06*VAR3
SUP:1.06*VAR3;
# 输出SDN:VAR3*0.94
SDN:VAR3*0.94;
# VAR4赋值:收盘价的9日指数移动平均
VAR4:=EMA(CLOSE,9);
# 输出LUP:VAR4*1.14的5日指数移动平均
LUP:EMA(VAR4*1.14,5);
# 输出LDN:VAR4*0.86的5日指数移动平均
LDN:EMA(VAR4*0.86,5);止损类
抛物线指标 (Stop and Reverse, SAR)
其它
神奇九转 (SQJZ)
# 通达信
# N赋值:到最后交易的周期
N:=CURRBARSCOUNT;
# B赋值:收盘价<4日前的收盘价
B:=C<REF(C,4);
# T1赋值: 条件连续成立次数
T1:= BARSLASTCOUNT(B);
# A_B1赋值:(T1>9) AND T1关于9的模=1
A_B1:=(T1>9) AND MOD(T1,9)=1;
# A_B2赋值:(T1>9) AND T1关于9的模=2
A_B2:=(T1>9) AND MOD(T1,9)=2;
# A_B8赋值:(T1>9) AND T1关于9的模=8
A_B8:=(T1>9) AND MOD(T1,9)=8;
# A_B9赋值:(T1>9) AND T1关于9的模=0
A_B9:=(T1>9) AND MOD(T1,9)=0;
# B1赋值:(N=6 AND 5日后的(平滑处理)统计6日中满足B的天数=6) OR (N=7 AND 6日后的(平滑处理)统计7日中满足B的天数=7) OR (N=8 AND 7日后的(平滑处理)统计8日中满足B的天数=8) OR (N>=9 AND 8日后的(平滑处理)统计9日中满足B的天数=9)
B1:=(N=6 AND REFXV(COUNT(B,6),5)=6) OR (N=7 AND REFXV(COUNT(B,7),6)=7) OR (N=8 AND REFXV(COUNT(B,8),7)=8) OR (N>=9 AND REFXV(COUNT(B,9),8)=9);
# 当满足条件B1AND(1日前的B=0ORA_B1)时,在最低价位置书写数字,画洋红色
DRAWNUMBER(B1 AND (REF(B,1)=0 OR A_B1),L,1),COLORMAGENTA;
# B2赋值:(N=5 AND 4日后的(平滑处理)统计6日中满足B的天数=6) OR (N=6 AND 5日后的(平滑处理)统计7日中满足B的天数=7) OR (N=7 AND 6日后的(平滑处理)统计8日中满足B的天数=8) OR (N>=8 AND 7日后的(平滑处理)统计9日中满足B的天数=9)
B2:=(N=5 AND REFXV(COUNT(B,6),4)=6) OR (N=6 AND REFXV(COUNT(B,7),5)=7) OR (N=7 AND REFXV(COUNT(B,8),6)=8) OR (N>=8 AND REFXV(COUNT(B,9),7)=9);
# 当满足条件B2AND(2日前的B=0ORA_B2)时,在最低价位置书写数字,画洋红色
DRAWNUMBER(B2 AND(REF(B,2)=0 OR A_B2),L,2),COLORMAGENTA;
# B8赋值:(N=1 AND 统计8日中满足B的天数=8) OR (N>=2 AND 1日后的(平滑处理)统计9日中满足B的天数=9)
B8:=(N=1 AND COUNT(B,8)=8) OR (N>=2 AND REFXV(COUNT(B,9),1)=9);
# 当满足条件B8AND(8日前的B=0ORA_B8)时,在最低价位置书写数字,画洋红色
DRAWNUMBER(B8 AND (REF(B,8)=0 OR A_B8),L,8),COLORMAGENTA;
# B9赋值:(N>=1 AND 统计9日中满足B的天数=9)
B9:=(N>=1 AND COUNT(B,9)=9);
# 当满足条件B9AND(9日前的B=0ORA_B9)时,在最低价位置书写数字,画红色
DRAWNUMBER(B9 AND (REF(B,9)=0 OR A_B9),L,9),COLORRED;
# S赋值:收盘价>4日前的收盘价
S:=C>REF(C,4);
# T2赋值: 条件连续成立次数
T2:= BARSLASTCOUNT(S);
# A_S1赋值:(T2>9) AND T2关于9的模=1
A_S1:=(T2>9) AND MOD(T2,9)=1;
# A_S2赋值:(T2>9) AND T2关于9的模=2
A_S2:=(T2>9) AND MOD(T2,9)=2;
# A_S8赋值:(T2>9) AND T2关于9的模=8
A_S8:=(T2>9) AND MOD(T2,9)=8;
# A_S9赋值:(T2>9) AND T2关于9的模=0
A_S9:=(T2>9) AND MOD(T2,9)=0;
# S1赋值:(N=6 AND 5日后的(平滑处理)统计6日中满足S的天数=6) OR (N=7 AND 6日后的(平滑处理)统计7日中满足S的天数=7) OR (N=8 AND 7日后的(平滑处理)统计8日中满足S的天数=8) OR (N>=9 AND 8日后的(平滑处理)统计9日中满足S的天数=9)
S1:=(N=6 AND REFXV(COUNT(S,6),5)=6) OR (N=7 AND REFXV(COUNT(S,7),6)=7) OR (N=8 AND REFXV(COUNT(S,8),7)=8) OR (N>=9 AND REFXV(COUNT(S,9),8)=9);
# 当满足条件S1AND(1日前的S=0ORA_S1)时,在最高价位置书写数字,画洋红色,显示在位置之上
DRAWNUMBER(S1 AND (REF(S,1)=0 OR A_S1),H,1),COLORMAGENTA,DRAWABOVE;
# S2赋值:(N=5 AND 4日后的(平滑处理)统计6日中满足S的天数=6) OR (N=6 AND 5日后的(平滑处理)统计7日中满足S的天数=7) OR (N=7 AND 6日后的(平滑处理)统计8日中满足S的天数=8) OR (N>=8 AND 7日后的(平滑处理)统计9日中满足S的天数=9)
S2:=(N=5 AND REFXV(COUNT(S,6),4)=6) OR (N=6 AND REFXV(COUNT(S,7),5)=7) OR (N=7 AND REFXV(COUNT(S,8),6)=8) OR (N>=8 AND REFXV(COUNT(S,9),7)=9);
# 当满足条件S2AND(2日前的S=0ORA_S2)时,在最高价位置书写数字,画洋红色,显示在位置之上
DRAWNUMBER(S2 AND (REF(S,2)=0 OR A_S2),H,2),COLORMAGENTA,DRAWABOVE;
# S8赋值:(N=1 AND 统计8日中满足S的天数=8) OR (N>=2 AND 1日后的(平滑处理)统计9日中满足S的天数=9)
S8:=(N=1 AND COUNT(S,8)=8) OR (N>=2 AND REFXV(COUNT(S,9),1)=9);
# 当满足条件S8AND(8日前的S=0ORA_S8)时,在最高价位置书写数字,画洋红色,显示在位置之上
DRAWNUMBER(S8 AND (REF(S,8)=0 OR A_S8),H,8),COLORMAGENTA,DRAWABOVE;
# S9赋值:(N>=1 AND 统计9日中满足S的天数=9)
S9:=(N>=1 AND COUNT(S,9)=9);
# 当满足条件S9AND(9日前的S=0ORA_S9)时,在最高价位置书写数字,画绿色,显示在位置之上
DRAWNUMBER(S9 AND (REF(S,9)=0 OR A_S9),H,9),COLORGREEN,DRAWABOVE;脑电波 (NDB)
交易法
维加斯隧道交易法 (Vegas Tunnel)
该交易法基于EMA12、EMA144、EMA169等均线指标。
仓位控制
凯利公式 (Kelly formula, Kelly criterion, Kelly strategy, Kelly bet)
凯利公式是由約翰·拉里·凱利于1956年发表(1738年丹尼·伯努利曾提出等价观点)的应用于多次随机赌博的一种根据赌博赢或输的概率,计算出每次下注的资金占所有赌本的最佳比例的公式,以获得最优的对数资金增长率,且不会完全损失所有本金的后果。它假设赌博可以无限次进行且没有下注上下限。
$f^*=\frac{bp-q}{b}=\frac{p(b+1)-1}{b}$
其中,
- $f^*$ 为现有资金应进行下次投注的比例
- $b$ 为赔率,即盈亏比
- $p$ 为胜率,即成功率
- $q$ 为负率,一般为 $1-p$
思考
Q:如何证明凯利公式?
A:令初始资产为 $1$,其余符号同上,则对数资产的期望 $E$ 可用下式表示,如下求导即可得最优的投资比例。凯利发表的论文中有基于极限的更一般而严谨的证明,可参考 A New Interpretation of Information Rate。
$$ \begin{align} E &= p\log(1+f^\cdot b)+(1-p)\log(1-f^) \notag \ \frac{\mathrm{d}E}{\mathrm{d}{f^}} = 0 &= \frac{pb}{1+f^b}-\frac{1-p}{1-f^} \notag \ f^ &= \frac{pb+p-1}{b} \notag \ \end{align} $$
政策解读
分红
股息个税
- 股东的持股期限在 1 个月以内(含 1 个月)的,其股息红利所得全额计入应纳税所得额,实际税负为股息红利所得的 20%;
- 持股期限在 1 个月以上至 1 年(含 1 年)的,暂减按 50%计入应纳税所得额,实际税负为股息红利所得的 10%;
- 持股期限超过 1 年的,股息红利所得暂免征收个人所得税。
- 上市公司派发股息红利时,对个人持股1年以内(含1年)的,上市公司暂不扣缴个人所得税;
SH601006 | 大秦铁路
- 对于持有本公司 A 股股票的自然人股东和证券投资基金,本公司在派发现金红利时,暂不扣缴个人所得税
方法技巧
分红
股息个税查询
Android
- 查询派息详情:股票->F10->分红融资->分红配送->派息日
- 查询入账:交易->交割流水->资金流水->(定位到上步派息日附近)->查看入账信息
Quantitative Trading
系统构建宗旨
- 聚焦日级数据:相比机构、大公司,个人投资者在Tick级交易上无论是资金还是设备资源都无法比拟,且Tick级数据对应的是高频交易,个人很难有足够的资金规模与券商就交易费用进行磋商
- 对指标保持谨慎
- 避免过度优化回测结果带来的过拟合
- 把握市场环境随时间的变化,交易策略需有方法与环境同步
相关政策法规
自动化交易方法
- 把策略或者系统托管到券商机房,再对接到券商柜台做交易。这类方式主要是对订单处理延时要求很高的机构使用。中泰证券XTP主要就是这种对接方式。
- 券商PB类系统可以提供文件单等对接方式,间接实现程序化交易,报单延时比第1种要多几十毫秒。
- 在券商提供的策略交易终端里面,按照策略框架的要求编写策略,调用框架提供的下单接口做程序化交易。评论里有人说的TradeStation之类的就是这类方式。