Ta-Lib:MAVP期间的概念是什么 - (可变期间的移动平均线)?

时间:2018-01-07 07:02:28

标签: python c ta-lib

我想使用ta-lib的以下功能。

我想了解periods的含义。

MAVP

MAVP([input_arrays], [minperiod=2], [maxperiod=30], [matype=0])

Moving average with variable period (Overlap Studies)

Inputs:
price: (any ndarray) periods: (any ndarray)
Parameters:
minperiod: 2 maxperiod: 30 matype: 0 (Simple Moving Average)
Outputs:
real

periods的长度与price的长度不同时,它会返回错误(另外:如果matype>> = 0且<它会返回nparray ; = 8,否则会抛出错误。)

原始文件: https://mrjbq7.github.io/ta-lib/func_groups/overlap_studies.html

对某些(自动生成的)文档的引用: https://www.backtrader.com/docu/talibindautoref.html

修改 底层的c代码在这里: http://svn.code.sf.net/p/ta-lib/code/trunk/ta-lib/c/src/ta_func/ta_MAVP.c

也发布在这里: https://github.com/mrjbq7/ta-lib/issues/175

1 个答案:

答案 0 :(得分:1)

https://github.com/mrjbq7/ta-lib/issues/175#issuecomment-356042378所示:

这就是函数的功能。 它获得一个输入价格数组和一个长度相同的句点数组。 输出价格数组是使用指定期间点的点的移动平均线。 所以,如果你有一个[1,5,3,8]的数组,你指定句点[2,3,3,2],那么输出将是:

[SMA(2)[0], SMA(3)[1], SMA(3)[2], SMA(2)[3]]

除了将maxperiods的nan数量放在前面之外,由于某种原因,你需要将其称为:

>>> prices = np.array([1,5,7,8], dtype=float)
>>> periods =np.array([2,3,3,2], dtype=float)
>>> ta.MAVP(prices, periods, maxperiod=3)
array([        nan,         nan,  4.33333333,  7.5       ])

>>> ta.SMA(prices, 2)
array([ nan,  3. ,  6. ,  7.5])

>>> ta.SMA(prices, 3)
array([        nan,         nan,  4.33333333,  6.66666667])