Pyalgotrade SMA 编码说明
Pyalgotrade SMA Coding Clarification
我已经开始学习和测试 PyAlgoTrade,并且很难理解 SMA 和 RSI 等技术代码背后的一些逻辑。
我知道 self.info() 函数打印出它作为变量的数据帧提要,但是,在下面发布的代码的最后一行中,SMA 和 RSI 之后的 [-1] 的作用是什么?
from pyalgotrade import strategy
from pyalgotrade.barfeed import yahoofeed
from pyalgotrade.technical import ma
from pyalgotrade.technical import rsi
class MyStrategy(strategy.BacktestingStrategy):
def __init__(self, feed, instrument):
strategy.BacktestingStrategy.__init__(self, feed)
self.__rsi = rsi.RSI(feed[instrument].getCloseDataSeries(), 14)
self.__sma = ma.SMA(self.__rsi, 15)
self.__instrument = instrument
def onBars(self, bars):
bar = bars[self.__instrument]
self.info("%s %s %s" %(bar.getClose(), self.__rsi[-1], self.__sma[-1]))
负数索引仅表示:您从数组的 "rear" 末尾开始计数。
换句话说:[-1] 指的是数组中的最后一个元素,[-2] 指的是 "almost last",依此类推。
我已经开始学习和测试 PyAlgoTrade,并且很难理解 SMA 和 RSI 等技术代码背后的一些逻辑。 我知道 self.info() 函数打印出它作为变量的数据帧提要,但是,在下面发布的代码的最后一行中,SMA 和 RSI 之后的 [-1] 的作用是什么?
from pyalgotrade import strategy
from pyalgotrade.barfeed import yahoofeed
from pyalgotrade.technical import ma
from pyalgotrade.technical import rsi
class MyStrategy(strategy.BacktestingStrategy):
def __init__(self, feed, instrument):
strategy.BacktestingStrategy.__init__(self, feed)
self.__rsi = rsi.RSI(feed[instrument].getCloseDataSeries(), 14)
self.__sma = ma.SMA(self.__rsi, 15)
self.__instrument = instrument
def onBars(self, bars):
bar = bars[self.__instrument]
self.info("%s %s %s" %(bar.getClose(), self.__rsi[-1], self.__sma[-1]))
负数索引仅表示:您从数组的 "rear" 末尾开始计数。
换句话说:[-1] 指的是数组中的最后一个元素,[-2] 指的是 "almost last",依此类推。