mirror of
https://github.com/wassname/pandas-ta.git
synced 2026-07-01 16:50:30 +08:00
850b416a52
Signed-off-by: Ryan Russell <git@ryanrussell.org>
138 lines
5.0 KiB
Python
138 lines
5.0 KiB
Python
# -*- coding: utf-8 -*-
|
|
from unittest import TestCase, skip
|
|
from pandas import DataFrame
|
|
|
|
from .config import sample_data
|
|
|
|
|
|
class TestTrendExtension(TestCase):
|
|
@classmethod
|
|
def setUpClass(cls):
|
|
cls.data = sample_data
|
|
|
|
@classmethod
|
|
def tearDownClass(cls):
|
|
del cls.data
|
|
|
|
def setUp(self): pass
|
|
def tearDown(self): pass
|
|
|
|
|
|
def test_adx_ext(self):
|
|
self.data.ta.adx(append=True)
|
|
self.assertIsInstance(self.data, DataFrame)
|
|
self.assertEqual(list(self.data.columns[-3:]), ["ADX_14", "DMP_14", "DMN_14"])
|
|
|
|
def test_amat_ext(self):
|
|
self.data.ta.amat(append=True)
|
|
self.assertIsInstance(self.data, DataFrame)
|
|
self.assertEqual(list(self.data.columns[-2:]), ["AMATe_LR_8_21_2", "AMATe_SR_8_21_2"])
|
|
|
|
def test_aroon_ext(self):
|
|
self.data.ta.aroon(append=True)
|
|
self.assertIsInstance(self.data, DataFrame)
|
|
self.assertEqual(list(self.data.columns[-3:]), ["AROOND_14", "AROONU_14", "AROONOSC_14"])
|
|
|
|
def test_chop_ext(self):
|
|
self.data.ta.chop(append=True, ln=False)
|
|
self.assertIsInstance(self.data, DataFrame)
|
|
self.assertEqual(self.data.columns[-1], "CHOP_14_1_100.0")
|
|
|
|
self.data.ta.chop(append=True, ln=True)
|
|
self.assertIsInstance(self.data, DataFrame)
|
|
self.assertEqual(self.data.columns[-1], "CHOPln_14_1_100.0")
|
|
|
|
def test_cksp_ext(self):
|
|
self.data.ta.cksp(tvmode=False, append=True)
|
|
self.assertIsInstance(self.data, DataFrame)
|
|
self.assertEqual(list(self.data.columns[-2:]), ["CKSPl_10_3_20", "CKSPs_10_3_20"])
|
|
|
|
def test_cksp_tv_ext(self):
|
|
self.data.ta.cksp(tvmode=True, append=True)
|
|
self.assertIsInstance(self.data, DataFrame)
|
|
self.assertEqual(list(self.data.columns[-2:]), ["CKSPl_10_1_9", "CKSPs_10_1_9"])
|
|
|
|
def test_decay_ext(self):
|
|
self.data.ta.decay(append=True)
|
|
self.assertIsInstance(self.data, DataFrame)
|
|
self.assertEqual(self.data.columns[-1], "LDECAY_1")
|
|
|
|
self.data.ta.decay(mode="exp", append=True)
|
|
self.assertIsInstance(self.data, DataFrame)
|
|
self.assertEqual(self.data.columns[-1], "EXPDECAY_1")
|
|
|
|
def test_decreasing_ext(self):
|
|
self.data.ta.decreasing(append=True)
|
|
self.assertIsInstance(self.data, DataFrame)
|
|
self.assertEqual(self.data.columns[-1], "DEC_1")
|
|
|
|
self.data.ta.decreasing(length=3, strict=True, append=True)
|
|
self.assertIsInstance(self.data, DataFrame)
|
|
self.assertEqual(self.data.columns[-1], "SDEC_3")
|
|
|
|
def test_dpo_ext(self):
|
|
self.data.ta.dpo(append=True)
|
|
self.assertIsInstance(self.data, DataFrame)
|
|
self.assertEqual(self.data.columns[-1], "DPO_20")
|
|
|
|
def test_increasing_ext(self):
|
|
self.data.ta.increasing(append=True)
|
|
self.assertIsInstance(self.data, DataFrame)
|
|
self.assertEqual(self.data.columns[-1], "INC_1")
|
|
|
|
self.data.ta.increasing(length=3, strict=True, append=True)
|
|
self.assertIsInstance(self.data, DataFrame)
|
|
self.assertEqual(self.data.columns[-1], "SINC_3")
|
|
|
|
def test_long_run_ext(self):
|
|
# Nothing passed, return self
|
|
self.assertEqual(self.data.ta.long_run(append=True).shape, self.data.shape)
|
|
|
|
fast = self.data.ta.ema(8)
|
|
slow = self.data.ta.ema(21)
|
|
self.data.ta.long_run(fast, slow, append=True)
|
|
self.assertIsInstance(self.data, DataFrame)
|
|
self.assertEqual(self.data.columns[-1], "LR_2")
|
|
|
|
def test_psar_ext(self):
|
|
self.data.ta.psar(append=True)
|
|
self.assertIsInstance(self.data, DataFrame)
|
|
self.assertEqual(
|
|
list(self.data.columns[-4:]), ["PSARl_0.02_0.2", "PSARs_0.02_0.2", "PSARaf_0.02_0.2", "PSARr_0.02_0.2"])
|
|
|
|
def test_qstick_ext(self):
|
|
self.data.ta.qstick(append=True)
|
|
self.assertIsInstance(self.data, DataFrame)
|
|
self.assertEqual(self.data.columns[-1], "QS_10")
|
|
|
|
def test_short_run_ext(self):
|
|
# Nothing passed, return self
|
|
self.assertEqual(
|
|
self.data.ta.short_run(append=True).shape, self.data.shape)
|
|
|
|
fast = self.data.ta.ema(8)
|
|
slow = self.data.ta.ema(21)
|
|
self.data.ta.short_run(fast, slow, append=True)
|
|
self.assertIsInstance(self.data, DataFrame)
|
|
self.assertEqual(self.data.columns[-1], "SR_2")
|
|
|
|
def test_trendflex_ext(self):
|
|
self.data.ta.trendflex(append=True)
|
|
self.assertIsInstance(self.data, DataFrame)
|
|
self.assertEqual(list(self.data.columns[-1:]), ["TRENDFLEX_20_20_0.04"])
|
|
|
|
def test_ttm_trend_ext(self):
|
|
self.data.ta.ttm_trend(append=True)
|
|
self.assertIsInstance(self.data, DataFrame)
|
|
self.assertEqual(list(self.data.columns[-1:]), ["TTM_TRND_6"])
|
|
|
|
def test_vhf_ext(self):
|
|
self.data.ta.vhf(append=True)
|
|
self.assertIsInstance(self.data, DataFrame)
|
|
self.assertEqual(list(self.data.columns[-1:]), ["VHF_28"])
|
|
|
|
def test_vortex_ext(self):
|
|
self.data.ta.vortex(append=True)
|
|
self.assertIsInstance(self.data, DataFrame)
|
|
self.assertEqual(list(self.data.columns[-2:]), ["VTXP_14", "VTXM_14"])
|