问题标签 [ta-lib]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
24876 浏览

python - 在 Python 3.7 中安装 TA-Lib 时遇到问题

我正在尝试为 Python 3.7 安装 TA-Lib。我已经阅读了许多解决方案,但已经到了我无法弄清楚的地步。这是我从 pip 得到的消息:

谢谢。

0 投票
1 回答
3367 浏览

python - talib.LINEARREG 是如何工作的?

另外,我现在的问题是,如果我想回归两个不等间距无序的数组,例如

在 talib 中使用 LINEARREG 函数应该怎么做?


感谢truf指出c代码链接,LINEARREG仅处理等距离x数组,仅通过输入y数组回归(此处收盘价)。

还应该注意输入的numpy数组需要类型检查

匹配c中的'double'。


原始问题

我正在使用TA-Lib计算技术指标,但我不了解LINEARREG函数,其中只有一个输入数组(称为收盘价),通常做线性回归,我们需要两个数组x和y进行回归,例如我们想回归收盘价。

实数 = LINEARREG(关闭,时间段 = 14)

0 投票
1 回答
700 浏览

java - 如何在 Java 中使用 ta-lib 修复 RSI 计算输出中的零点?

我在 spring-boot 应用程序中使用带有 Java 的 ta-lib 计算 RSI。在花了一些时间弄清楚函数调用参数之后,我设法从计算中得到了一个输出。但是,rsi 函数在输出数组中不断返回零值。为什么它返回零?

我正在从 Binance 的 API 中获取烛台数据,试图计算给定时期的 RSI。我已经尝试了 stochasticRSI 和 RSI,但两者都在输出数组中返回零。

我希望计算的输出是一个包含首选 RSI 值的数组,但实际输出是以下数组:

0 投票
0 回答
991 浏览

python - 计算线性回归曲线(如 tradingview 文档中所述)TALIB

我试图弄清楚如何使用 python (pandas/numpy/talib) 实现这个函数

阅读 tradingview 文档:

线性回归曲线。一条最符合用户定义时间段内指定价格的线。它是使用最小二乘法计算的。该函数的结果使用公式计算:linreg = intercept + slope * (length - 1 - offset),其中length是y参数,offset是z参数,intercept和slope是用最小二乘法计算的值关于源系列(x 参数)。

我在这个领域非常新,所以不要评判我(哈哈),所以我尝试使用 talib 函数重现相同的函数并得出以下结论:

但结果不是预期的

有人可以帮我弄这个吗?

0 投票
1 回答
177 浏览

python - 在 pandas 中正确使用 lambda 函数

我想将一个函数应用于 DataFrame 以使用 lambda 创建一个具有平均值的新数据帧,但出现此错误:

TypeError: ("Argument 'real' has wrong type (expected numpy.ndarray, got Series)", u'occurred at index 2018-01-02 00:00:00')

这是我的数据:

这就是我目前正在尝试的:

0 投票
1 回答
316 浏览

stock - 如何用 1 分钟的股价数据计算技术指标?

我正在使用 TA-lib 来计算各种技术指标。我拥有的数据集是 1 分钟间隔的股票价格数据。最简单的方法是将 390(一个交易日的 390 分钟)乘以天数,例如计算 5SMA, SMA(inputs, timeperiod=5*390)

是否有任何用于此目的的库或任何更好的解决方案?

0 投票
0 回答
78 浏览

c++ - 来自 ta-lib 的错误数据

我正在尝试使用 TA-lib 中的 TA_HT_* 系列函数。我一直注意到一件非常奇怪的事情:根据我询问的输出数量,我会得到不同的值来引用相同的输入。让我解释:

(results contains 0.00143562, -0.0118441, ..., -0.318535, -0.278893) 产生的结果 (lastSine) 与

(数组包含:-0.300364,-0.264885)这反过来产生不同的结果(lastSine)

(这里 lastSine 是 -0.238856)这是为什么?这是我的代码或 TA 库中的错误吗?我期待的是我总是在计算与最后价格相关的价值。我相信我正在按照文档中的描述驾驶图书馆。

0 投票
2 回答
2578 浏览

python-3.x - 无法在 Ubuntu 18.04 中使用 pip 安装 Ta-Lib

我需要在 python 上安装 TA-Lib 库。我在哪里运行以下内容:

我得到这个错误代码:

我也试过:

