Files
pandas-ta/tests/test_indicator_performance.py
2022-01-24 09:33:33 -08:00

59 lines
1.8 KiB
Python

# -*- coding: utf-8 -*-
from unittest import TestCase
from pandas import DataFrame, Series
from .config import sample_data
from .context import pandas_ta
class TestPerformace(TestCase):
@classmethod
def setUpClass(cls):
cls.data = sample_data
cls.close = cls.data["close"]
cls.islong = (cls.close > pandas_ta.sma(cls.close, length=8)).astype(int)
cls.pctret = pandas_ta.percent_return(cls.close, cumulative=False)
cls.logret = pandas_ta.percent_return(cls.close, cumulative=False)
@classmethod
def tearDownClass(cls):
del cls.data
del cls.close
del cls.islong
del cls.pctret
del cls.logret
def setUp(self): pass
def tearDown(self): pass
def test_drawdown(self):
"""Performance: Drawdown"""
result = pandas_ta.drawdown(self.close)
self.assertIsInstance(result, DataFrame)
self.assertEqual(result.name, "DD")
def test_log_return(self):
"""Performance: Log Return"""
result = pandas_ta.log_return(self.close)
self.assertIsInstance(result, Series)
self.assertEqual(result.name, "LOGRET_1")
def test_cum_log_return(self):
"""Performance: Cumulative Log Return"""
result = pandas_ta.log_return(self.close, cumulative=True)
self.assertIsInstance(result, Series)
self.assertEqual(result.name, "CUMLOGRET_1")
def test_percent_return(self):
"""Performance: Percent Return"""
result = pandas_ta.percent_return(self.close, cumulative=False)
self.assertIsInstance(result, Series)
self.assertEqual(result.name, "PCTRET_1")
def test_cum_percent_return(self):
"""Performance: Cumulative Percent Return"""
result = pandas_ta.percent_return(self.close, cumulative=True)
self.assertEqual(result.name, "CUMPCTRET_1")