内建技术指标

hikyuu.indicator.ABS([data])

求绝对值

参数:

data (Indicator) – 输入数据

返回类型:

Indicator

hikyuu.indicator.ACOS([data])

反余弦值

参数:

data (Indicator) – 输入数据

返回类型:

Indicator

hikyuu.indicator.AD(kdata)

累积/派发线

参数:

kdata (KData) – k线数据

返回类型:

Indicator

hikyuu.indicator.ADVANCE([query=Query(-100), market='SH', stk_type='constant.STOCKTYPE_A'])

上涨家数。当存在指定上下文且 ignore_context 为 false 时,将忽略 query, market, stk_type 参数。

参数:
  • query (Query) – 查询条件

  • market (str) – 所属市场,等于 “” 时,获取所有市场

  • stk_type (int) – 证券类型, 大于 constant.STOCKTYPE_TMP 时,获取所有类型证券

  • ignore_context (bool) – 是否忽略上下文。忽略时,强制使用 query, market, stk_type 参数。

返回类型:

Indicator

hikyuu.indicator.ALIGN(data, ref[, fill_null=True])

按指定的参考日期对齐

参数:
  • data (Indicator) – 输入数据

  • ref (DatetimeList|Indicator|KData) – 指定做为日期参考的 DatetimeList、Indicator 或 KData

  • fill_null (bool) – 缺失数据使用 nan 填充; 否则使用小于对应日期且最接近对应日期的数据

Retype:

Indicator

hikyuu.indicator.AMA([data, n=10, fast_n=2, slow_n=30])

佩里.J 考夫曼(Perry J.Kaufman)自适应移动平均 [BOOK1]

参数:
  • data (Indicator) – 输入数据

  • n (int) – 计算均值的周期窗口,必须为大于2的整数

  • fast_n (int) – 对应快速周期N

  • slow_n (int) – 对应慢速EMA线的N值

返回类型:

Indicator

  • result(0): AMA

  • result(1): ER

hikyuu.indicator.AMO([data])

获取成交金额,包装KData的成交金额成Indicator

参数:

data – 输入数据(KData 或 Indicator)

返回类型:

Indicator

hikyuu.indicator.ASIN([data])

反正弦值

参数:

data (Indicator) – 输入数据

返回类型:

Indicator

hikyuu.indicator.ATAN([data])

反正切值

参数:

data (Indicator) – 输入数据

返回类型:

Indicator

hikyuu.indicator.ATR([data, n=14])

平均真实波幅(Average True Range)

:param Indicator data 待计算的源数据 :param int n: 计算均值的周期窗口,必须为大于1的整数 :rtype: Indicator

hikyuu.indicator.AVEDEV(data[, n=22])

平均绝对偏差,求X的N日平均绝对偏差

参数:
返回类型:

Indicator

hikyuu.indicator.BACKSET([data, n=2])

向前赋值将当前位置到若干周期前的数据设为1。

用法:BACKSET(X,N),X非0,则将当前位置到N周期前的数值设为1。

例如:BACKSET(CLOSE>OPEN,2)若收阳则将该周期及前一周期数值设为1,否则为0

参数:
  • data (Indicator) – 输入数据

  • n|Indicator|IndParam (int) – N周期

返回类型:

Indicator

hikyuu.indicator.BARSCOUNT([data])

有效值周期数, 求总的周期数。

用法:BARSCOUNT(X)第一个有效数据到当前的天数。

例如:BARSCOUNT(CLOSE)对于日线数据取得上市以来总交易日数,对于1分钟线取得当日交易分钟数。

参数:

data (Indicator) – 输入数据

返回类型:

Indicator

hikyuu.indicator.BARSLAST([data])

上一次条件成立位置 上一次条件成立到当前的周期数。

用法:BARSLAST(X): 上一次 X 不为 0 到现在的天数。

例如:BARSLAST(CLOSE/REF(CLOSE,1)>=1.1) 表示上一个涨停板到当前的周期数

参数:

data (Indicator) – 输入数据

返回类型:

Indicator

