Exemple #1
0
    def test_read(self):
        """
        Test most important part in class
        """
        keys = [
            'working_order', 'filled_order', 'cancelled_order',
            'rolling_strategy'
        ]

        for fname in self.fnames:
            data = open(fname).read()

            print 'fname: %s' % fname

            open_acc = OpenTA(data=data)

            result = open_acc.read()
            self.assertEqual(type(result), dict)
            self.assertEqual(len(result), 4)

            pprint(result, width=200)

            for key in result.keys():
                if key == 'summary':
                    self.assertEqual(type(result[key]), dict)
                else:
                    self.assertEqual(type(result[key]), list)

                self.assertIn(key, keys)

            print '\n' + '-' * 100 + '\n'
Exemple #2
0
    def test_ready(self):
        """
        Test ready file then return data
        """
        keys = [
            'working_order', 'filled_order', 'cancelled_order',
            'rolling_strategy'
        ]

        for fname in self.fnames:
            data = open(fname).read()

            print 'fname: %s' % fname

            open_ta = OpenTA(data=data)

            result = open_ta.read()
            self.assertEqual(type(result), dict)
            self.assertEqual(len(result), 4)

            pprint(result, width=400)

            for key in result.keys():
                self.assertEqual(type(result[key]), list)

                self.assertIn(key, keys)

            print '\n' + '-' * 100 + '\n'
Exemple #3
0
    def test_read_save(self):
        """
        Open TA file data then save all fields into db
        """
        for key, ta_file in enumerate(self.ta_files, start=1):
            print '%d. run filename: %s' % (key, ta_file)
            print 'starting...\n'

            date = os.path.basename(ta_file)[0:10]
            data = open(ta_file).read()

            statement = models.Statement(
                date=date,
                account_statement='None',
                position_statement='None',
                trade_activity=data,
            )
            statement.save()

            trade_activity = models.TradeSummary(statement=statement,
                                                 date=date)
            trade_activity.save()

            print 'statement id: %d' % statement.id
            print 'trade_activity id: %d' % trade_activity.id

            print 'using open_ta to make dict data...'
            ta_data = OpenTA(data=data).read()

            print 'keys: %s\n' % ta_data.keys()

            self.insert_db(no=key,
                           trade_activity=trade_activity,
                           test_model=models.FilledOrder,
                           data_list=ta_data['filled_order'])

            self.insert_db(no=key,
                           trade_activity=trade_activity,
                           test_model=models.CancelledOrder,
                           data_list=ta_data['cancelled_order'])

            self.insert_db(no=key,
                           trade_activity=trade_activity,
                           test_model=models.WorkingOrder,
                           data_list=ta_data['working_order'])

            self.insert_db(no=key,
                           trade_activity=trade_activity,
                           test_model=models.RollingStrategy,
                           data_list=ta_data['rolling_strategy'])

            print '\n' + '-' * 100
Exemple #4
0
    def setUp(self):
        TestSetUp.setUp(self)

        self.fnames = glob(os.path.join(test_ta_path, '/*.csv')) + [
            os.path.join(test_path, '2014-10-31',
                         '2014-10-31-TradeActivity.csv'),
            os.path.join(test_path, '2014-11-01',
                         '2014-11-01-TradeActivity.csv')
        ]

        self.test_file = self.fnames[0]
        self.test_data = open(self.test_file).read()

        self.open_ta = OpenTA(data=self.test_data)
Exemple #5
0
    def __init__(self, date, statement, file_data):
        """
        :param date: str
        :param statement: Statement
        :param file_data: str, raw file read
        """
        SaveAppModel.__init__(self, date, statement, file_data)

        ta_data = OpenTA(data=self.file_data).read()

        self.working_order = ta_data['working_order']
        self.filled_order = ta_data['filled_order']
        self.cancelled_order = ta_data['cancelled_order']
        self.rolling_strategy = ta_data['rolling_strategy']

        self.trade_activity = None