问题标签 [technical-indicator]

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 投票
1 回答
56 浏览

python - 根据另一列在熊猫中创建一个特征(即当它从正面变为负面时)

我有以下数据集:

它是关于股票价格的指标,即变化率。

当熊猫数据框上的当前特征从正变为负时,我想编写一个代码,在熊猫数据框上创建一个新特征(列),反之亦然。

通过示例更容易解释:让我们使用 ROC9 功能。

我创建了一个名为 ROC9_signal 的新变量并将其设置为 0:

当 ROC_9 从负变为正时,我想将 ROC9_signal 从 0 更改为 1。

当 ROC_9 从正变为负时,我想将 ROC9_signal 从 0 更改为 -1。

查看数据,我希望 ROC9_signal 从 0 变为 -1,因为该值已从 0.16(正)变为 -0.006(负)。

查看数据,我希望 ROC_9 信号从 0 变为 1,因为该值已从 -0.11(负)变为 0.05(正)。

查看数据,我希望 ROC9_signal 从 0 变为 -1,因为该值已从 0.20(正)变为 -0.008(负)。

只有发生更改的行我想从 0 更改为 1 或 0 更改为 -1,其他行必须保持为 0。

然后,我将应用相同的逻辑来创建一个momentum10_signal 列和一个chalkin_money_flow_signal 列。因此,我想要一个可以应用于不同列而不是手动的解决方案。

在此先感谢您的帮助。

这是完整数据的样子:

完整数据

0 投票
2 回答
141 浏览

r - 如何向 Shiny、R quantmod 问题添加自定义指标

我是新手,试图向 Shiny/R quantmod 应用程序添加自定义指标。

R 脚本中的以下代码运行良好。

闪亮的等价物

失败并出现错误:找不到函数“myInd”。

而用任何内置函数替换“addMyInd”效果很好。

知道如何让 Shiny 找到“myInd”函数吗?

0 投票
1 回答
66 浏览

r - 导入股票价格技术分析的最佳方法是什么?

这是我的数据框:

在此处输入图像描述

每行都有不同的日期。如果我想为股票价格导入 RSI,最好的方法是什么?

数据框的原始数据为:

0 投票
2 回答
96 浏览

trading - 银色 RSI 指标 - 一小时零梯度

我最近一直在关注白银的价值。我的问题是关于 7 月 9 日 21:00 - 21:59 的白银美元/盎司(符号:SILVER)的 RSI 指标。那个小时的指标梯度为零。下面从 TradingView 复制的图表(1 分钟)显示了相同的开盘价和收盘价,没有变化。有趣的是,在这段时间之后,白银被“超买”(高于 70 RSI)。

我是交易新手,但我想知道什么情况会导致白银 RSI 指标以这种方式运行。

谢谢。

在此处输入图像描述

0 投票
1 回答
240 浏览

python - 使用python的技术分析库时Column操作出错

我正在尝试使用 python 的技术分析库计算 5 天移动平均线:

当我检查df['EMA']- 我得到以下值:

输入 SBIN CSV 文件如下所示:

SBIN CSV 文件,前几行和几列

谁能指出我做错了什么?

真诚感谢您的帮助

0 投票
0 回答
120 浏览

python - 获取 IndexError:尝试将技术指标应用于股票信息的 pandas DataFrame 时,单个位置索引器超出范围

我是 python 新手,在使用 pandas_ta 扩展将一些技术指标应用于股票信息数据框时遇到了一些麻烦。原始数据框“nonStockdf”由列构成

并拥有大约 50 种股票、指数和期货的历史数据,可追溯到 5 年。我正在尝试将一些技术指标作为新列应用到现有 DataFrame 并保存在一个名为nonStockTechsdf但继续获取的新数据框中IndexError: single positional indexer is out-of-bounds。有人可以帮忙吗??我的代码如下。提前致谢

0 投票
0 回答
254 浏览

python - 将股票指标添加到 Pandas DataFrame - ValueError:系列的真值不明确。使用 a.empty、a.bool()、a.item()、a.any() 或

