You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python计算股票及加密货币的close和high-low delta指标

解决方案

你当前的代码存在循环逻辑错误:每次迭代时你都对整个Closedelta列做覆盖赋值,最终整列的值会统一为最后一次循环的计算结果,因此所有行的输出都相同。

pandas内置的shift()方法可以直接实现取前一行值的需求,不需要手动写循环,正确实现代码如下:

# 计算Close Delta
df['Closedelta'] = 1 - df['Close'] / df['Close'].shift(1)
# 计算High/Low Delta
df['HighLowDelta'] = (df['High'] - df['Low']) / df['Close'].shift(1)

补充说明:

  • 计算结果的第一行因为不存在前一期收盘价,会返回NaN值,你可以根据需求用df.dropna()删除空值行,或者用df.fillna(0)将空值替换为0
  • 该方法是pandas的向量化运算,运行效率远高于手动写for循环,适合处理股票、加密货币这类量级的时间序列数据

内容的提问来源于stack exchange,提问作者nostalgia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 15:24:03