1

我想使用 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

当的长度periodspricematype

原始文档: 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

4

1 回答 1

2

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]]

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

>>> 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])
于 2018-01-08T18:12:59.273 回答