TAMath transform
TANH - 双曲正切函数
函数说明
计算数组中每个元素的双曲正切值。
语法
python
result = TA.TANH(records)参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| records | array | 数值数组 |
返回值
返回双曲正切值数组,范围(-1, 1)
计算方法
对输入数组的每个元素x,返回 tanh(x) = sinh(x) / cosh(x) = (e^x - e^(-x)) / (e^x + e^(-x))
使用场景
- 数据归一化(替代sigmoid)
- 神经网络激活函数
- 平滑的非线性变换
基础示例
python
import math
def main():
records = exchange.GetRecords()
if len(records) < 20:
return
# 计算价格变化率
closes = [r['Close'] for r in records[-20:]]
returns = [(closes[i] - closes[i-1]) / closes[i-1] for i in range(1, len(closes))]
# 使用tanh进行平滑归一化(范围-1到1)
normalized_returns = [math.tanh(r * 100) for r in returns]
# 最新信号
signal = normalized_returns[-1]
if signal > 0.5:
Log("强烈买入信号")
elif signal < -0.5:
Log("强烈卖出信号")
else:
Log("中性信号")注意事项
- 返回值范围(-1, 1)
- 比sigmoid更陡峭,梯度更大
- Python中可使用
math.tanh()替代 - 常用于机器学习模型