def testControllerPosAlerts(self): plog = '%s/positions.csv' % os.path.dirname(__file__) elog = '%s/equity.csv' % os.path.dirname(__file__) rlog = '%s/returns.csv' % os.path.dirname(__file__) slog = '%s/summary.csv' % os.path.dirname(__file__) ctrl = ClenowController({ 'Ag-1' : ['RR'] }, plog, elog, rlog, summaryFile=slog) ctrl.run(datetime.datetime(2011,12,31),datetime.datetime(2012,8,1),datetime.datetime(2013,12,31)) tlog = '%s/posalert.log' % os.path.dirname(__file__) ctrl.writePositionAlerts(tlog) self.assertTrue(test_util.file_compare('%s/posalert.reflog' % os.path.dirname(__file__), tlog)) os.remove(tlog) tlog = '%s/trade7.log' % os.path.dirname(__file__) ctrl.writeAllTrades(tlog) self.assertTrue(test_util.file_compare('%s/trade7.reflog' % os.path.dirname(__file__), tlog)) os.remove(tlog) tlog = '%s/tssb' % os.path.dirname(__file__) ctrl.writeTSSBTrades(tlog) self.assertTrue(test_util.file_compare('%s_long.reflog' % tlog, '%s_long.csv' % tlog)) self.assertTrue(test_util.file_compare('%s_short.reflog' % tlog, '%s_short.csv' % tlog)) os.remove('%s_long.csv' % tlog) os.remove('%s_short.csv' % tlog) os.remove(plog) os.remove(elog) os.remove(rlog) os.remove(slog)
def testControllerPosAlerts(self): plog = '%s/positions.csv' % os.path.dirname(__file__) elog = '%s/equity.csv' % os.path.dirname(__file__) rlog = '%s/returns.csv' % os.path.dirname(__file__) slog = '%s/summary.csv' % os.path.dirname(__file__) ctrl = ClenowController({'Ag-1': ['RR']}, plog, elog, rlog, summaryFile=slog) ctrl.run(datetime.datetime(2011, 12, 31), datetime.datetime(2012, 8, 1), datetime.datetime(2013, 12, 31)) tlog = '%s/posalert.log' % os.path.dirname(__file__) ctrl.writePositionAlerts(tlog) self.assertTrue( test_util.file_compare( '%s/posalert.reflog' % os.path.dirname(__file__), tlog)) os.remove(tlog) tlog = '%s/trade7.log' % os.path.dirname(__file__) ctrl.writeAllTrades(tlog) self.assertTrue( test_util.file_compare( '%s/trade7.reflog' % os.path.dirname(__file__), tlog)) os.remove(tlog) tlog = '%s/tssb' % os.path.dirname(__file__) ctrl.writeTSSBTrades(tlog) self.assertTrue( test_util.file_compare('%s_long.reflog' % tlog, '%s_long.csv' % tlog)) self.assertTrue( test_util.file_compare('%s_short.reflog' % tlog, '%s_short.csv' % tlog)) os.remove('%s_long.csv' % tlog) os.remove('%s_short.csv' % tlog) os.remove(plog) os.remove(elog) os.remove(rlog) os.remove(slog)
def testClenowRunGroup(self): #crg = ClenowRunGroup(['RR','LH','O']) #crg.feed().start() #crg.strategy().exitPositions() plog = '%s/positions.csv' % os.path.dirname(__file__) elog = '%s/equity.csv' % os.path.dirname(__file__) rlog = '%s/returns.csv' % os.path.dirname(__file__) slog = '%s/summary.csv' % os.path.dirname(__file__) ctrl = ClenowController({ 'Ag-1' : ['RR','LH','O'], 'Ag-2' : ['LB','LC']}, plog, elog, rlog, summaryFile=slog) ctrl.run(datetime.datetime(2011,12,31),datetime.datetime(2012,8,1),datetime.datetime(2013,12,31)) tlog = '%s/trade4.log' % os.path.dirname(__file__) ctrl.writeAllTrades(tlog) self.assertAlmostEqual(ctrl.get_net_profit(),ctrl.get_trade_profit(),places=2) crg = ctrl._runGroups['Ag-1'] trades = crg.trades_analyzer() self.assertEqual(trades.getCount(),6) self.assertEqual(trades.getProfitableCount(),1) self.assertEqual(trades.getUnprofitableCount(),5) self.assertTrue(test_util.file_compare('%s/trade4.reflog' % os.path.dirname(__file__), tlog)) os.remove(tlog) self.assertTrue(test_util.file_compare('%s/positions.refcsv' % os.path.dirname(__file__), plog)) os.remove(plog) self.assertTrue(test_util.file_compare('%s/equity.refcsv' % os.path.dirname(__file__), elog)) os.remove(elog) self.assertTrue(test_util.file_compare('%s/returns.refcsv' % os.path.dirname(__file__), rlog)) os.remove(rlog) self.assertTrue(test_util.file_compare('%s/summary.refcsv' % os.path.dirname(__file__), slog)) os.remove(slog) # now check the last open trades pos_alerts = ctrl.get_position_alerts() self.assertEqual(len(pos_alerts),1) self.assertEqual(pos_alerts[0].stop,1476.35)
def testClenowRunGroup(self): #crg = ClenowRunGroup(['RR','LH','O']) #crg.feed().start() #crg.strategy().exitPositions() plog = '%s/positions.csv' % os.path.dirname(__file__) elog = '%s/equity.csv' % os.path.dirname(__file__) rlog = '%s/returns.csv' % os.path.dirname(__file__) slog = '%s/summary.csv' % os.path.dirname(__file__) ctrl = ClenowController( { 'Ag-1': ['RR', 'LH', 'O'], 'Ag-2': ['LB', 'LC'] }, plog, elog, rlog, summaryFile=slog) ctrl.run(datetime.datetime(2011, 12, 31), datetime.datetime(2012, 8, 1), datetime.datetime(2013, 12, 31)) tlog = '%s/trade4.log' % os.path.dirname(__file__) ctrl.writeAllTrades(tlog) self.assertAlmostEqual(ctrl.get_net_profit(), ctrl.get_trade_profit(), places=2) crg = ctrl._runGroups['Ag-1'] trades = crg.trades_analyzer() self.assertEqual(trades.getCount(), 6) self.assertEqual(trades.getProfitableCount(), 1) self.assertEqual(trades.getUnprofitableCount(), 5) self.assertTrue( test_util.file_compare( '%s/trade4.reflog' % os.path.dirname(__file__), tlog)) os.remove(tlog) self.assertTrue( test_util.file_compare( '%s/positions.refcsv' % os.path.dirname(__file__), plog)) os.remove(plog) self.assertTrue( test_util.file_compare( '%s/equity.refcsv' % os.path.dirname(__file__), elog)) os.remove(elog) self.assertTrue( test_util.file_compare( '%s/returns.refcsv' % os.path.dirname(__file__), rlog)) os.remove(rlog) self.assertTrue( test_util.file_compare( '%s/summary.refcsv' % os.path.dirname(__file__), slog)) os.remove(slog) # now check the last open trades pos_alerts = ctrl.get_position_alerts() self.assertEqual(len(pos_alerts), 1) self.assertEqual(pos_alerts[0].stop, 1476.35)