mirror of
https://github.com/wassname/catalyst.git
synced 2026-08-20 12:10:30 +08:00
MAINT: Limit perspective offset.
Limit the perspective offset to 1. There is a possibility that if a consumer of the AdjustedArrayWindow does not fetch adjustments between the end of the data window and the vantage points beyond the end of the window. Until that case has a solution, e.g. having the consumer of the AdjustedArrayWindow include the perspective offset when calculating the query for adjustments, limit the offsets to 1.
This commit is contained in:
@@ -215,7 +215,7 @@ def _gen_multiplicative_adjustment_cases(dtype):
|
|||||||
adjustments,
|
adjustments,
|
||||||
buffer_as_of,
|
buffer_as_of,
|
||||||
nrows,
|
nrows,
|
||||||
perspective_offsets=(0, 1, 2, 1000),
|
perspective_offsets=(0, 1),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@@ -318,7 +318,7 @@ def _gen_overwrite_adjustment_cases(dtype):
|
|||||||
adjustments,
|
adjustments,
|
||||||
buffer_as_of,
|
buffer_as_of,
|
||||||
nrows=6,
|
nrows=6,
|
||||||
perspective_offsets=(0, 1, 2, 1000),
|
perspective_offsets=(0, 1),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@@ -421,7 +421,7 @@ def _gen_overwrite_1d_array_adjustment_case(dtype):
|
|||||||
adjustments,
|
adjustments,
|
||||||
buffer_as_of,
|
buffer_as_of,
|
||||||
nrows=6,
|
nrows=6,
|
||||||
perspective_offsets=(0, 1, 2, 1000),
|
perspective_offsets=(0, 1),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -53,6 +53,15 @@ cdef class AdjustedArrayWindow:
|
|||||||
self.adjustment_indices = sorted(adjustments, reverse=True)
|
self.adjustment_indices = sorted(adjustments, reverse=True)
|
||||||
self.window_length = window_length
|
self.window_length = window_length
|
||||||
self.anchor = window_length + offset
|
self.anchor = window_length + offset
|
||||||
|
if perspective_offset > 1:
|
||||||
|
# Limit perspective_offset to 1.
|
||||||
|
# To support an offset greater than 1, work must be done to
|
||||||
|
# ensure that adjustments are retrieved for the datetimes between
|
||||||
|
# the end of the window and the vantage point defined by the
|
||||||
|
# perspective offset.
|
||||||
|
raise Exception("perspective_offset should not exceed 1, value "
|
||||||
|
"is perspective_offset={0}".format(
|
||||||
|
perspective_offset))
|
||||||
self.perspective_offset = perspective_offset
|
self.perspective_offset = perspective_offset
|
||||||
self.next_anchor = self.anchor
|
self.next_anchor = self.anchor
|
||||||
self.max_anchor = data.shape[0]
|
self.max_anchor = data.shape[0]
|
||||||
|
|||||||
Reference in New Issue
Block a user