mirror of
https://github.com/wassname/pandas-ta.git
synced 2026-06-27 16:10:07 +08:00
59 lines
1.8 KiB
Python
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")
|