import okx.PublicData as PublicData
from datetime import datetime
import json
# 初始化 API（實盤）
publicDataAPI = PublicData.PublicAPI(flag="0")

# 查詢的合約 ID
inst_id = "BERA-USDT-SWAP"

# 取得資費資料
result = publicDataAPI.get_funding_rate(instId=inst_id)
data = result['data'][0]

print(json.dumps(data, indent=4))

# 抓資費與時間戳
funding_rate = float(data['fundingRate'])
funding_time = datetime.utcfromtimestamp(int(data['fundingTime']) / 1000)
next_time = datetime.utcfromtimestamp(int(data['nextFundingTime']) / 1000)

# 計算資費週期與年化報酬率
interval_hr = (next_time - funding_time).total_seconds() / 3600
daily_times = 24 / interval_hr
funding_apy = funding_rate * daily_times * 365

# 印出結果
print(f"合約: {inst_id}")
print(f"資費週期：{interval_hr:.0f} 小時")
print(f"單次資費：{funding_rate:.7f}")
print(f"➡ 年化資費：{funding_apy * 100:.4f}%")