hikyuu.indicator.BARSSINCE([data])

第一个条件成立位置到当前的周期数。

用法:BARSSINCE(X):第一次X不为0到现在的天数。

例如:BARSSINCE(HIGH>10)表示股价超过10元时到当前的周期数

参数:

data (Indicator) – 输入数据

返回类型:

Indicator

hikyuu.indicator.BETWEEN(a, b, c)

介于(介于两个数之间)

用法:BETWEEN(A,B,C)表示A处于B和C之间时返回1,否则返回0

例如:BETWEEN(CLOSE,MA(CLOSE,10),MA(CLOSE,5))表示收盘价介于5日均线和10日均线之间

参数:
返回类型:

Indicator

hikyuu.indicator.CLOSE([data])

获取收盘价,包装KData的收盘价成Indicator

参数:

data – 输入数据(KData 或 Indicator)

返回类型:

Indicator

hikyuu.indicator.CAPITAL(kdata)

获取流通盘(单位:万股),同 LIUTONGPAN

参数:

kdata (KData) – k线数据

返回类型:

Indicator

hikyuu.indicator.CEIL([data])

CEILING()

hikyuu.indicator.CEILING([data])

向上舍入(向数值增大方向舍入)取整

用法:CEILING(A)返回沿A数值增大方向最接近的整数

例如:CEILING(12.3)求得13;CEILING(-3.5)求得-3

参数:

data – 输入数据

返回类型:

Indicator

hikyuu.indicator.CORR(ind1, ind2, n)

计算 ind1 和 ind2 的样本相关系数与协方差。返回中存在两个结果,第一个为相关系数,第二个为协方差。

参数:
  • ind1 (Indicator) – 指标1

  • ind2 (Indicator) – 指标2

  • n (int) – 按指定 n 的长度计算两个 ind 直接数据相关系数。如果为0,使用输入的ind长度。

返回类型:

Indicator

hikyuu.indicator.COS([data])

余弦值

参数:

data (Indicator) – 输入数据

返回类型:

Indicator

hikyuu.indicator.COST(k[, x=10.0])

成本分布

用法:COST(k, X) 表示X%获利盘的价格是多少

例如:COST(k, 10),表示10%获利盘的价格是多少,即有10%的持仓量在该价格以下,其余90%在该价格以上,为套牢盘 该函数仅对日线分析周期有效

参数:
  • k (KData) – 关联的K线数据

  • x (float) – x%获利价格, 0~100

返回类型:

Indicator

hikyuu.indicator.COUNT([data, n=20])

统计满足条件的周期数。

用法:COUNT(X,N),统计N周期中满足X条件的周期数,若N=0则从第一个有效值开始。

例如:COUNT(CLOSE>OPEN,20)表示统计20周期内收阳的周期数

参数:
返回类型:

Indicator

hikyuu.indicator.CROSS(x, y)

交叉函数

参数:
  • x – 变量或常量,判断交叉的第一条线

  • y – 变量或常量,判断交叉的第二条线

返回类型:

Indicator

hikyuu.indicator.CVAL([data, value=0.0, discard=0])

data 为 Indicator 实例,创建和 data 等长的常量指标,其值和为value,抛弃长度discard和data一样

参数:
  • data (Indicator) – Indicator实例

  • value (float) – 常数值

  • discard (int) – 抛弃数量

返回类型:

Indicator

hikyuu.indicator.DATE([data])

取得该周期从1900以来的年月日。用法: DATE 例如函数返回1000101,表示2000年1月1日。

参数:

data – 输入数据 KData

返回类型:

Indicator

hikyuu.indicator.DAY([data])

取得该周期的日期。用法: DAY 函数返回有效值范围为(1-31)。

参数:

data – 输入数据 KData

返回类型:

Indicator

hikyuu.indicator.DECLINE([query=Query(-100), market='SH', stk_type='constant.STOCKTYPE_A'])

下跌家数。当存在指定上下文且 ignore_context 为 false 时,将忽略 query, market, stk_type 参数。

