Ejemplo n.º 1
0
    def ready_fname(self, date, path):
        """
        Insert positions and overall into db then start testing
        """
        positions, overall = OpenPos(path).read()

        # save position statement
        position_statement = models.PositionSummary(date=date, **overall)
        position_statement.save()

        for position in positions:
            # save positions
            pos = models.Underlying(position_statement=position_statement,
                                    symbol=position['Symbol'],
                                    company=position['Company'])
            pos.save()

            # save instrument
            instrument = models.PositionInstrument()
            instrument.set_dict(position['Instrument'])
            instrument.underlying = pos
            instrument.save()

            # save stock
            stock = models.PositionEquity()
            stock.set_dict(position['Stock'])
            stock.underlying = pos
            stock.save()

            # save options
            for pos_option in position['Options']:
                option = models.PositionOption()
                option.set_dict(pos_option)
                option.underlying = pos
                option.save()
Ejemplo n.º 2
0
    def test_all(self):
        for key, fname in enumerate(self.fnames):
            print '%d. fname: %s' % (key, fname)
            print ''

            self.pos_data = open(fname).read()
            self.open_pos = OpenPos(data=self.pos_data)

            self.test_set_future_position()
            self.test_set_forex_position()
            self.test_set_position_summary()
            self.test_set_equity_option_position()
Ejemplo n.º 3
0
    def test_read(self):
        """
        Test read position statement file and output dict data
        """
        self.fnames = self.fnames + [
            os.path.join(test_path,
                         '2014-11-14/2014-11-14-PositionStatement.csv'),
            os.path.join(test_path,
                         '2014-11-15/2014-11-15-PositionStatement.csv'),
        ]

        expected_keys = [
            'equity_option_position', 'future_position', 'forex_position',
            'position_summary'
        ]

        for file_no, fname in enumerate(self.fnames):
            print '%d. fname: %s\n' % (file_no, fname)

            pos_data = open(fname).read()
            open_pos = OpenPos(data=pos_data)

            pos = open_pos.read()

            for key in pos.keys():
                self.assertIn(key, expected_keys)

            print 'Equity and Option Position:'
            pprint(pos['equity_option_position'], width=400)

            print '\n' + 'Future Position:'
            pprint(pos['future_position'], width=400)

            print '\n' + 'Position Summary:'
            pprint(pos['position_summary'], width=400)

            print '\n' + 'Forex Position:'
            pprint(pos['forex_position'], width=400)

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

        self.fnames = glob(os.path.join(test_pos_path + '/*.csv'))
        self.pos_data = open(self.fnames[0]).read()
        self.open_pos = OpenPos(data=self.pos_data)