def test_ma(self): ma = MA('000001') global_data.add_data('000001') self.assertAlmostEqual(ma.get_ma('2017-03-09', 5), 9.42, places=2) # 与真实值对比 精确到后2位 self.assertAlmostEqual(ma.get_ma('2017-02-10', 10), 9.29, places=2) self.assertAlmostEqual(ma.get_ma('2016-12-15', 30), 9.37, places=2) self.assertAlmostEqual(ma.get_ma('2017-03-14', 30), 9.41, places=2) self.assertAlmostEqual(ma.get_ma('2017-03-09', 90), 9.30, places=2) self.assertAlmostEqual(ma.get_ma('2017-03-20', 90), 9.32, places=2) global_data.save_database(global_data.DB_FILE)
def test_kdj(self): kdj = KDJ('000001') global_data.add_data('000001') self.assertAlmostEqual(kdj.get_kdj('2017-06-16', 9, 3), 1.78, places=2) # 与真实值对比 精确到后2位 self.assertAlmostEqual(kdj.get_kdj('2017-06-01', 9, 3), 109.21, places=2) self.assertAlmostEqual(kdj.get_kdj('2017-02-20', 9, 3), 79.49, places=2) global_data.save_database(global_data.DB_FILE)
def test_macd(self): macd = MACD('600519') # 它的MACD值比较大 global_data.add_data('600519') self.assertAlmostEqual(macd.get_macd('2017-03-13', 12, 26, 9), 1.92, places=2) # 与真实值对比 精确到后2位 self.assertAlmostEqual(macd.get_macd('2017-03-14', 12, 26, 9), 1.58, places=2) # self.assertAlmostEqual(macd.get_macd('2016-11-22', 12, 26, 9), -2.59, places=2) # 上面的有一点点问题,算出来是-2.59701,通达信的是-2.594,导致assert报错,应该是早期的数据还不够多导致的 macd = MACD('000001') global_data.add_data('000001') self.assertAlmostEqual(macd.get_macd('2017-03-13', 9, 20, 7), -0.03, places=2) self.assertAlmostEqual(macd.get_macd('2017-03-14', 9, 20, 7), -0.02, places=2) self.assertAlmostEqual(macd.get_macd('2017-03-17', 9, 20, 7), -0.02, places=2) self.assertAlmostEqual(macd.previous_value('2017-03-17', 1), 0.01, places=2) # 获取的是03-16的值 self.assertAlmostEqual(macd.get_saved_macd('2017-03-16'), 0.01, places=2) # 获取的也是03-16的值 global_data.save_database(global_data.DB_FILE)
def test_mtm(self): mtm = MTM('000002') global_data.add_data('000002') self.assertAlmostEqual(mtm.get_mtm('2017-06-26', 12, 6), 1.67, places=2) # 与真实值对比 精确到后2位 self.assertAlmostEqual(mtm.get_mtm('2017-07-21', 12, 6), 0.08, places=2) global_data.save_database(global_data.DB_FILE)
def test_dmi(self): dmi = DMI('000001') global_data.add_data('000001') pdi, mdi = dmi.get_dmi('2019-10-25', 14) self.assertAlmostEqual(pdi, 28.00, places=2) # 与真实值对比 精确到后2位 self.assertAlmostEqual(mdi, 11.25, places=2) # 与真实值对比 精确到后2位