Ejemplo n.º 1
0
 def test_jnk(self):
     pos = AverageCostProfitAndLoss()
     pos.add_fill(203, 38.7556)
     self.assertAlmostEqual(pos.realized_pnl, 0.)
     self.assertAlmostEqual(pos.get_unrealized_pnl(38.7556), 0.)
     pos.add_fill(-203, 38.7654)
     self.assertAlmostEqual(pos.realized_pnl, 1.989400)
     self.assertAlmostEqual(pos.get_unrealized_pnl(38.7654), 0.)
     pos.add_fill(-203, 38.7950)
     self.assertAlmostEqual(pos.realized_pnl, 0.)
     self.assertAlmostEqual(pos.get_unrealized_pnl(38.7950), 0.)
     pos.add_fill(203, 38.8443)
     self.assertAlmostEqual(pos.realized_pnl, 203. * (38.7950 - 38.8443))
     self.assertAlmostEqual(pos.get_unrealized_pnl(38.8443), 0.)
Ejemplo n.º 2
0
 def test_jnk(self):
     pos = AverageCostProfitAndLoss()
     pos.add_fill(203, 38.7556)
     self.assertAlmostEqual(pos.realized_pnl, 0.)
     self.assertAlmostEqual(pos.get_unrealized_pnl(38.7556), 0.)
     pos.add_fill(-203, 38.7654)
     self.assertAlmostEqual(pos.realized_pnl, 1.989400)
     self.assertAlmostEqual(pos.get_unrealized_pnl(38.7654), 0.)
     pos.add_fill(-203, 38.7950)
     self.assertAlmostEqual(pos.realized_pnl, 0.)
     self.assertAlmostEqual(pos.get_unrealized_pnl(38.7950), 0.)
     pos.add_fill(203, 38.8443)
     self.assertAlmostEqual(pos.realized_pnl, 203. * (38.7950 - 38.8443))
     self.assertAlmostEqual(pos.get_unrealized_pnl(38.8443), 0.)
Ejemplo n.º 3
0
 def test_stack(self):
     pos = AverageCostProfitAndLoss()
     pos.add_fill(1, 80.0)
     pos.add_fill(-3, 102.0)
     pos.add_fill(-2, 98.0)
     pos.add_fill(3, 90.0)
     pos.add_fill(-2, 100.0)
     self.assertEqual(-3, pos.quantity)
     self.assertAlmostEqual(-300., pos.cost)
     self.assertAlmostEqual(52., pos.realized_pnl)
     self.assertAlmostEqual(-3., pos.get_unrealized_pnl(101.))
     self.assertAlmostEqual(49., pos.get_total_pnl(101.))
Ejemplo n.º 4
0
 def test_stack(self):
     pos = AverageCostProfitAndLoss()
     pos.add_fill(1, 80.0)
     pos.add_fill(-3, 102.0)
     pos.add_fill(-2, 98.0)
     pos.add_fill(3, 90.0)
     pos.add_fill(-2, 100.0)
     self.assertEqual(-3, pos.quantity)
     self.assertAlmostEqual(-300., pos.cost)
     self.assertAlmostEqual(52., pos.realized_pnl)
     self.assertAlmostEqual(-3., pos.get_unrealized_pnl(101.))
     self.assertAlmostEqual(49., pos.get_total_pnl(101.))