SPL 量化系列实践:认识 K 线
单根 K 线
放量大阳线
大阳线是收盘价远高于开盘价所形成的 K 线。当交易量放大配合大阳线时,说明个股当天走势强劲。
其 K 线图与分时图的关系如下图:
涨停一字线
严格来讲,涨停一字线的开盘价、收盘价、最高价、最低价均为一个价,即涨停价,但实际交易中,涨停可能会短暂的小幅放开,最终形成略带下影线的一字线,我们把它也看作是涨停一字线。
成交量处于异常情况,要么极小,要么极大。
十字线
开盘价与收盘价相同,但上下振荡幅度较大,使得上下影线均较长且上下影线长度大致相当。
它的分时图与日 K 线的关系如下图:
作为见顶信号时,成交量常常放大;作为见底信号时,成交量常常缩小;作为中继信号时,成交量一般和平时相当或略变小。
按上下影线的长度,可将十字线分作两类:
倒锤头
开盘价与收盘价接近,但个股冲高回落,收盘价远低于最高价,从而形成长长的上影线,整个图形看起来就像是一个倒立的手锤,因此本书统一称其为倒锤头线。它的分时图与日 K 线图的关系如下图:
倒锤头线不带下影线或下影线极短,实体部分可以是阴线,也可以是阳线;上影线的长度一般在实体部分两倍以上。
在高位放量拉出倒锤头线,表明放量滞涨,见顶的信号更强。在低位出现倒锤头线,缩量的情况下见底信号更强。在盘整或者上升的过程中出现倒锤头线,成交量和平时相比略放大时信号更强。
K 线组合
钳子顶
由两根或两根以上的 K 线组成,由一阳一阴两根 K 线最为标准。
组成的 K 线最高价均在同一水平,达到的最高价在同一水平,看起来就像是用钳子剪断若干根钢丝般整齐,所以称为钳子顶。
一般来说,成交量越大,钳子顶作为看空信号越准确
多方炮
由 3 根 K 线组成,两根较长的阳线中间夹着一根较短的阴线,样子有点像准备开火的大炮。
第三根阳线的成交量比较重要,最好是放量大阳线,阴线部分放量的情况会使多方炮准确度下降。
早晨之星
一般由 3 根 K 线组成,先出现一根大阴线或中阴线,第二天低开出现小阴线、小阳线、十字线或螺旋桨,第三天出现大阳线或中阳线。第二天是十字线的情况,我们称为早晨十字星。
成交量方面,中间的小 K 线应当缩量,最后一根阳线处放量为宜。
SPL 代码:
A |
B |
|
1 |
=file("daily/002451.csv").import@tc() |
|
2 |
=A1.select(trade_date>20231201&&trade_date<=20240506) |
|
3 |
=A2.derive(if(#>1, close/ pre_close *factor[-1], close/pre_close):factor) |
|
4 |
=hfq_fst=A3(1),A3.new(ts_code,trade_date,(fcls=factor/hfq_fst.factor*hfq_fst.close,c=fcls/close,round(c*open,2)): hfq_open,round(c*high,2): hfq_high,round(c*low,2): hfq_low,round(fcls,2): hfq_close,vol,amount) |
/后复权 |
5 |
=A4.pselect@a(#!=1&&hfq_close/hfq_open-1>=0.05&&vol>vol[-1]) |
/放量大阳线 |
6 |
=A4.pselect@a(abs(hfq_close/hfq_close[-1]-1.1)<0.01&&hfq_open==hfq_close&&hfq_open==hfq_high&&hfq_low>=hfq_close[-1]*1.08) |
/涨停一字线 |
7 |
=A4.pselect@a(abs(hfq_close/hfq_open-1)<0.001&&abs((hfq_high-hfq_open)/(hfq_open-hfq_low)-1)<0.3) |
/十字线 |
8 |
=A4.pselect@a((ham=abs(hfq_close/hfq_open-1),ham<0.02&&ham>0&&abs((hfq_high-max(hfq_close,hfq_open))/abs(hfq_close-hfq_open))>2&&abs(min(hfq_close,hfq_open)/hfq_low-1)<0.002)) |
/倒锤头 |
9 |
=A4.pselect@a(abs(hfq_high/hfq_high[-1]-1)<0.001&&hfq_close<hfq_open&&hfq_close[-1]>hfq_open[-1]) |
/钳子顶 |
10 |
=A4.pselect@a(hfq_open[-1]>hfq_close[-1]&&hfq_open[-1]<=hfq_close&&hfq_open[-1]<=hfq_close[-2]&&hfq_close[-1]>=hfq_open&&hfq_close[-1]>=hfq_open[-2]&&vol[-1]<vol[-2]&&vol>vol[-2]) |
/多方炮 |
11 |
=A4.pselect@a(hfq_open[-2]/hfq_close[-2]-1>=0.03&&hfq_close/hfq_open-1>=0.03&&abs(hfq_close[-1]/hfq_open[-1]-1)<0.03&&hfq_high[-1]<(hfq_close-hfq_open)*0.25+hfq_open&&hfq_high[-1]<(hfq_open-hfq_close)*0.25+hfq_close&&vol[-1]<vol[-2]&&vol>vol[-2]) |
/早晨之星 |
A5~A11 分别找到 K 线组合成形的索引,早晨之星,代码只实现了三根 K 线的情况,有了 3 根 K 线的例子,4 根 K 线也不难实现。
SPL 精心设计的相邻引用符号 [] 对于寻找 K 线组合来说再方便不过了,代码写着简单,看着也清楚,相较而言,Python 用 shift 偏移索引来获取相邻数据略显笨拙。
下面是找到的 K 线组合:
放量大阳线:
上半部分是 K 线图,下半部分是成交量柱状图,虚线部分是找到的 K 线组合。
涨停一字线
十字线
倒锤头
钳子顶
多方炮
早晨之星
找到的这些图形都符合我们的描述,但是它不一定都符合股票趋势的预期,比如多方炮通常意味着股票上涨,可是本例中的多方炮后续并没有形成上涨趋势,这说明这些 K 线组合的含义并不一定准确,感兴的读者还可以增加一些其他限制条件,比如多方炮的阳线上影线不能过长等等。在使用某个信号之前可以用 SPL 先统计下历史数据中这些信号的准确率。