Python talib.ROC Examples

The following are 8 code examples of talib.ROC(). You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may also want to check out all available functions/classes of the module talib , or try the search function .
Example #1
Source File: roc.py    From jesse with MIT License 6 votes vote down vote up
def roc(candles: np.ndarray, period=10, source_type="close", sequential=False) -> Union[float, np.ndarray]:
    """
    ROC - Rate of change : ((price/prevPrice)-1)*100

    :param candles: np.ndarray
    :param period: int - default=10
    :param source_type: str - default: "close"
    :param sequential: bool - default=False

    :return: float | np.ndarray
    """
    if not sequential and len(candles) > 240:
        candles = candles[-240:]

    source = get_candle_source(candles, source_type=source_type)
    res = talib.ROC(source, timeperiod=period)

    if sequential:
        return res
    else:
        return None if np.isnan(res[-1]) else res[-1] 
Example #2
Source File: ta_indicator_mixin.py    From strategy with Apache License 2.0 5 votes vote down vote up
def cor(self, sym1, sym2, frequency, period=10):
        if not self.kbars_ready(sym1, frequency) or not self.kbars_ready(sym2, frequency):
            return []

        close1 = self.close(sym1, frequency)
        close2 = self.close(sym2, frequency)

        roc1 = ta.ROC(close1, timeperiod=period)
        roc2 = ta.ROC(close2, timeperiod=period)

        return ta.CORREL(roc1, roc2, timeperiod=period) 
Example #3
Source File: test_pandas_talib.py    From pandas_talib with MIT License 5 votes vote down vote up
def test_indicator_ROC(self):
        n = 3
        price = 'Close'
        result = ROC(df, n)
        isinstance(result, pd.DataFrame)
        expected = talib.ROC(df[price].values, timeperiod=n)
        np.testing.assert_almost_equal(result.values, expected) 
Example #4
Source File: ta.py    From dash-technical-charting with MIT License 5 votes vote down vote up
def add_ROC(self, timeperiod=10,
            type='line', color='tertiary', **kwargs):
    """Rate of Change."""

    if not self.has_close:
        raise Exception()

    utils.kwargs_check(kwargs, VALID_TA_KWARGS)
    if 'kind' in kwargs:
        type = kwargs['kind']

    name = 'ROC({})'.format(str(timeperiod))
    self.sec[name] = dict(type=type, color=color)
    self.ind[name] = talib.ROC(self.df[self.cl].values,
                               timeperiod) 
Example #5
Source File: strategy_rsi.py    From archon with MIT License 5 votes vote down vote up
def backtest_market(data, buy_barrier, short_barrier):		
	COL_TIME = 0
	COL_CLOSE = 4
	COL_VOLUME = 5
	closes = [x[COL_CLOSE] for x in data]
	dates  = [x[COL_TIME] for x in data]
	volumes = [x[COL_VOLUME] for x in data]

	candle_data = {'close': closes, 'volume': volumes}
	bars = pd.DataFrame(candle_data, index=dates, columns = ['close','volume'])
	#print (bars.describe())
	
	bars['Pct Change'] = bars['close'].astype('float').pct_change()
	bars['RSI'] = talib.RSI(bars['close'])
	bars['volumeROC'] = talib.ROC(bars['volume'])
	
	symbol = market	
	rfs = RSIStrategy('close', bars, buy_barrier, short_barrier)
	signals = rfs.generate_signals()
	#print ("signal summary \n",signals.describe())	

	backtest = MarketOnOpenPortfolio(symbol, bars, signals)
	pf = backtest.backtest_portfolio()	
	lastindex = pf['Strategy'][-1]
	total_return = lastindex/100 -1
	print ("total return ",total_return)

	plot_portfolio(pf) 
Example #6
Source File: test_reg.py    From finta with GNU Lesser General Public License v3.0 5 votes vote down vote up
def test_roc():
    """test TA.ROC"""

    roc = TA.ROC(ohlc, 10)
    talib_roc = talib.ROC(ohlc["close"], 10)

    assert round(talib_roc[-1], 5) == round(roc.values[-1], 5) 
Example #7
Source File: test_indicator_momentum.py    From pandas-ta with MIT License 5 votes vote down vote up
def test_roc(self):
        result = pandas_ta.roc(self.close)
        self.assertIsInstance(result, Series)
        self.assertEqual(result.name, 'ROC_10')

        try:
            expected = tal.ROC(self.close)
            pdt.assert_series_equal(result, expected, check_names=False)
        except AssertionError as ae:
            try:
                corr = pandas_ta.utils.df_error_analysis(result, expected, col=CORRELATION)
                self.assertGreater(corr, CORRELATION_THRESHOLD)
            except Exception as ex:
                error_analysis(result, CORRELATION, ex) 
Example #8
Source File: talib_indicators.py    From qtpylib with Apache License 2.0 5 votes vote down vote up
def ROC(data, **kwargs):
    _check_talib_presence()
    prices = _extract_series(data)
    return talib.ROC(prices, **kwargs)