SPL量化 BBIC(多空指标)
BBIC 是一种将不同天数移动平均线加权平均之后的综合指标,属于均线型指标,一般选用 3 日、6 日、12 日、24 日等 4 条平均线。BBIC 越小股价越强势,BBIC < 1 为多头行情, BBIC>1 为空头行情。
计算公式:
 1. 3 日均价 =3 日收盘价之和 /3
 2. 6 日均价 =6 日收盘价之和 /6
 3. 12 日均价 =12 日收盘价之和 /12
 4. 24 日均价 =24 日收盘价之和 /24
 5. BBI=(3 日均价 +6 日均价 +12 日均价 +24 日均价)/4
 6. BBIC=BBI/ 收盘价
例如,以代码 600000 的股票数据为例,计算其 2024 年收盘价 BBIC 值。
|   
  | A | 
| 1 | 600000 | 
| 2 | 2024-01-01 | 
| 3 | 2024-12-31 | 
| 4 | =call("adjustprice.splx", "", call("loadkday.splx", A1, A2,A3) ) | 
| 5 | [3,6,12,24] | 
| 6 | =A4.new(code,tdate,close,avg(close[-2:0]):ma_3,avg(close[-5:0]):ma_6,avg(close[-11:0]):ma_12,avg(close[-23:0]):ma_24) | 
| 7 | =A6.new(code,tdate,avg(ma_3,ma_6,ma_12,ma_24):BBI,BBI/close:BBIC) | 
A1-A4 读取 K 线数据
A5 设置移动平均天数 Nx
A6 计算 Nx 日收盘价移动平均值
A7 计算 BBI,BBIC

为了使用方便,可以用封装成脚本供调用。
脚本代码:
| A | |
| 1 | =N.("avg(close ["/-(~-1)/":0]):ma_"/~/"_day").concat@c() | 
| 2 | =data.new(code,tdate,${field},${A1}) | 
| 3 | =A2.new(code,tdate,avg(${A2.fname().m(4:).concat@c()})/${field}:BBIC) | 
将脚本保存为 bbic.splx,此脚本返回 BBIC 值。
脚本参数:
| data | 序表,某支股票的日线数据 | 
| field | 字符串,字段名如 "close" | 
| N | 序列,移动平均天数如 [3,6,12,24] | 
返回数据集结构:
| code | 股票代码 | 
| tdate | 日期 | 
| BBIC | BBIC 值,BBIC < 1 多头行情, BBIC>1 空头行情 | 
例如,调用脚本计算浦发银行 2024 年收盘价的 BBIC 值,N1、N2、N3、N4 分别取 3、6、12、24 。
| A | B | |
| … | …… | 读取数据 | 
| 5 | [3,6,12,24] | 设置 N 值 | 
| 6 | =call("bbic.splx",A4,"close",A5) | 调用脚本 | 
运行效果:

SPL 可以在这里下载:免费下载。使用免费的桌面版就可以了,直接安装即可使用。专业程序员也可以使用这里的开源版,但需要自行配置部署。
SPL 配有系统的教程,这里有面向新手的课程(含视频):SPL程序设计语言 · 乾学院VIP课程 ,乾学院 也有更多学习资料。

