mirror of
https://github.com/wassname/catalyst.git
synced 2026-07-12 07:27:36 +08:00
TST: Extra test for reading/writing ohlc ratios
This commit is contained in:
@@ -135,6 +135,47 @@ class BcolzMinuteBarTestCase(WithTradingCalendars,
|
||||
|
||||
self.assertEquals(50.0, volume_price)
|
||||
|
||||
def test_write_one_ohlcv_with_ratios(self):
|
||||
minute = self.market_opens[self.test_calendar_start]
|
||||
sid = 1
|
||||
data = DataFrame(
|
||||
data={
|
||||
'open': [10.0],
|
||||
'high': [20.0],
|
||||
'low': [30.0],
|
||||
'close': [40.0],
|
||||
'volume': [50.0],
|
||||
},
|
||||
index=[minute],
|
||||
)
|
||||
|
||||
# Create a new writer with `ohlc_ratios_per_sid` defined.
|
||||
writer_with_ratios = BcolzMinuteBarWriter(
|
||||
self.dest,
|
||||
self.trading_calendar,
|
||||
TEST_CALENDAR_START,
|
||||
TEST_CALENDAR_STOP,
|
||||
US_EQUITIES_MINUTES_PER_DAY,
|
||||
ohlc_ratios_per_sid={sid: 25},
|
||||
)
|
||||
writer_with_ratios.write_sid(sid, data)
|
||||
reader = BcolzMinuteBarReader(self.dest)
|
||||
|
||||
open_price = reader.get_value(sid, minute, 'open')
|
||||
self.assertEquals(10.0, open_price)
|
||||
|
||||
high_price = reader.get_value(sid, minute, 'high')
|
||||
self.assertEquals(20.0, high_price)
|
||||
|
||||
low_price = reader.get_value(sid, minute, 'low')
|
||||
self.assertEquals(30.0, low_price)
|
||||
|
||||
close_price = reader.get_value(sid, minute, 'close')
|
||||
self.assertEquals(40.0, close_price)
|
||||
|
||||
volume_price = reader.get_value(sid, minute, 'volume')
|
||||
self.assertEquals(50.0, volume_price)
|
||||
|
||||
def test_write_two_bars(self):
|
||||
minute_0 = self.market_opens[self.test_calendar_start]
|
||||
minute_1 = minute_0 + timedelta(minutes=1)
|
||||
|
||||
Reference in New Issue
Block a user