我有一个带有 ohlc 数据的股票熊猫数据框,我正在使用 btalib(技术分析)包添加一些指标。我现在拥有的数据框与此类似,但每只股票有 200 行(QQQ 控股前 500 只股票)。

SMA 是使用前几天收盘价的股票数据计算得出的。因此,如果我用于 SMA 的时间段是 20 天,收盘价(基本上)只是过去 20 天的平均值,如下所示

但是,我对每只股票都有 200 天的数据(因为稍后我将使用 200 天作为单独的列值),并且每次数据框中的符号列更改时,我都需要 SMA 计算来重置。这是我遇到麻烦的部分。

这是它应该如何工作的

df['sma20'] = sma20.df

print(df[200:203])

输出:

sma20 的前 20 行为空,因为需要它们来计算值。这部分按预期工作。但是,当股票代码从 AAPL 切换到 ADBE 时,sma20 的值会继续数据框中的前 20 条记录,这些记录是 AAPL 的记录。我需要他们在这一点上重置。

我想过为此创建自己的函数,但是一旦我添加了更复杂的指标,这将变得非常乏味,我觉得使用库来帮助我更容易。

这是我现在要做的:

我有一symbol_shifted列基本上只是将所有符号推到一个位置。我的想法是我可以检查符号是否等于这个符号移位列。如果不是,那么计算应该重置。

以下是符号移位的外观:

这是我尝试使用的代码:

我已经尝试过多种类似的逻辑(例如,在函数中使用上述逻辑与 pandas 应用,更改我索引记录的方式),但我似乎无法让它工作。在记录号 201 处,符号 != symbol_shifted。所以当 if 语句看到这种情况时,无限循环应该重置并重新开始计算。我不确定为什么这不起作用,但如果有人愿意提供反馈或想法,我会很高兴!这是我目前收到的错误:

0 投票
0 回答
27 浏览

r - 在 if 语句中获取“参数长度为 0”

我正在尝试计算 14 天回溯期的 RSI。我的 excel 文件中有三列 - 日期、打开、关闭。但是当我在 if 语句中检查 dff>0 时,会引发错误 - if (dff > 0) { 中的错误:参数的长度为零。下面是我的代码。有什么建议为什么会发生这种情况?

0 投票
0 回答
972 浏览

python - 使用 Python Pandas 计算基础体积 (OBV)

我有一个交易 Python Pandas DataFrame,其中包括“收盘价”和“成交量”。我想计算平衡量 (OBV)。我已经让它在整个数据集上工作,但我希望它是在 10 的滚动系列上计算的。

当前函数如下所示...

这将创建“obv”列并计算出 300 个条目的 OBV。

理想情况下,我想做这样的事情......

这看起来有可能起作用,但问题是“应用”仅在“交易量”列中传递,因此您无法计算收盘价的变化。

我也试过这个...

哪种有效,但它会尝试更新“关闭”和“音量”列,而不是添加新的“obv10”列。

执行此操作的最佳方法是什么,或者您只需要以 10 个为一组迭代数据吗?

我从这个链接中找到了一种更有效的方法来执行上面的代码: Calculating stock's On Balance Volume (OBV) in python

问题是这仍然适用于整个数据集。这看起来不错,但是我怎样才能一次循环 10 个批次而不循环或迭代整个数据集?

*** 更新 ***

我已经稍微接近让这个工作了。我设法以 10 人一组计算了 OBV。

我希望这是计算滚动而不是分组。知道如何以有效的方式使用 Pandas 做到这一点吗?

*** 更新 ***

事实证明,应该在整个数据集上计算 OBV。我已经确定了以下现在看起来正确的代码。

0 投票
1 回答
231 浏览

python - IEX API技术指标批量调用

只是想知道是否有人能够批量调用 iex 云 api,请求多个代码的 SMA10day 或 EMA10day 等技术指标。

我通过以下 url 访问其他一些功能没有问题:batch_api_call_url = f'https://cloud.iexapis.com/v1/stock/market/batch?&types=quote,stats,advanced-stats,company&symbols={股票代码}&token={iex_token}'

然而,技术指标端点让我望而却步。非常感谢任何指导!