参数:
  • query (Query) – 查询条件

  • market (str) – 所属市场,等于 “” 时,获取所有市场

  • stk_type (int) – 证券类型, 大于 constant.STOCKTYPE_TMP 时,获取所有类型证券

  • ignore_context (bool) – 是否忽略上下文。忽略时,强制使用 query, market, stk_type 参数。

返回类型:

Indicator

hikyuu.indicator.DEVSQ([data, n=10])

数据偏差平方和,求X的N日数据偏差平方和

参数:
返回类型:

Indicator

hikyuu.indicator.DIFF([data])

差分指标,即data[i] - data[i-1]

参数:

data (Indicator) – 输入数据

返回类型:

Indicator

hikyuu.indicator.DMA(ind, a)

动态移动平均

用法:DMA(X,A),求X的动态移动平均。

算法:若Y=DMA(X,A) 则 Y=A*X+(1-A)*Y’,其中Y’表示上一周期Y值。

例如:DMA(CLOSE,VOL/CAPITAL)表示求以换手率作平滑因子的平均价

参数:
返回类型:

Indicator

hikyuu.indicator.DROPNA([data])

删除 nan 值

参数:

data (Indicator) – 输入数据

返回类型:

Indicator

hikyuu.indicator.DOWNNDAY(data[, n=3])

连跌周期数, DOWNNDAY(CLOSE,M)表示连涨M个周期

参数:
返回类型:

Indicator

hikyuu.indicator.EMA([data, n=22])

指数移动平均线(Exponential Moving Average)

参数:
  • data – 输入数据

  • n (int|Indciator|IndParam) – 计算均值的周期窗口,必须为大于0的整数

返回类型:

Indicator

hikyuu.indicator.EVERY([data, n=20])

一直存在

用法:EVERY (X,N) 表示条件X在N周期一直存在

例如:EVERY(CLOSE>OPEN,10) 表示前10日内一直是阳线

参数:
  • data – 输入数据

  • n (int|Indicator|IndParam) – 计算均值的周期窗口,必须为大于0的整数

返回类型:

Indicator

hikyuu.indicator.EXIST([data, n=20])

存在, EXIST(X,N) 表示条件X在N周期有存在

参数:
  • data – 输入数据

  • n (int|Indicator|IndParam) – 计算均值的周期窗口,必须为大于0的整数

返回类型:

Indicator

hikyuu.indicator.EXP([data])

EXP(X)为e的X次幂

参数:

data (Indicator) – 输入数据

返回类型:

Indicator

hikyuu.indicator.FILTER([data, n=5])

信号过滤, 过滤连续出现的信号。

用法:FILTER(X,N): X 满足条件后,删除其后 N 周期内的数据置为 0。

例如:FILTER(CLOSE>OPEN,5) 查找阳线,5 天内再次出现的阳线不被记录在内。

参数:
返回类型:

Indicator

hikyuu.indicator.FINANCE([kdata, ix, name])

获取历史财务信息。(可通过 StockManager.get_history_finance_all_fields 查询相应的历史财务字段信息)

ix, name 使用时,为二选一。即要不使用 ix,要不就使用 name 进行获取。

参数:
  • kdata (KData) – K线数据

  • ix (int) – 历史财务信息字段索引

  • name (int) – 历史财务信息字段名称

返回类型:

Indicator

hikyuu.indicator.FLOOR([data])

向下舍入(向数值减小方向舍入)取整

用法:FLOOR(A)返回沿A数值减小方向最接近的整数

例如:FLOOR(12.3)求得12

参数:

data – 输入数据

返回类型:

Indicator

hikyuu.indicator.HHV([data, n=20])

N日内最高价,N=0则从第一个有效值开始。

参数:
返回类型:

Indicator

hikyuu.indicator.HHVBARS([data, n=20])

上一高点位置 求上一高点到当前的周期数。

用法:HHVBARS(X,N):求N周期内X最高值到当前周期数N=0表示从第一个有效值开始统计

例如:HHVBARS(HIGH,0)求得历史新高到到当前的周期数

参数:
返回类型:

