相似K线

适用周期: 不限周期
公式代码:
#因相似计算比较耗时,以上证指数(选择自定义代码000001.SH)日线区间2026/05/01-2026/08/07为例
rn=_RRN()
code=CODE()
name:=NAME()
ts=TS()
mints:=MIN(ts)
maxts=MAX(ts)
val=POSTCLOSE()
arrval=ARRAY_REVERSE(LIST(val))
arrts=ARRAY_REVERSE(LIST(ts))
len=ARRAY_LENGTH(arrval)
bench=_JOIN_BENCHMARK('day','000001.SH','2020-01-01','2026-08-07')
benchrn=bench.rn
benchcode:=bench.code
benchname:=bench.name
benchval=bench.val
bencharrval=bench.arrval
bencharrts=bench.arrts
barr=ARRAY_SLICE(bencharrval,benchrn,len)
benchfromts:=ARRAY_GET(bencharrts,benchrn+len-1)
benchtots:=ARRAY_GET(bencharrts,benchrn)
#benchcode!=code
#时间范围不重叠
benchtots<mints
rn==1 and ARRAY_LENGTH(barr)==len
cf:=↓ARRAY_CORR(arrval,barr)
cf>0.85
#只留相关系数最大的一条
benchtots==ARGMAX(benchtots,cf){ARGS(code,ts,benchcode)}
结果示例:
代码 日期 name mints benchcode benchname benchfromts benchtots cf
000001.SH 2026-08-07 上证指数 2026-05-06 000001.SH 上证指数 2021-12-24 2022-04-07 0.9305355443490048