问题标签 [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.
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 列。因此,我想要一个可以应用于不同列而不是手动的解决方案。
在此先感谢您的帮助。
这是完整数据的样子:
r - 如何向 Shiny、R quantmod 问题添加自定义指标
我是新手,试图向 Shiny/R quantmod 应用程序添加自定义指标。
R 脚本中的以下代码运行良好。
闪亮的等价物
失败并出现错误:找不到函数“myInd”。
而用任何内置函数替换“addMyInd”效果很好。
知道如何让 Shiny 找到“myInd”函数吗?
python - 使用python的技术分析库时Column操作出错
我正在尝试使用 python 的技术分析库计算 5 天移动平均线:
当我检查df['EMA']
- 我得到以下值:
输入 SBIN CSV 文件如下所示:
谁能指出我做错了什么?
真诚感谢您的帮助
python - 获取 IndexError:尝试将技术指标应用于股票信息的 pandas DataFrame 时,单个位置索引器超出范围
我是 python 新手,在使用 pandas_ta 扩展将一些技术指标应用于股票信息数据框时遇到了一些麻烦。原始数据框“nonStockdf”由列构成
并拥有大约 50 种股票、指数和期货的历史数据,可追溯到 5 年。我正在尝试将一些技术指标作为新列应用到现有 DataFrame 并保存在一个名为nonStockTechsdf
但继续获取的新数据框中IndexError: single positional indexer is out-of-bounds
。有人可以帮忙吗??我的代码如下。提前致谢
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 语句看到这种情况时,无限循环应该重置并重新开始计算。我不确定为什么这不起作用,但如果有人愿意提供反馈或想法,我会很高兴!这是我目前收到的错误:
r - 在 if 语句中获取“参数长度为 0”
我正在尝试计算 14 天回溯期的 RSI。我的 excel 文件中有三列 - 日期、打开、关闭。但是当我在 if 语句中检查 dff>0 时,会引发错误 - if (dff > 0) { 中的错误:参数的长度为零。下面是我的代码。有什么建议为什么会发生这种情况?
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。我已经确定了以下现在看起来正确的代码。
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}'
然而,技术指标端点让我望而却步。非常感谢任何指导!