Indicator

hikyuu.indicator.HIGH([data])

获取最高价,包装KData的最高价成Indicator

参数:

data – 输入数据(KData 或 Indicator)

返回类型:

Indicator

hikyuu.indicator.HOUR([data])

取得该周期的小时数。用法:HOUR 函数返回有效值范围为(0-23),对于日线及更长的分析周期值为0。

参数:

data – 输入数据 KData

返回类型:

Indicator

hikyuu.indicator.HSL(kdata)

获取换手率,等于 VOL(k) / CAPITAL(k)

参数:

kdata (KData) – k线数据

返回类型:

Indicator

hikyuu.indicator.IC(ind, stks, query, ref_stk[, n=1])

计算指定的因子相对于参考证券的 IC (实际为 RankIC)

:param sequence | Block stks 证券组合 :param Query query: 查询条件 :param Stock ref_stk: 参照证券,通常使用 sh000300 沪深300 :param int n: 时间窗口(对应的 n 日收益率) :rtype: Indicator

hikyuu.indicator.ICIR(ind, stks, query, ref_stk[, n=1, rolling_n=120])

计算 IC 因子 IR = IC的多周期均值/IC的标准方差

:param sequence | Block stks 证券组合 :param Query query: 查询条件 :param Stock ref_stk: 参照证券,通常使用 sh000300 沪深300 :param int n: 时间窗口(对应的 n 日收益率) :param int rolling_n: 滚动周期 :rtype: Indicator

hikyuu.indicator.IR(p, b[, n=100])

信息比率(Information Ratio,IR)

公式: (P-B) / TE P: 组合收益率 B: 比较基准收益率 TE: 投资周期中每天的 p 和 b 之间的标准差 实际使用时,P 一般为 TM 的资产曲线,B 为沪深 3000 收盘价,如: ref_k = sm[“sh000300”].get_kdata(query) funds = my_tm.get_funds_curve(ref_k.get_datetime.list()) ir = IR(PRICELIST(funds), ref_k.close, 0)

如果希望计算因子 IC 的 IR 值,请使用 ICIR 指标

参数:
  • p (Indicator)

  • b (Indicator)

  • n (int) – 时间窗口(默认100),如果只想使用最后的值,可以使用 0, 或 len(p),len(b) 指定

返回类型:

Indicator

hikyuu.indicator.IF(x, a, b)

条件函数, 根据条件求不同的值。

用法:IF(X,A,B)若X不为0则返回A,否则返回B

例如:IF(CLOSE>OPEN,HIGH,LOW)表示该周期收阳则返回最高值,否则返回最低值

参数:
返回类型:

Indicator

hikyuu.indicator.INTPART([data])

取整(绝对值减小取整,即取得数据的整数部分)

参数:

data – 输入数据

返回类型:

Indicator

hikyuu.indicator.KDATA([data])

包装KData成Indicator,用于其他指标计算

参数:

data – KData 或 具有6个返回结果的Indicator(如KDATA生成的Indicator)

返回类型:

Indicator

hikyuu.indicator.KDATA_PART([data, kpart])

根据字符串选择返回指标KDATA/OPEN/HIGH/LOW/CLOSE/AMO/VOL,如:KDATA_PART(“CLOSE”)等同于CLOSE()

参数:
  • data – 输入数据(KData 或 Indicator)

  • kpart (string) – KDATA|OPEN|HIGH|LOW|CLOSE|AMO|VOL

返回类型:

Indicator

hikyuu.indicator.KDJ(kdata[, n=9, m12=3, m2=3])

经典 KDJ 随机指标

参数:
  • kdata (KData) – 关联的K线数据

  • n (int)

  • m1 (int)

  • m2 (int)

返回:

k, d, j

hikyuu.indicator.LIUTONGPAN(kdata)

获取流通盘(单位:万股),同 CAPITAL

参数:

kdata (KData) – k线数据

返回类型:

Indicator

hikyuu.indicator.LAST([data, m=10, n=5])

区间存在。

用法:LAST (X,M,N) 表示条件 X 在前 M 周期到前 N 周期存在。

