hikyuu2/docs/source/indicator/overview.rst

181 lines
7.0 KiB
ReStructuredText
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

.. py:currentmodule:: hikyuu.indicator
.. highlight:: python
技术指标总览
============
**辅助类指标**
* :py:func:`ALIGN` - 按指定的参考日期对齐
* :py:func:`CVAL` - 创建指定长度的固定数值指标
* :py:func:`DROPNA` - 删除 nan 值
* :py:func:`PRICELIST` - 将PriceList或Indicator的结果集包装为Indicator同名 VALUE
* :py:func:`WEAVE` - 将两个ind的结果合并到一个ind中
**行情指标**
* :py:func:`KDATA` - 包装KData成Indicator用于其他指标计算
* :py:func:`KDATA_PART` - 根据字符串选择返回指标KDATA/OPEN/HIGH/LOW/CLOSE/AMO/VOL
* :py:func:`OPEN` - 包装KData的开盘价成Indicator
* :py:func:`HIGH` - 包装KData的最高价成Indicator
* :py:func:`LOW` - 包装KData的最低价成Indicator
* :py:func:`CLOSE` - 包装KData的收盘价成Indicator
* :py:func:`AMO` - 包装KData的成交金额成Indicator
* :py:func:`VOL` - 包装KData的成交量成Indicator
* :py:func:`HSL` - 换手率
* :py:func:`CAPITAL` - 流通盘同名LIUTONGPAN
* :py:func:`TIMELINE` - 分时价格
* :py:func:`TIMELINEVOL` - 分时成交量
* :py:func:`ZHBOND10` - 10年期中国国债收益率
**大盘指标**
* :py:func:`ADVANCE` - 上涨家数
* :py:func:`DECLINE` - 下跌家数
**逻辑算术函数**
指标本身直接支持 "+"、"-"、"*" 、"/"、"&"(与)、"|"(或)、"<"、">"、"<="、">="、"=="、"!=" 操作。
* :py:func:`BETWEEN` - 介于(介于两个数之间)
* :py:func:`CEILING` - 向上舍入(向数值增大方向舍入)取整
* :py:func:`CROSS` - 交叉函数
* :py:func:`DOWNNDAY` - 连跌周期数
* :py:func:`EVERY` - 一直存在
* :py:func:`EXIST` - 存在, EXIST(X,N) 表示条件X在N周期有存在
* :py:func:`FLOOR` - 向下舍入(向数值减小方向舍入)取整
* :py:func:`IF` - 根据条件求不同的值
* :py:func:`INTPART` - 取整(绝对值减小取整,即取得数据的整数部分)
* :py:func:`LAST` - 区间存在
* :py:func:`LONGCROSS` - 两条线维持一定周期后交叉
* :py:func:`NOT` - 求逻辑非
* :py:func:`UPNDAY` - 连涨周期数
* :py:func:`NDAY` - 连大
**数学指标**
* :py:func:`ABS` - 求绝对值
* :py:func:`ACOS` - 反余弦值
* :py:func:`ASIN` - 反正弦值
* :py:func:`ATAN` - 反正切值
* :py:func:`COS` - 余弦值
* :py:func:`EXP` - e的X次幂
* :py:func:`LN` - 求自然对数, LN(X)以e为底的对数
* :py:func:`LOG` - 以10为底的对数
* :py:func:`MAX` - 最大值
* :py:func:`MIN` - 最小值
* :py:func:`MOD` - 取整后求模。该函数仅为兼容通达信。实际上,指标求模可直接使用 % 操作符。
* :py:func:`POW` - 乘幂
* :py:func:`REVERSE` - 求相反数
* :py:func:`ROUND` - 四舍五入
* :py:func:`ROUNDUP` - 向上截取如10.1截取后为11
* :py:func:`ROUNDDOWN` - 向下截取如10.1截取后为10
* :py:func:`SIN` - 正弦值
* :py:func:`SGN` - 求符号值
* :py:func:`SLOPE` - 计算线性回归斜率
* :py:func:`SQRT` - 开平方
* :py:func:`TAN` - 正切值
**统计指标**
* :py:func:`AVEDEV` - 平均绝对偏差
* :py:func:`DEVSQ` - 数据偏差平方和
* :py:func:`STD` - 估算标准差,同 STDEV
* :py:func:`STDEV` - 计算N周期内样本标准差
* :py:func:`STDP` - 总体标准差
* :py:func:`VAR` - 估算样本方差
* :py:func:`VARP` - 总体样本方差
* :py:func:`CORR` - 样本相关系数与协方差
* :py:func:`SPEARMAN` - Spearman相关系数
**技术指标**
* :py:func:`BACKSET` - 向前赋值将当前位置到若干周期前的数据设为1
* :py:func:`BARSCOUNT` - 有效值周期数, 求总的周期数。
* :py:func:`BARSLAST` - 上一次条件成立位置, 上一次条件成立到当前的周期数
* :py:func:`BARSSINCE` - 第一个条件成立位置到当前的周期数
* :py:func:`COUNT` - 统计满足条件的周期数
* :py:func:`COST` - 成本分布
* :py:func:`DIFF` - 差分指标即data[i] - data[i-1]
* :py:func:`DMA` - 动态移动平均
* :py:func:`FILTER` - 信号过滤, 过滤连续出现的信号
* :py:func:`HHV` - N日内最高价
* :py:func:`HHVBARS` - 上一高点位置 求上一高点到当前的周期数
* :py:func:`KDJ` - 经典随机指标
* :py:func:`LLV` - N日内最低价
* :py:func:`LLVBARS` - 上一低点位置 求上一低点到当前的周期数
* :py:func:`MA` - 简单移动平均数
* :py:func:`MACD` - 平滑异同移动平均线
* :py:func:`AMA` - 佩里.J 考夫曼Perry J.Kaufman自适应移动平均 [BOOK1]_
* :py:func:`EMA` - 指数移动平均线(Exponential Moving Average)
* :py:func:`REF` - 向前引用 (即右移),引用若干周期前的数据
* :py:func:`RSI` - 相对强弱指标
* :py:func:`SMA` - 移动平均线
* :py:func:`SAFTYLOSS` - 亚历山大 艾尔德安全地带止损线
* :py:func:`SUM` - 求总和
* :py:func:`SUMBARS` - 累加到指定周期数, 向前累加到指定值到现在的周期数
* :py:func:`VIGOR` - 亚历山大.艾尔德力度指数
**时间指标**
* :py:func:`DATE` - 取得该周期从1900以来的年月日
* :py:func:`TIME` - 取得该周期的时分秒
* :py:func:`YEAR` - 取得该周期的年份
* :py:func:`MONTH` - 取得该周期的月份
* :py:func:`WEEK` - 取得该周期的星期数,函数返回有效值范围为(0-6)0表示星期天
* :py:func:`DAY` - 取得该周期的日期
* :py:func:`HOUR` - 取得该周期的小时数
* :py:func:`MINUTE` - 取得该周期的分钟数
**Ta-lib指标**
以下指标计算方法同 Ta-lib
* :py:func:`AD` - 累积/派发线
* :py:func:`ROC` - 变动率指标: ((price / prevPrice)-1)*100
* :py:func:`ROCP` - 变动率指标: (price - prevPrice) / prevPrice
* :py:func:`ROCR` - 变动率指标: (price / prevPrice)
* :py:func:`ROCR100` - 变动率指标: (price / prevPrice) * 100
**其他转换辅助**
* :py:func:`concat_to_df` - 合并指标列表为 DateFrame
.. py:function:: concat_to_df(dates, ind_list[, head_stock_code=True, head_ind_name=False])
将列表中的指标至合并在一张 pandas DataFrame 中
:param DatetimeList dates: 指定的日期列表
:param sequence ind_list: 已计算的指标列表
:param bool head_ind_name: 表标题是否使用指标名称
:param bool head_stock_code: 表标题是否使用证券代码
:return: 合并后的 DataFrame, 以 dates 为 index注: dates列 为 Datetime 类型)
::
示例:
query = Query(-200)
k_list = [stk.get_kdata(query) for stk in [sm['sz000001'], sm['sz000002']]]
ma_list = [MA(k) for k in k_list]
concat_to_df(sm.get_trading_calendar(query), ma_list, head_stock_code=True, head_ind_name=False)
df
date SZ000001 SZ000002
0 2023-05-12 00:00:00 12.620000 15.060000
1 2023-05-15 00:00:00 12.725000 15.060000
2 2023-05-16 00:00:00 12.690000 15.010000
3 2023-05-17 00:00:00 12.640000 14.952500
4 2023-05-18 00:00:00 12.610000 14.886000
... ... ... ...
195 2024-03-01 00:00:00 9.950455 9.837273
196 2024-03-04 00:00:00 9.995909 9.838182
197 2024-03-05 00:00:00 10.038182 9.816364
198 2024-03-06 00:00:00 10.070455 9.776818
199 2024-03-07 00:00:00 10.101364 9.738182