python : pyti 平均真实范围函数输入的列表结构

python : list structure for input of pyti average true range function

我是 Python 的新手,我想使用 pyti 的 average_true_range() 函数。 ATR 基于真实范围 ( https://github.com/kylejusticemagnuson/pyti/blob/master/pyti/true_range.py ),但我很难理解真实范围的输入应该是什么样子。

真实范围是根据最高价、最低价和最后收盘价计算的(参见 https://en.wikipedia.org/wiki/Average_true_range

真实范围在pyti中是这样计算的:

tr = [np.max([np.max(close_data[idx+1-period:idx+1]) -
                np.min(close_data[idx+1-period:idx+1]),
                abs(np.max(close_data[idx+1-period:idx+1]) -
                close_data[idx-1]),
                abs(np.min(close_data[idx+1-period:idx+1]) -
                close_data[idx-1])]) for idx in range(period-1, len(close_data))]
    tr = fill_for_noncomputable_vals(close_data, tr)

这意味着:

当日最高值通过np.max(close_data[idx+1-period:idx+1])

收集

当日低价通过np.min(close_data[idx+1-period:idx+1])

收集

前一天的收盘价通过close_data[idx-1]

收集

我应该如何填充 close_data[] 才能使其正常工作? 是这样的吗?:

close_data=[high day1, low day1, close day1,
            high day2, low day2, close day2, etc...]

非常感谢您的帮助!

只需传入 close_data = [close_day1, close_day2, close_day3, ...]period = index_between_0_and_len_of_close_data.

即对于 close_data,您只需传递所有收盘价的值。对于期间,您只传递索引,即 0 和 len(close_data)(不包含)之间的任何整数。

您还可以查看 wiki 平均真实范围和真实范围。