例如:LAST(CLOSE>OPEN,10,5) 表示从前10日到前5日内一直阳线。

参数:
  • data – 输入数据

  • m (int) – m周期

  • n (int) – n周期

返回类型:

Indicator

hikyuu.indicator.LLV([data, n=20])

N日内最低价,N=0则从第一个有效值开始。

参数:
  • data – 输入数据

  • n (int|Indicator|IndParam) – N日时间窗口

返回类型:

Indicator

hikyuu.indicator.LLVBARS([data, n=20])

上一低点位置 求上一低点到当前的周期数。

用法:LLVBARS(X,N):求N周期内X最低值到当前周期数N=0表示从第一个有效值开始统计

例如:LLVBARS(HIGH,20)求得20日最低点到当前的周期数

参数:
  • data – 输入数据

  • n (int|Indicator|IndParam) – N日时间窗口

返回类型:

Indicator

hikyuu.indicator.LN([data])

求自然对数, LN(X)以e为底的对数

参数:

data – 输入数据

返回类型:

Indicator

hikyuu.indicator.LOG([data])

以10为底的对数

参数:

data – 输入数据

返回类型:

Indicator

hikyuu.indicator.LONGCROSS(a, b[, n=3])

两条线维持一定周期后交叉

用法:LONGCROSS(A,B,N)表示A在N周期内都小于B,本周期从下方向上穿过B时返 回1,否则返回0

例如:LONGCROSS(MA(CLOSE,5),MA(CLOSE,10),5)表示5日均线维持5周期后与10日均线交金叉

参数:
返回类型:

Indicator

hikyuu.indicator.LOW([data])

获取最低价,包装KData的最低价成Indicator

参数:

data – 输入数据(KData 或 Indicator)

返回类型:

Indicator

hikyuu.indicator.MA([data, n=22])

简单移动平均

参数:
返回类型:

Indicator

hikyuu.indicator.MACD([data, n1=12, n2=26, n3=9])

平滑异同移动平均线

参数:
  • data (Indicator) – 输入数据

  • n1 (int) – 短期EMA时间窗

  • n2 (int) – 长期EMA时间窗

  • n3 (int) – (短期EMA-长期EMA)EMA平滑时间窗

返回类型:

具有三个结果集的 Indicator

  • result(0): MACD_BAR:MACD直柱,即MACD快线-MACD慢线

  • result(1): DIFF: 快线,即(短期EMA-长期EMA)

  • result(2): DEA: 慢线,即快线的n3周期EMA平滑

hikyuu.indicator.MAX(ind1, ind2)

求最大值, MAX(A,B)返回A和B中的较大值。

参数:
返回类型:

Indicator

hikyuu.indicator.MDD([ind])

当前价格相对历史最高值的回撤百分比,通常用于计算最大回撤

hikyuu.indicator.MIN(ind1, ind2)

求最小值, MIN(A,B)返回A和B中的较小值。

参数:
返回类型:

Indicator

hikyuu.indicator.MINUTE([data])

取得该周期的分钟数。用法:MINUTE 函数返回有效值范围为(0-59),对于日线及更长的分析周期值为0。

参数:

data – 输入数据 KData

返回类型:

Indicator

hikyuu.indicator.MOD(ind1, ind2)

取整后求模。该函数仅为兼容通达信。实际上,指标求模可直接使用 % 操作符

用法:MOD(A,B)返回A对B求模

例如:MOD(26,10) 返回 6

参数:
返回类型:

Indicator

hikyuu.indicator.MONTH([data])

取得该周期的月份。用法: MONTH 函数返回有效值范围为(1-12)。

参数:

data – 输入数据 KData

返回类型:

Indicator

hikyuu.indicator.MRR([ind])

当前价格相对历史最低值的盈利百分比

hikyuu.indicator.NDAY(x, y[, n=3])

连大, NDAY(X,Y,N)表示条件X>Y持续存在N个周期

参数:
返回类型:

Indicator

hikyuu.indicator.NOT([data])

