本文整理汇总了Python中zipline.data.minute_bars.BcolzMinuteBarReader.get_last_traded_dt方法的典型用法代码示例。如果您正苦于以下问题:Python BcolzMinuteBarReader.get_last_traded_dt方法的具体用法?Python BcolzMinuteBarReader.get_last_traded_dt怎么用?Python BcolzMinuteBarReader.get_last_traded_dt使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类zipline.data.minute_bars.BcolzMinuteBarReader
的用法示例。
在下文中一共展示了BcolzMinuteBarReader.get_last_traded_dt方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: BcolzMinuteBarTestCase
# 需要导入模块: from zipline.data.minute_bars import BcolzMinuteBarReader [as 别名]
# 或者: from zipline.data.minute_bars.BcolzMinuteBarReader import get_last_traded_dt [as 别名]
#.........这里部分代码省略.........
# Test condition where there is data written after the market
# close (ideally, this should not occur in datasets, but guards
# against consumers of the minute bar writer, which do not filter
# out after close minutes.
minutes = [
before_early_close,
after_early_close,
minute,
]
sid = 1
data = DataFrame(
data={
'open': [10.0, 11.0, nan],
'high': [20.0, 21.0, nan],
'low': [30.0, 31.0, nan],
'close': [40.0, 41.0, nan],
'volume': [50, 51, 0]
},
index=[minutes])
self.writer.write_sid(sid, data)
open_price = self.reader.get_value(sid, minute, 'open')
assert_almost_equal(nan, open_price)
high_price = self.reader.get_value(sid, minute, 'high')
assert_almost_equal(nan, high_price)
low_price = self.reader.get_value(sid, minute, 'low')
assert_almost_equal(nan, low_price)
close_price = self.reader.get_value(sid, minute, 'close')
assert_almost_equal(nan, close_price)
volume = self.reader.get_value(sid, minute, 'volume')
self.assertEquals(0, volume)
asset = self.asset_finder.retrieve_asset(sid)
last_traded_dt = self.reader.get_last_traded_dt(asset, minute)
self.assertEquals(last_traded_dt, before_early_close,
"The last traded dt should be before the early "
"close, even when data is written between the early "
"close and the next open.")
def test_minute_updates(self):
"""
Test minute updates.
"""
start_minute = self.market_opens[TEST_CALENDAR_START]
minutes = [start_minute,
start_minute + Timedelta('1 min'),
start_minute + Timedelta('2 min')]
sids = [1, 2]
data_1 = DataFrame(
data={
'open': [15.0, nan, 15.1],
'high': [17.0, nan, 17.1],
'low': [11.0, nan, 11.1],
'close': [14.0, nan, 14.1],
'volume': [1000, 0, 1001]
},
index=minutes)
data_2 = DataFrame(
data={
'open': [25.0, nan, 25.1],
'high': [27.0, nan, 27.1],
'low': [21.0, nan, 21.1],
'close': [24.0, nan, 24.1],
'volume': [2000, 0, 2001]
},
index=minutes)
frames = {1: data_1, 2: data_2}
update_path = self.instance_tmpdir.getpath('updates.h5')
update_writer = H5MinuteBarUpdateWriter(update_path)
update_writer.write(frames)
update_reader = H5MinuteBarUpdateReader(update_path)
self.writer.write(update_reader.read(minutes, sids))
# Refresh the reader since truncate update the metadata.
reader = BcolzMinuteBarReader(self.dest)
columns = ['open', 'high', 'low', 'close', 'volume']
sids = [sids[0], sids[1]]
arrays = list(map(transpose, reader.load_raw_arrays(
columns, minutes[0], minutes[-1], sids,
)))
data = {sids[0]: data_1, sids[1]: data_2}
for i, col in enumerate(columns):
for j, sid in enumerate(sids):
assert_almost_equal(data[sid][col], arrays[i][j])