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

技术分析负面指标
EN

Stack Overflow用户
提问于 2014-07-26 22:36:46
回答 1查看 134关注 0票数 3

我正在通过Numpy用Python编写技术指标。假设,为了方便起见,我们有一个名为Price的np.array,其中填充了Stock-Price,并希望计算一些示例指标,如:

代码语言:javascript
复制
for i in range (0,len(Price)):
    Indicator[i]=2*Price[i]+3*Price[i-1]+ .... + 34*Price[i-10]

到目前为止,我会分别计算自Price[-9]=Price[len(Price)-9]以来指标的前10个条目,并从10开始for循环。是否有方法可以简化这一点,例如,自动省略具有负指数的值,如价格-5

谢谢

EN

回答 1

Stack Overflow用户

发布于 2014-07-26 23:01:36

你可以用numpy.convolve来写你的转换。例如,如果

代码语言:javascript
复制
>>> price
array([-1,  4,  5,  0, -5,  2, -4,  4, 20,  1])
>>> coef
array([10, -2,  1])

(为了简单起见,我只使用了3个元素,而不是10个),然后

代码语言:javascript
复制
coef[0] * price[t] + coef[1] * price[t-1] + coef[2] * price[t-2]

np.convolve计算的,它还负责序列的初始部分,其中我们没有3个元素

代码语言:javascript
复制
>>> np.convolve(coef, price)
array([-10,  42,  41,  -6, -45,  30, -49,  50, 188, -26,  18,   1])

如您所见,对于第一个元素-10 = 10 * -1,对于第二个元素:42 = 10 * 4 + -2 * -1,对于第七个元素:-49 = 10 * -4 + -2 * 2 + 1 * -5

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24972111

复制
相关文章

相似问题

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