求逻辑非。NOT(X)返回非X,即当X<=0时返回1,否则返回0。

参数:

data (Indicator) – 输入数据

返回类型:

Indicator

hikyuu.indicator.OPEN([data])

获取开盘价,包装KData的开盘价成Indicator

参数:

data – 输入数据(KData 或 Indicator)

返回类型:

Indicator

hikyuu.indicator.POW(data, n)

乘幂

用法:POW(A,B)返回A的B次幂

例如:POW(CLOSE,3)求得收盘价的3次方

参数:
  • data – 输入数据

  • n (int|Indicator|IndParam) – 幂

返回类型:

Indicator

hikyuu.indicator.PRICELIST(data[, result_index=0, discard=0])

将 list、tuple、Indicator 转化为普通的 Indicator

参数:
  • data – 输入数据,可以为 list、tuple、Indicator

  • result_index (int) – 当data为Indicator实例时,指示Indicator的第几个结果集

  • discard (int) – 在 data 为 Indicator类型时无效。表示前端抛弃的数据点数,抛弃的值使用 constant.null_price 填充

返回类型:

Indicator

hikyuu.indicator.REF([data, n])

向前引用 (即右移),引用若干周期前的数据。

用法:REF(X,A) 引用A周期前的X值。

参数:
  • data (Indicator) – 输入数据

  • n (int) – 引用n周期前的值,即右移n位

返回类型:

Indicator

hikyuu.indicator.RECOVER_BACKWARD([data])

对输入的指标数据 (CLOSE|OPEN|HIGH|LOW) 进行后向复权

参数:

data (Indicator|KData) – 只接受 CLOSE|OPEN|HIGH|LOW 指标,或 KData(此时默认使用 KData 的收盘价)

返回类型:

Indicator

hikyuu.indicator.RECOVER_FORWARD([data])

对输入的指标数据 (CLOSE|OPEN|HIGH|LOW) 进行前向复权

参数:

data (Indicator|KData) – 只接受 CLOSE|OPEN|HIGH|LOW 指标,或 KData(此时默认使用 KData 的收盘价)

返回类型:

Indicator

hikyuu.indicator.RECOVER_EQUAL_BACKWARD([data])

对输入的指标数据 (CLOSE|OPEN|HIGH|LOW) 进行等比后向复权

参数:

data (Indicator|KData) – 只接受 CLOSE|OPEN|HIGH|LOW 指标,或 KData(此时默认使用 KData 的收盘价)

返回类型:

Indicator

hikyuu.indicator.RECOVER_EQUAL_FORWARD([data])

对输入的指标数据 (CLOSE|OPEN|HIGH|LOW) 进行等比前向复权

参数:

data (Indicator|KData) – 只接受 CLOSE|OPEN|HIGH|LOW 指标,或 KData(此时默认使用 KData 的收盘价)

返回类型:

Indicator

hikyuu.indicator.RESULT(data, result_ix)

以公式指标的方式返回指定指标中的指定结果集

参数:
  • data (Indicator) – 指定的指标

  • result_ix (int) – 指定的结果集

返回类型:

Indicator

hikyuu.indicator.REVERSE([data])

求相反数,REVERSE(X)返回-X

参数:

data (Indicator) – 输入数据

返回类型:

Indicator

hikyuu.indicator.ROC([data, n=10])

变动率指标: ((price / prevPrice)-1)*100

参数:
  • data – 输入数据

  • n (int|Indicator|IndParam) – 时间窗口

返回类型:

Indicator

hikyuu.indicator.ROCP([data, n=10])

变动率指标: (price - prevPrice) / prevPrice

参数:
  • data – 输入数据

  • n (int|Indicator|IndParam) – 时间窗口

返回类型:

Indicator

hikyuu.indicator.ROCR([data, n=10])

变动率指标: (price / prevPrice)

参数:
  • data – 输入数据

  • n (int|Indicator|IndParam) – 时间窗口

返回类型:

Indicator

hikyuu.indicator.ROCR100([data, n=10])

变动率指标: (price / prevPrice) * 100

