bbp代码python_如何正确计算加密债券价格的BBP(Bollinger波段百分比)?

我试图用这个代码计算python中的BBP(Bollinger频带百分比)。然而,我的^{cd1>}函数返回^{{cd2>}或^{cd3>}用于^{cd4>}。当我使用一些硬币收盘价时,令人困惑的是,这个函数返回正确的^{cd4>}数字(而不是inf)。

这是我的python代码:import requests

import json

import pandas as pd

import numpy as np

from talib import RSI, BBANDS

def BBP(price, close):

up, mid, low = BBANDS(close, timeperiod=20, nbdevup=2, nbdevdn=2, matype=0)

bbp = (price['close'] - low) / (up - low)

print(up[-1])

print(mid[-1])

print(low[-1])

print(bbp.iloc[-1])

return bbp

r = requests.get('https://min-api.cryptocompare.com/data/histohour?fsym=SALT&tsym=BTC&limit=900&s=Binance&aggregate=5')

j = r.json()

price = pd.DataFrame(j['Data'])

price = price.sort_values(by='time', ascending=False)

price = price.iloc[::-1]

price = price.dropna()

close = price['close'].values

up, mid, low = BBANDS(close, timeperiod=20, nbdevup=2, nbdevdn=2, matype=0)

rsi = RSI(close, timeperiod=14)

bbp = BBP(price, close)

price.insert(loc=0, column='RSI',value=rsi)

price.insert(loc=0, column='BBP',value=bbp)

print(price.head(30))

如果我在请求API中使用^{{cd5>}而不是^{{cd8>}代码工作正常,但在其他小价格货币中,^{cd1>}函数将为价格数据帧中的^{cd1>}列返回^{cd2>}。

这是^{cd8>}的返回值示例:

^{pr2}$

我怎么能解决这个问题?

谢谢。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值