当我运行时:

我得到:

然后我运行: python3 --version 我得到:

我无法理解。我有 Ubuntu 18.04。在我有Anaconda之前,然后删除它(希望我删除它正确)然后安装Python 2.7,因为我想使用Zipline来回测一些策略,但是我不能使用TA-Lib。

希望有人知道问题,谢谢!

0 投票
1 回答
130 浏览

pandas - MultiIndex 上的 DataFrame groupby() 然后应用于多个列会导致广播问题

这是设置:

DF 看起来像这样:

我想对所有具有 groupby()、apply() 方式的符号使用技术分析函数,如下所示:

df["1"] = df.groupby(level="symbol").apply(lambda x: fn_sum(x["close"], x["high"], x["low"]))

这会导致广播错误:

但是,在单个列上执行相同的操作可以:

df["2"] = df.groupby(level="symbol").close.apply(lambda x: fn_plus(x))

问题:

  • 那么,当在多个列上使用 apply 并将它们组合回 DataFrame 而不会出现广播问题时,我该如何让它工作呢?

  • 另外,我非常感谢与上面的 MultiIndex DF 一起使用的更好的实现。

有关更多上下文:我想使用 TA-lib 包中的技术分析功能。见:https ://mrjbq7.github.io/ta-lib/func_groups/volatility_indicators.html

函数如下所示(例如):

ATR(高,低,收盘[,时间段=?])

平均真实范围(波动率指标)

输入:价格:['high','low','close'] 参数:时间段:14 输出:real

在人为的示例中,我得到了与上面相同的广播错误。

0 投票
0 回答
1041 浏览

python - 在 Python3 (Windows) 上安装 TA-lib

我正在尝试在我的 Windows 10 PC 上安装 TA-lib,但它正在尝试将很多软件包降级到 2.7(我认为)。

我安装了 Python 3.7 的 Anaconda 发行版。我正在使用"conda install -c quantopian ta-lib". 当我在 Anaconda 提示符下运行它时,它会尝试将我的很多软件包降级,似乎是从 3.7 降级到 2.7。这会阻止我正确使用 Python 3.7 吗?

以下是它试图降级的一些软件包(删除了很​​多),包括 Python、numpy、jupyter 等。

以下软件包将被降级:

anaconda 客户端 1.7.2-py37_0 --> 1.7.2-py27_0

蟒蛇导航器 1.9.6-py37_0 --> 1.8.4-py27_0

anaconda 项目 0.8.2-py37_0 --> 0.8.2-py27_0

ipykernel 5.1.0-py37h39e3cac_0 --> 4.10.0-py27_0

ipython 7.2.0-py37h39e3cac_0 --> 5.8.0-py27_0

ipython_genutils 0.2.0-py37_0 --> 0.2.0- py27hbe997df_0

ipywidgets 7.4.2-py37_0 --> 7.4.2-py27_0

其危险的 1.1.0-py37_0 --> 1.1.0-py27_0

jdcal 1.4-py37_0 --> 1.4-py27_0

jupyter 1.0.0-py37_7 --> 1.0.0-py27_7

jupyter_client 5.2.4-py37_0 --> 5.2.4-py27_0

jupyter_console 6.0.0-py37_0 --> 5.2.0-py27_1

jupyter_core 4.4.0-py37_0 --> 4.4.0-py27_0

jupyterlab 0.35.3-py37_0 --> 0.33.11-py27_0

numpy 1.15.4-py37h19fb1c0_0 --> 1.11.3- py27h239e66a_12

numpy-base 1.15.4-py37hc3f5095_0 --> 1.11.3-py27hb1d0314_12

熊猫 0.23.4-py37h830ac7b_0 --> 0.23.4- py27h39f3610_0

熊猫数据阅读器 0.7.0-py37_0 --> 0.7.0-py27_0

pickleshare 0.7.5-py37_0 --> 0.7.5-py27_0

pytest-arraydiff 0.3-py37h39e3cac_0 --> 0.3- py27h39e3cac_0

pytest-astropy 0.5.0-py37_0 --> 0.5.0-py27_0

pytest-remotedata 0.3.1-py37_0 --> 0.3.1-py27_0

python 3.7.1-h8c8aaf0_6 --> 2.7.16-hcb6e200_0

我希望能够运行 TA-lib 而不必降级到 Python 2。这可能吗?