コード例 #1
0
ファイル: test_portfolio.py プロジェクト: afanxia/voyager
    def setUp(self):
        self.date_range = date_range('1/1/2011', periods=30, freq='D')
        self.ts = Series(0, index=self.date_range)

        start_date = datetime(2011, 1, 1)
        end_date = datetime(2011, 12, 31)

        self.market = Market(["AAPL", "IBM"], start_date, end_date)
        self.portfolio = Portfolio(self.market, 1000000)
        self.buy_aapl_order = Order(self.market, "2011-01-10", "AAPL", "Buy",
                                    100)
        self.buy_ibm_order = Order(self.market, "2011-01-11", "IBM", "Buy", 15)
        self.sell_aapl_order = Order(self.market, "2011-01-12", "AAPL", "Sell",
                                     50)
        self.sell_ibm_order = Order(self.market, "2011-01-14", "IBM", "Sell",
                                    15)
コード例 #2
0
ファイル: test_order.py プロジェクト: GedRap/voyager
class OrderTest(unittest.TestCase):
    def setUp(self):
        self.date_range = date_range('1/1/2011 16:00:00', periods=10, freq='D')
        self.ts = Series(0, index=self.date_range)
        self.buy_order = Order(None, "2011-01-02", "AAPL", "Buy", 100)
        self.sell_order = Order(None, "2011-01-03", "AAPL", "Sell", 50)

    def test_buy_order(self):
        new_ts = self.buy_order.update_number_of_shares_held(self.ts)

        self.assertEqual(self.ts["2011-01-01"],0)
        self.assertEqual(self.ts["2011-01-02"],100)
        self.assertEqual(self.ts["2011-01-03"],100)

    def test_buy_and_sell(self):
        new_ts = self.buy_order.update_number_of_shares_held(self.ts)
        new_ts = self.sell_order.update_number_of_shares_held(new_ts)
        self.assertEqual(self.ts["2011-01-01"],0)
        self.assertEqual(self.ts["2011-01-02"],100)
        self.assertEqual(self.ts["2011-01-03"],50)
        self.assertEqual(self.ts["2011-01-04"],50)
コード例 #3
0
ファイル: test_order.py プロジェクト: afanxia/voyager
class OrderTest(unittest.TestCase):
    def setUp(self):
        self.date_range = date_range('1/1/2011 16:00:00', periods=10, freq='D')
        self.ts = Series(0, index=self.date_range)
        self.buy_order = Order(None, "2011-01-02", "AAPL", "Buy", 100)
        self.sell_order = Order(None, "2011-01-03", "AAPL", "Sell", 50)

    def test_buy_order(self):
        new_ts = self.buy_order.update_number_of_shares_held(self.ts)

        self.assertEqual(self.ts["2011-01-01"], 0)
        self.assertEqual(self.ts["2011-01-02"], 100)
        self.assertEqual(self.ts["2011-01-03"], 100)

    def test_buy_and_sell(self):
        new_ts = self.buy_order.update_number_of_shares_held(self.ts)
        new_ts = self.sell_order.update_number_of_shares_held(new_ts)
        self.assertEqual(self.ts["2011-01-01"], 0)
        self.assertEqual(self.ts["2011-01-02"], 100)
        self.assertEqual(self.ts["2011-01-03"], 50)
        self.assertEqual(self.ts["2011-01-04"], 50)
コード例 #4
0
ファイル: CSVOrderParser.py プロジェクト: afanxia/voyager
    def parse(self):
        """
        Parse CSV file and create Order instances. Also generates set of
        symbols traded and trades timestamps range
        """
        parsed_df = pd.read_csv(self.filename)

        for index, row in parsed_df.T.iteritems():
            timestamp = str(row['year']) + "-" + str(row['month']) + "-" + str(
                row['day'])
            new_order = Order(None, timestamp, row['symbol'], row['type'],
                              row['shares'])

            super(CSVOrderParser, self).add_parsed_order(new_order)
            super(CSVOrderParser, self).add_symbol_traded(row['symbol'])
            super(CSVOrderParser, self).check_timestamp(timestamp)

        return True
コード例 #5
0
ファイル: test_order.py プロジェクト: GedRap/voyager
 def setUp(self):
     self.date_range = date_range('1/1/2011 16:00:00', periods=10, freq='D')
     self.ts = Series(0, index=self.date_range)
     self.buy_order = Order(None, "2011-01-02", "AAPL", "Buy", 100)
     self.sell_order = Order(None, "2011-01-03", "AAPL", "Sell", 50)
コード例 #6
0
ファイル: test_order.py プロジェクト: afanxia/voyager
 def setUp(self):
     self.date_range = date_range('1/1/2011 16:00:00', periods=10, freq='D')
     self.ts = Series(0, index=self.date_range)
     self.buy_order = Order(None, "2011-01-02", "AAPL", "Buy", 100)
     self.sell_order = Order(None, "2011-01-03", "AAPL", "Sell", 50)