From 318ac4deb572934c9153ca658d904dfaea694872 Mon Sep 17 00:00:00 2001 From: Richard Frank Date: Tue, 2 Feb 2016 20:12:28 -0500 Subject: [PATCH] TST: Use np.floor to preserve float return, since py3 returns an int --- zipline/finance/performance/position.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/zipline/finance/performance/position.py b/zipline/finance/performance/position.py index 155d019b..d8acec2c 100644 --- a/zipline/finance/performance/position.py +++ b/zipline/finance/performance/position.py @@ -32,14 +32,12 @@ Position Tracking """ from __future__ import division -from math import ( - copysign, - floor, -) +from math import copysign from copy import copy import logbook +import numpy as np import zipline.protocol as zp from zipline.utils.serialization_utils import ( @@ -71,7 +69,8 @@ class Position(object): # stock dividend if dividend['payment_sid']: out['payment_sid'] = dividend['payment_sid'] - out['share_count'] = floor(self.amount * float(dividend['ratio'])) + out['share_count'] = np.floor(self.amount + * float(dividend['ratio'])) # cash dividend if dividend['net_amount']: @@ -106,7 +105,7 @@ class Position(object): raw_share_count = self.amount / float(ratio) # e.g., 33 - full_share_count = floor(raw_share_count) + full_share_count = np.floor(raw_share_count) # e.g., 0.333 fractional_share_count = raw_share_count - full_share_count