参数:
  • data – 输入数据

  • n (int|Indicator|IndParam) – 时间窗口

返回类型:

Indicator

hikyuu.indicator.ROUND([data, ndigits=2])

四舍五入

参数:
  • data – 输入数据

  • ndigits (int) – 保留的小数点后位数

返回类型:

Indicator

hikyuu.indicator.ROUNDDOWN([data, ndigits=2])

向下截取,如10.1截取后为10

参数:
  • data – 输入数据

  • ndigits (int) – 保留的小数点后位数

返回类型:

Indicator

hikyuu.indicator.ROUNDUP([data, ndigits=2])

向上截取,如10.1截取后为11

参数:
  • data – 输入数据

  • ndigits (int) – 保留的小数点后位数

返回类型:

Indicator

hikyuu.indicator.RSI(kdata=None, N1=6, N2=12, N3=24)

相对强弱指标

参数:
  • kdata (KData) – 关联的K线数据

  • N1 (int) – 参数N1

  • N2 (int) – 参数N1

  • N3 (int) – 参数N1

返回:

rsi1, rsi2, rsi3

hikyuu.indicator.SAFTYLOSS([data, n1=10, n2=3, p=2.0])

亚历山大 艾尔德安全地带止损线,参见 [BOOK2]

计算说明:在回溯周期内(一般为10到20天),将所有向下穿越的长度相加除以向下穿越的次数,得到噪音均值(即回溯期内所有最低价低于前一日最低价的长度除以次数),并用今日最低价减去(前日噪音均值乘以一个倍数)得到该止损线。为了抵消波动并且保证止损线的上移,在上述结果的基础上再取起N日(一般为3天)内的最高值

参数:
  • data (Indicator) – 输入数据

  • n1 (int) – 计算平均噪音的回溯时间窗口

  • n2 (int) – 对初步止损线去n2日内的最高值

  • p (float) – 噪音系数

返回类型:

Indicator

hikyuu.indicator.SIN([data])

正弦值

参数:

data (Indicator) – 输入数据

返回类型:

Indicator

hikyuu.indicator.SGN([data])

求符号值, SGN(X),当 X>0, X=0, X<0分别返回 1, 0, -1。

参数:

data (Indicator) – 输入数据

返回类型:

Indicator

hikyuu.indicator.SLICE(data, start, end, result_index=0)

获取某指标中指定范围 [start, end) 的数据,生成新的指标

参数:
  • data (Indicator|sequence) – 输入数据

  • start (int) – 起始位置

  • end (int) – 终止位置(不包含本身)

  • result_index (int) – 原输入数据中的结果集

hikyuu.indicator.SLOPE(data, n=22)

计算线性回归斜率,N支持变量

参数:
返回类型:

Indicator

hikyuu.indicator.SMA([data, n=22, m=2])

求移动平均

用法:若Y=SMA(X,N,M) 则 Y=[M*X+(N-M)*Y’)/N,其中Y’表示上一周期Y值

参数:
  • data (Indicator) – 输入数据

  • n (int) – 时间窗口

  • m (float) – 系数

返回类型:

Indicator

hikyuu.indicator.SPEARMAN(ind1, ind2, n)

Spearman 相关系数

参数:
  • ind1 (Indicator) – 输入参数1

  • ind2 (Indicator) – 输入参数2

  • n (int) – 滚动窗口(大于2 或 等于0),等于0时,代表 n 实际使用 ind 的长度

hikyuu.indicator.SQRT([data])

开平方

用法:SQRT(X)为X的平方根

例如:SQRT(CLOSE)收盘价的平方根

参数:

data – 输入数据

返回类型:

Indicator

hikyuu.indicator.STD([data, n=10])

计算N周期内样本标准差

参数:
  • data (Indicator) – 输入数据

  • n|Indicator|IndParam (int) – 时间窗口

返回类型:

Indicator

hikyuu.indicator.STDEV([data, n=10])

计算N周期内样本标准差

参数:
返回类型:

Indicator

hikyuu.indicator.STDP([data, n=10])

