速查手册:TA-Lib 超过150种量化技术指标计算全解 - 8. Statistic Functions(统计函数)
速查手册:TA-Lib 超过150种量化技术指标计算全解 - 8. Statistic Functions(统计函数)
TA-Lib(Technical Analysis Library)是广泛使用的金融技术分析库,实现了超过150种技术指标计算函数,适用于股票、期货等金融数据的技术分析,帮助用户进行量化研究和交易策略开发。
文中内容仅限技术学习与代码实践参考,市场存在不确定性,技术分析需谨慎验证,不构成任何投资建议。适合量化新手建立系统认知,为策略开发打下基础。
目录
- Overlap Studies(重叠指标)
- Momentum Indicators(动量指标)
- Volume Indicators(成交量指标)
- Volatility Indicators(波动率指标)
- Price Transform(价格变换)
- Cycle Indicators(周期指标)
- Pattern Recognition(模式识别)
- Statistic Functions(统计函数)
- Math Transform(数学变换)
- Math Operators(数学运算符)
Statistic Functions(统计函数)
1. BETA (贝塔系数)
-
作用:衡量两个序列的相对波动性,常用于资本资产定价模型(CAPM)。
-
计算方法:
β = Covariance ( X , Y ) Variance ( Y ) \beta = \frac{\text{Covariance}(X, Y)}{\text{Variance}(Y)} β=Variance(Y)Covariance(X,Y),其中 X X X 为资产收益, Y Y Y 为基准收益。 -
参数:
timeperiod=5
计算周期。 -
使用场景:评估资产相对于市场指数的系统性风险。
-
示例代码:
beta = talib.BETA(price_asset, price_market, timeperiod=5)
2. CORREL (相关系数)
-
作用:计算两个序列的滚动相关系数。
-
计算方法:
ρ = Covariance ( X , Y ) σ X ⋅ σ Y \rho = \frac{\text{Covariance}(X, Y)}{\sigma_X \cdot \sigma_Y} ρ=σX⋅σYCovariance(X,Y) -
参数:
timeperiod=30
计算周期。 -
使用场景:量化资产间的联动性(如股票与大宗商品)。
-
示例代码:
correl = talib.CORREL(series1, series2, timeperiod=30)
3. LINEARREG (线性回归线)
-
作用:对价格序列进行线性回归,输出拟合值。
-
计算方法:最小二乘法拟合直线 y = a + b x y = a + bx y=a+bx。
-
参数:
timeperiod=14
回归周期。 -
使用场景:预测短期价格趋势方向。
-
示例代码:
linearreg = talib.LINEARREG(close, timeperiod=14)
4. LINEARREG_ANGLE (线性回归角度)
-
作用:计算线性回归线的斜率角度(单位:弧度)。
-
计算方法: θ = arctan ( b ) \theta = \arctan(b) θ=arctan(b),其中 b b b 为回归系数。
-
参数:
timeperiod=14
回归周期。 -
使用场景:量化趋势强度(角度越大趋势越强)。
-
示例代码:
angle = talib.LINEARREG_ANGLE(close, timeperiod=14)
5. LINEARREG_INTERCEPT (线性回归截距)
-
作用:计算线性回归线的截距值 a a a。
-
计算方法: a = y ˉ − b ⋅ x ˉ a = \bar{y} - b \cdot \bar{x} a=yˉ−b⋅xˉ。
-
参数:
timeperiod=14
回归周期。 -
使用场景:分析价格相对于回归线的偏离。
-
示例代码:
intercept = talib.LINEARREG_INTERCEPT(close, timeperiod=14)
6. LINEARREG_SLOPE (线性回归斜率)
-
作用:计算线性回归线的斜率 b b b。
-
计算方法: b = Covariance ( x , y ) Variance ( x ) b = \frac{\text{Covariance}(x, y)}{\text{Variance}(x)} b=Variance(x)Covariance(x,y)。
-
参数:
timeperiod=14
回归周期。 -
使用场景:判断趋势方向(正值为上升,负值为下降)。
-
示例代码:
slope = talib.LINEARREG_SLOPE(close, timeperiod=14)
7. STDDEV (标准差)
-
作用:计算价格序列的滚动标准差,衡量波动率。
-
计算方法: σ = 1 N − 1 ∑ i = 1 N ( x i − x ˉ ) 2 \sigma = \sqrt{\frac{1}{N-1} \sum_{i=1}^{N} (x_i - \bar{x})^2} σ=N−11∑i=1N(xi−xˉ)2(样本标准差)。
-
参数:
timeperiod=5
计算周期,nbdev=1
标准差倍数(默认1倍)。 -
使用场景:布林带宽度计算或风险评估。
-
示例代码:
stddev = talib.STDDEV(close, timeperiod=5, nbdev=1)
8. TSF (时间序列预测)
-
作用:基于线性回归的未来价格预测值。
-
计算方法: y future = a + b ⋅ ( N + 1 ) y_{\text{future}} = a + b \cdot (N+1) yfuture=a+b⋅(N+1),其中 N N N 为周期。
-
参数:
timeperiod=14
回归周期。 -
使用场景:预测下一周期价格。
-
示例代码:
tsf = talib.TSF(close, timeperiod=14)
9. VAR (方差)
-
作用:计算价格序列的滚动方差。
-
计算方法: Var = 1 N − 1 ∑ i = 1 N ( x i − x ˉ ) 2 \text{Var} = \frac{1}{N-1} \sum_{i=1}^{N} (x_i - \bar{x})^2 Var=N−11∑i=1N(xi−xˉ)2。
-
参数:
timeperiod=5
计算周期,nbdev=1
标准差倍数(默认1倍)。 -
使用场景:波动性量化或模型输入。
-
示例代码:
var = talib.VAR(close, timeperiod=5, nbdev=1)
使用建议
- 组合分析:
CORREL + BETA
:评估资产间的相关性及风险敞口。LINEARREG_SLOPE + STDDEV
:判断趋势强度并量化波动率。
- 参数调优:
- 短期交易者缩小周期(如
STDDEV
用 5 日),长期投资者扩大周期(如 20 日)。
- 短期交易者缩小周期(如
风险提示与免责声明
本文内容基于公开信息研究整理,不构成任何形式的投资建议。历史表现不应作为未来收益保证,市场存在不可预见的波动风险。投资者需结合自身财务状况及风险承受能力独立决策,并自行承担交易结果。作者及发布方不对任何依据本文操作导致的损失承担法律责任。市场有风险,投资须谨慎。