首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pandas_ta技术指标

pandas_ta技术指标
EN

Stack Overflow用户
提问于 2020-11-16 01:45:04
回答 2查看 3.1K关注 0票数 2

我对此非常陌生,正在寻找一些帮助。我有一个.csv文件,我已经将其放入数据帧中。它包含200天的股票代码,开盘,高,低和收盘价。

我正在尝试使用pandas_ta ( SMA )来计算10天、50天和100天的SMA。我尝试了3个命令:

代码语言:javascript
复制
df.ta.sma(length=10, append=True)
df.ta.sma(length=50, append=True)
df.ta.sma(length=100, append=True)

但我认为这不是解决问题的办法。我看到了成百上千的变化,不知道该怎么做。

如果我尝试这样做:

代码语言:javascript
复制
df.ta.sma(df["Close"].values), 

它给我一些关键字错误的“关闭”。(KeyError:'Close')

我希望有人能给我一个关于语法之类的例子。我还必须为这项任务计算RSI和MACD。

非常感谢!

EN

回答 2

Stack Overflow用户

发布于 2020-11-16 07:05:30

请务必使用:

代码语言:javascript
复制
import pandas_ta  as ta

除了我的OHLC都是小写之外,我已经像你在ema中的例子一样使用了它。检查你的实际语法:是close还是Close?

代码语言:javascript
复制
df.ta.ema(df['close'], length=14, offset=None, append=True)
票数 1
EN

Stack Overflow用户

发布于 2021-07-09 12:37:13

当您将数据帧传递给pandas_ta时,它将找到close列,因此您不需要指定它。“关闭”。(KeyError:'Close')是由列标签引起的。您必须将该列从“Close”重命名为“Close”。

代码语言:javascript
复制
import pandas_ta as ta
df[SMA 10] = df.ta.sma(10)
df[SMA 50] = df.ta.sma(50)
df[SMA 100] = df.ta.sma(100)

或者,你也可以这样做。

代码语言:javascript
复制
sma10 = df.ta.sma(10)
sma50 = df.ta.sma(50)
sma100 = df.ta.sma(100)
df = pd.concat([df, sma10, sma50, sma100], axis=1)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64847761

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档