总体标准差,STDP(X,N)为X的N日总体标准差

参数:
  • data – 输入数据

  • n (int|Indicator|IndParam) – 时间窗口

返回类型:

Indicator

hikyuu.indicator.SUM([data, n=20])

求总和。SUM(X,N),统计N周期中X的总和,N=0则从第一个有效值开始。

参数:
返回类型:

Indicator

hikyuu.indicator.SUMBARS([data, ]a)

累加到指定周期数, 向前累加到指定值到现在的周期数

用法:SUMBARS(X,A):将X向前累加直到大于等于A,返回这个区间的周期数

例如:SUMBARS(VOL,CAPITAL)求完全换手到现在的周期数

参数:
返回类型:

Indicator

hikyuu.indicator.TAN([data])

正切值

参数:

data (Indicator) – 输入数据

返回类型:

Indicator

hikyuu.indicator.TIME([data])

取得该周期的时分秒。用法: TIME 函数返回有效值范围为(000000-235959)。

参数:

data – 输入数据 KData

返回类型:

Indicator

hikyuu.indicator.TIMELINE([k])

分时价格数据

参数:

k (KData) – 上下文

返回类型:

Indicator

hikyuu.indicator.TIMELINEVOL([k])

分时成交量数据

参数:

k (KData) – 上下文

返回类型:

Indicator

hikyuu.indicator.UPNDAY(data[, n=3])

连涨周期数, UPNDAY(CLOSE,M)表示连涨M个周期

参数:
返回类型:

Indicator

hikyuu.indicator.VAR([data, n=10])

估算样本方差, VAR(X,N)为X的N日估算样本方差

参数:
返回类型:

Indicator

hikyuu.indicator.VARP([data, n=10])

总体样本方差, VARP(X,N)为X的N日总体样本方差

参数:
返回类型:

Indicator

hikyuu.indicator.VIGOR([kdata, n=2])

亚历山大.艾尔德力度指数 [BOOK2]

计算公式:(收盘价今-收盘价昨)*成交量今

参数:
  • data (KData) – 输入数据

  • n (int) – EMA平滑窗口

返回类型:

Indicator

hikyuu.indicator.VOL([data])

获取成交量,包装KData的成交量成Indicator

参数:

data – 输入数据(KData 或 Indicator)

返回类型:

Indicator

hikyuu.indicator.WEAVE(ind1, ind2)

将ind1和ind2的结果组合在一起放在一个Indicator中。如ind = WEAVE(ind1, ind2), 则此时ind包含多个结果,按ind1、ind2的顺序存放。

参数:
返回类型:

Indicator

hikyuu.indicator.WEEK([data])

取得该周期的星期数。用法:WEEK 函数返回有效值范围为(0-6),0表示星期天。

参数:

data – 输入数据 KData

返回类型:

Indicator

hikyuu.indicator.YEAR([data])

取得该周期的年份。

参数:

data – 输入数据 KData

返回类型:

Indicator

hikyuu.indicator.ZHBOND10([data, default_val])

获取10年期中国国债收益率

参数:
  • data (DatetimeList|KDate|Indicator) – 输入的日期参考,优先使用上下文中的日期

  • default_val (float) – 如果输入的日期早于已有国债数据的最早记录,则使用此默认值

hikyuu.indicator.ZONGGUBEN([data])

获取总股本(单位:万股)

参数:

kdata (KData) – k线数据

返回类型:

Indicator

hikyuu.indicator.ZSCORE([data, out_extreme, nsigma, recursive])

对数据进行标准化(归一),可选进行极值排除

注:非窗口滚动,如需窗口滚动的标准化,直接 (x - MA(x, n)) / STDEV(x, n) 即可。

参数:
  • data (Indicator) – 待剔除异常值的数据

  • outExtreme (bool) – 指示剔除极值,默认 False

  • nsigma (float) – 剔除极值时使用的 nsigma 倍 sigma ,默认 3.0

  • recursive (bool) – 是否进行递归剔除极值, 默认 False

返回类型:

Indicator