Modified portfolio_test to have extra assertions around adding a position

This commit is contained in:
Michael Halls-Moore
2015-01-28 15:37:40 +00:00
parent e223aa5751
commit 7274c5392b
+22 -7
View File
@@ -12,7 +12,7 @@ class TestPortfolio(unittest.TestCase):
risk_per_trade = 0.02
ticker = {}
self.port = Portfolio(
ticker, base=base, leverage=leverage,
ticker, base=base, leverage=leverage,
equity=equity, risk_per_trade=risk_per_trade
)
@@ -39,10 +39,11 @@ class TestPortfolio(unittest.TestCase):
def test_add_position_units(self):
side = "LONG"
market = "GBP/USD"
units = 2000
exposure = float(units)
add_price = 1.51928
remove_price = 1.51878
add_price = 1.51819
remove_price = 1.51770
# Test for no position
market = "EUR/USD"
@@ -52,16 +53,30 @@ class TestPortfolio(unittest.TestCase):
)
self.assertFalse(apu)
# Test for real position
# Add a position
market = "GBP/USD"
self.port.add_new_position(
side, market, units, exposure,
add_price, remove_price
)
ps = self.port.positions[market]
# Test for real position
add_price = 1.52876
remove_price = 1.52821
extra_units = 2000
extra_exposure = float(extra_units) + exposure
apu = self.port.add_position_units(
market, units, exposure,
market, extra_units, extra_exposure,
add_price, remove_price
)
self.assertTrue(apu)
ps = self.port.positions[market]
self.assertAlmostEqual(ps.avg_price, 1.518735)
# Check the position members are correct/sane
self.assertAlmostEqual(ps.avg_price, 1.523475)
self.assertAlmostEqual(ps.cur_price, 1.52821)
self.assertEqual(ps.units, units + extra_units)
self.assertEqual(ps.exposure, exposure + extra_exposure)
if __name__ == "__main__":