Pharos
TAMomentum

TA.PPO() - 价格振荡百分比

价格振荡百分比 (Percentage Price Oscillator)

MACD的百分比形式,便于跨资产比较。

返回动量指标目录


语法

python
TA.PPO(data, fastperiod=12, slowperiod=26, matype=0)

参数

参数名类型必选默认值说明
dataany-价格数据数组
fastperiodany-快线周期,默认12
slowperiodany-慢线周期,默认26
matypeany-移动平均类型,默认0 (EMA)

返回值

返回PPO值数组(百分比)。

计算方法

plaintext
PPO = ((EMA12 - EMA26) / EMA26) × 100

PPO是MACD的百分比形式。

信号解读

  • PPO > 0: 短期均线在长期均线之上
  • PPO < 0: 短期均线在长期均线之下
  • PPO 上穿0: 金叉信号
  • PPO 下穿0: 死叉信号

基础示例

python
def main():
    while True:
        records = exchange.GetRecords()
        if len(records) < 50:
            Sleep(1000)
            continue
        
        closes = [r['Close'] for r in records]
        
        ppo = TA.PPO(closes, 12, 26, 0)
        
        Log(f"PPO: {ppo[-1]:.3f}%")
        
        if ppo[-1] > 0 and ppo[-2] <= 0:
            Log("✅ PPO金叉,买入")
        elif ppo[-1] < 0 and ppo[-2] >= 0:
            Log("❌ PPO死叉,卖出")
        
        Sleep(60000)

PPO vs MACD

  • PPO是百分比,可跨资产比较
  • MACD是绝对值,更直观
  • 信号基本相同

相关指标


返回动量指标目录 | 返回 TA 指标总目录