コード例 #1
0
class AccountTest(unittest.TestCase):
    def setUp(self):
        settings = ConfigParser.ConfigParser()
        self.account = Account(settings)

    def test_adjust_cash(self):
        self.assertTrue(self.account.cash == 100000)
        self.account.adjust_cash(10000)
        self.assertTrue(self.account.cash == 110000)

    def test_adjust_position(self):
        self.assertTrue("AAPL" not in self.account.positions)
        self.account.adjust_position("AAPL", 100)
        self.assertTrue(self.account.positions["AAPL"] == 100)
        self.account.adjust_position("AAPL", -50)
        self.assertTrue(self.account.positions["AAPL"] == 50)
        self.account.adjust_position("AAPL", -50)
        self.assertTrue("AAPL" not in self.account.positions)

    def test_get_equity(self):
        datastore = MockDataStore()
        self.account.adjust_position("AAPL", 100)
        pd = PeriodData(datetime(2015, 11, 1), 200, 220, 180, 200, 100000, "AAPL", Period.DAILY, 100.0)
        datastore.add_mock_data(pd)
        self.assertTrue(self.account.get_equity(datastore, datetime(2015, 11, 15)) == 110000)