我怎样才能获得这个特定的系列数据来计算溢价指数的资金加权平均时间?

How can I obtain this specific series data to calculate time-to-funding-weighted average of premium index?

我正在计算和绘制 Binance BTCUSDT Perpetual 的资金费率,并且遇到了以下文档页面:https://www.binance.com/en/support/faq/360033525031

它指出:

资金费率公式:

“资金费率(F)=平均溢价指数(P)+clamp(利率-溢价指数(P),0.05%,-0.05%)”

我正在获得“高级指数”,只需使用“p = request.security("BINANCE:BTCUSDT_PREMIUM", "", close)*100"

但是我目前正在为如何获得而苦苦挣扎:

“溢价指数的融资时间加权平均值”显然是用

计算的

》平均溢价指数(P)=(1*Premium_Index_1+2*Premium_Index_2+3*Premium_Index_3+···+·480*Premium_index_480 )/(1+2+3+···+480)”

(Binance 的融资周期为 8 小时,因此平均超过 480 分钟)

我的确切问题是,如何回溯到 00:00 / 08:00 / 16:00 的最后一个资金时间戳,然后获取溢价指数的数组/系列数据最后 480 分钟的每一分钟,这样我就可以对其进行迭代以使用上述公式计算时间加权平均值?

非常感谢您提前提出任何建议。如果答案显而易见,我深表歉意,我是 Pine Script 的新手。

我相信你可以这样得到时间加权平均溢价:

premium = request.security("BINANCE:BTCUSDT_PREMIUM", "1", close)

new_funding_period = ta.change(time("480")) != 0

var int n = na
var float premium_sum = na
var int n_sum = na

if new_funding_period
    n := 1
    premium_sum := premium
    n_sum := 1
else
    n += 1
    premium_sum += premium * n
    n_sum += n

predicted_TWAP = premium_sum / n_sum

current_TWAP = ta.valuewhen(new_funding_period, predicted_TWAP[1], 0)

但是,您只能在 1 分钟图表上执行计算以获得准确的结果,因为当图表设置为高于1 分钟。