onetick-py 1.176.0__tar.gz → 1.177.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {onetick_py-1.176.0/src/onetick_py.egg-info → onetick_py-1.177.0}/PKG-INFO +1 -1
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/_version.py +1 -1
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/aggregations/_docs.py +10 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/aggregations/order_book.py +18 -6
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/compatibility.py +7 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0/src/onetick_py.egg-info}/PKG-INFO +1 -1
- {onetick_py-1.176.0 → onetick_py-1.177.0}/LICENSE +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/README.md +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/pyproject.toml +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/requirements.strict.txt +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/requirements.txt +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/setup.cfg +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/setup.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/locator_parser/__init__.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/locator_parser/acl.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/locator_parser/actions.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/locator_parser/common.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/locator_parser/io.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/locator_parser/locator.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/__init__.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/doc_utilities/__init__.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/doc_utilities/napoleon.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/doc_utilities/ot_doctest.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/doc_utilities/snippets.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/lib/__init__.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/lib/instance.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/__init__.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/_stack_info.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/aggregations/__init__.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/aggregations/_base.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/aggregations/compute.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/aggregations/functions.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/aggregations/generic.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/aggregations/high_low.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/aggregations/num_distinct.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/aggregations/other.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/backports.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/cache.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/callback/__init__.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/callback/callback.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/callback/callbacks.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/configuration.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/__init__.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/_csv_inspector.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/_internal/__init__.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/_internal/_manually_bound_value.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/_internal/_nodes_history.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/_internal/_op_utils/__init__.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/_internal/_op_utils/every_operand.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/_internal/_op_utils/is_const.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/_internal/_per_tick_scripts/tick_list_sort_template.script +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/_internal/_proxy_node.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/_internal/_state_objects.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/_internal/_state_vars.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/_source/__init__.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/_source/_symbol_param.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/_source/schema.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/_source/source_methods/__init__.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/_source/source_methods/aggregations.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/_source/source_methods/applyers.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/_source/source_methods/columns.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/_source/source_methods/data_quality.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/_source/source_methods/debugs.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/_source/source_methods/drops.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/_source/source_methods/fields.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/_source/source_methods/filters.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/_source/source_methods/joins.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/_source/source_methods/merges.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/_source/source_methods/misc.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/_source/source_methods/pandases.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/_source/source_methods/renames.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/_source/source_methods/sorts.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/_source/source_methods/switches.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/_source/source_methods/symbols.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/_source/source_methods/times.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/_source/source_methods/writes.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/_source/symbol.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/_source/tmp_otq.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/column.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/column_operations/__init__.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/column_operations/_methods/__init__.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/column_operations/_methods/_internal.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/column_operations/_methods/conversions.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/column_operations/_methods/methods.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/column_operations/_methods/op_types.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/column_operations/accessors/__init__.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/column_operations/accessors/_accessor.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/column_operations/accessors/decimal_accessor.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/column_operations/accessors/dt_accessor.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/column_operations/accessors/float_accessor.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/column_operations/accessors/str_accessor.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/column_operations/base.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/cut_builder.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/db_constants.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/eval_query.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/lambda_object.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/multi_output_source.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/per_tick_script.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/query_inspector.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/source.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/db/__init__.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/db/_inspection.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/db/db.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/db/utils.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/docs/__init__.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/docs/docstring_parser.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/docs/utils.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/functions.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/license.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/log.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/math.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/misc.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/oqd/__init__.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/oqd/eps.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/oqd/sources.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/otq.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/pyomd_mock.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/run.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/servers.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/session.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/sources/__init__.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/sources/cache.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/sources/common.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/sources/csv.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/sources/custom.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/sources/data_file.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/sources/data_source.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/sources/empty.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/sources/odbc.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/sources/order_book.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/sources/parquet.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/sources/pit.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/sources/query.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/sources/snapshots.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/sources/split_query_output_by_symbol.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/sources/symbology_mapping.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/sources/symbols.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/sources/ticks.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/sql.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/state.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/types.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/utils/__init__.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/utils/acl.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/utils/config.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/utils/default.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/utils/file.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/utils/helpers.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/utils/locator.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/utils/perf.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/utils/query.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/utils/render.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/utils/script.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/utils/temp.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/utils/types.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/utils/tz.py +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick_py.egg-info/SOURCES.txt +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick_py.egg-info/dependency_links.txt +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick_py.egg-info/entry_points.txt +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick_py.egg-info/requires.txt +0 -0
- {onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick_py.egg-info/top_level.txt +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
# This file was generated automatically. DO NOT CHANGE.
|
|
2
|
-
VERSION = '1.
|
|
2
|
+
VERSION = '1.177.0'
|
|
@@ -384,6 +384,16 @@ _max_depth_for_price_doc = param_doc(
|
|
|
384
384
|
annotation=float,
|
|
385
385
|
default=None,
|
|
386
386
|
)
|
|
387
|
+
_max_spread_doc = param_doc(
|
|
388
|
+
name='max_spread',
|
|
389
|
+
desc="""
|
|
390
|
+
An absolute value, price levels with price that satisfies ``abs(<MID price> - <order price>) <= max_spread/2``
|
|
391
|
+
contribute to computed book. If ``max_spread`` is specified, ``side`` should not be specified.
|
|
392
|
+
Empty book is returned when one side is empty.
|
|
393
|
+
""",
|
|
394
|
+
annotation=float,
|
|
395
|
+
default=None,
|
|
396
|
+
)
|
|
387
397
|
_min_levels_doc = param_doc(
|
|
388
398
|
name='min_levels',
|
|
389
399
|
desc="""
|
|
@@ -10,7 +10,7 @@ from onetick.py import types as ott
|
|
|
10
10
|
if TYPE_CHECKING:
|
|
11
11
|
from onetick.py.core.source import Source # hack for annotations
|
|
12
12
|
from onetick.py.core.column import _Column
|
|
13
|
-
from onetick.py.compatibility import is_supported_otq_ob_summary
|
|
13
|
+
from onetick.py.compatibility import is_supported_otq_ob_summary, is_max_spread_supported
|
|
14
14
|
from ._base import _Aggregation, get_seconds_from_time_offset
|
|
15
15
|
from ._docs import (_running_doc,
|
|
16
16
|
_bucket_interval_doc,
|
|
@@ -25,6 +25,7 @@ from ._docs import (_running_doc,
|
|
|
25
25
|
_min_levels_doc,
|
|
26
26
|
_max_depth_shares_doc,
|
|
27
27
|
_max_depth_for_price_doc,
|
|
28
|
+
_max_spread_doc,
|
|
28
29
|
_book_uncross_method_doc,
|
|
29
30
|
_dq_events_that_clear_book_doc,
|
|
30
31
|
_best_ask_price_field_doc,
|
|
@@ -44,7 +45,7 @@ OB_SNAPSHOT_DOC_PARAMS = [
|
|
|
44
45
|
_running_doc,
|
|
45
46
|
_bucket_interval_doc, _bucket_time_doc, _bucket_units_ob_doc,
|
|
46
47
|
_bucket_end_condition_doc, _end_condition_per_group_doc, _group_by_doc, _groups_to_display_doc,
|
|
47
|
-
_side_doc, _max_levels_doc, _max_depth_shares_doc, _max_depth_for_price_doc,
|
|
48
|
+
_side_doc, _max_levels_doc, _max_depth_shares_doc, _max_depth_for_price_doc, _max_spread_doc,
|
|
48
49
|
_book_uncross_method_doc, _dq_events_that_clear_book_doc, _identify_source_doc,
|
|
49
50
|
_show_full_detail_doc, _show_only_changes_doc, _book_delimiters_doc,
|
|
50
51
|
_max_initialization_days_doc, _state_key_max_inactivity_sec_doc,
|
|
@@ -55,7 +56,7 @@ OB_SNAPSHOT_WIDE_DOC_PARAMS = [
|
|
|
55
56
|
_running_doc,
|
|
56
57
|
_bucket_interval_doc, _bucket_time_doc, _bucket_units_ob_doc, _bucket_end_condition_doc,
|
|
57
58
|
_end_condition_per_group_doc, _group_by_doc, _groups_to_display_doc,
|
|
58
|
-
_max_levels_doc, _max_depth_shares_doc, _max_depth_for_price_doc,
|
|
59
|
+
_max_levels_doc, _max_depth_shares_doc, _max_depth_for_price_doc, _max_spread_doc,
|
|
59
60
|
_book_uncross_method_doc, _dq_events_that_clear_book_doc,
|
|
60
61
|
_book_delimiters_doc,
|
|
61
62
|
_max_initialization_days_doc, _state_key_max_inactivity_sec_doc,
|
|
@@ -77,7 +78,7 @@ OB_SUMMARY_DOC_PARAMS = [
|
|
|
77
78
|
_running_doc,
|
|
78
79
|
_bucket_interval_doc, _bucket_time_doc, _bucket_units_ob_doc,
|
|
79
80
|
_bucket_end_condition_doc, _end_condition_per_group_doc, _group_by_doc, _groups_to_display_doc,
|
|
80
|
-
_side_doc, _max_levels_doc, _min_levels_doc, _max_depth_shares_doc, _max_depth_for_price_doc,
|
|
81
|
+
_side_doc, _max_levels_doc, _min_levels_doc, _max_depth_shares_doc, _max_depth_for_price_doc, _max_spread_doc,
|
|
81
82
|
_book_uncross_method_doc, _dq_events_that_clear_book_doc, _max_initialization_days_doc,
|
|
82
83
|
_state_key_max_inactivity_sec_doc, _size_max_fractional_digits_doc,
|
|
83
84
|
_include_market_order_ticks_doc,
|
|
@@ -87,7 +88,7 @@ OB_SIZE_DOC_PARAMS = [
|
|
|
87
88
|
_running_doc,
|
|
88
89
|
_bucket_interval_doc, _bucket_time_doc, _bucket_units_ob_doc,
|
|
89
90
|
_bucket_end_condition_doc, _end_condition_per_group_doc, _group_by_doc, _groups_to_display_doc,
|
|
90
|
-
_side_doc, _max_levels_doc, _max_depth_for_price_doc,
|
|
91
|
+
_side_doc, _max_levels_doc, _max_depth_for_price_doc, _max_spread_doc,
|
|
91
92
|
_book_uncross_method_doc, _dq_events_that_clear_book_doc, _max_initialization_days_doc,
|
|
92
93
|
_best_ask_price_field_doc, _best_bid_price_field_doc,
|
|
93
94
|
]
|
|
@@ -114,6 +115,7 @@ class _OrderBookAggregation(_Aggregation, ABC):
|
|
|
114
115
|
'max_levels': 'MAX_LEVELS',
|
|
115
116
|
'max_depth_shares': 'MAX_DEPTH_SHARES',
|
|
116
117
|
'max_depth_for_price': 'MAX_DEPTH_FOR_PRICE',
|
|
118
|
+
'max_spread': 'MAX_SPREAD',
|
|
117
119
|
'max_initialization_days': 'MAX_INITIALIZATION_DAYS',
|
|
118
120
|
'book_uncross_method': 'BOOK_UNCROSS_METHOD',
|
|
119
121
|
'dq_events_that_clear_book': 'DQ_EVENTS_THAT_CLEAR_BOOK',
|
|
@@ -123,6 +125,7 @@ class _OrderBookAggregation(_Aggregation, ABC):
|
|
|
123
125
|
'max_levels': None,
|
|
124
126
|
'max_depth_shares': None,
|
|
125
127
|
'max_depth_for_price': None,
|
|
128
|
+
'max_spread': None,
|
|
126
129
|
'max_initialization_days': 1,
|
|
127
130
|
'book_uncross_method': None,
|
|
128
131
|
'dq_events_that_clear_book': None,
|
|
@@ -135,6 +138,7 @@ class _OrderBookAggregation(_Aggregation, ABC):
|
|
|
135
138
|
max_levels: Optional[int] = None,
|
|
136
139
|
max_depth_shares: Optional[int] = None,
|
|
137
140
|
max_depth_for_price: Optional[float] = None,
|
|
141
|
+
max_spread: Optional[float] = None,
|
|
138
142
|
max_initialization_days: int = 1,
|
|
139
143
|
book_uncross_method: Optional[Literal['REMOVE_OLDER_CROSSED_LEVELS']] = None,
|
|
140
144
|
dq_events_that_clear_book: Optional[List[str]] = None,
|
|
@@ -143,6 +147,7 @@ class _OrderBookAggregation(_Aggregation, ABC):
|
|
|
143
147
|
self.max_levels = max_levels
|
|
144
148
|
self.max_depth_shares = max_depth_shares
|
|
145
149
|
self.max_depth_for_price = max_depth_for_price
|
|
150
|
+
self.max_spread = max_spread
|
|
146
151
|
self.max_initialization_days = max_initialization_days
|
|
147
152
|
self.book_uncross_method = book_uncross_method
|
|
148
153
|
self.dq_events_that_clear_book = ','.join(dq_events_that_clear_book) if dq_events_that_clear_book else None
|
|
@@ -164,6 +169,13 @@ class _OrderBookAggregation(_Aggregation, ABC):
|
|
|
164
169
|
raise ValueError("'bucket_units' can be one of the following: "
|
|
165
170
|
f"'{', '.join(valid_units)}'; however, '{self.bucket_units}' was passed")
|
|
166
171
|
|
|
172
|
+
if self.max_spread is not None:
|
|
173
|
+
if self.side:
|
|
174
|
+
raise ValueError('Parameters `max_spread` and `side` shouldn\'t be specified both at the same time')
|
|
175
|
+
|
|
176
|
+
if not is_max_spread_supported():
|
|
177
|
+
raise RuntimeError('Parameter `max_spread` is not supported on this OneTick version')
|
|
178
|
+
|
|
167
179
|
def disable_ob_input_columns_validation(self):
|
|
168
180
|
self._validate_ob_input_columns = False
|
|
169
181
|
|
|
@@ -295,7 +307,7 @@ class ObSnapshotFlat(ObSnapshot):
|
|
|
295
307
|
FIELDS_TO_SKIP = [
|
|
296
308
|
*ObSnapshot.FIELDS_TO_SKIP,
|
|
297
309
|
'side', 'identify_source', 'show_only_changes',
|
|
298
|
-
'book_delimiters', 'max_depth_shares', 'max_depth_for_price',
|
|
310
|
+
'book_delimiters', 'max_depth_shares', 'max_depth_for_price', 'max_spread',
|
|
299
311
|
]
|
|
300
312
|
|
|
301
313
|
def validate_input_columns(self, src: 'Source'):
|
|
@@ -789,3 +789,10 @@ def is_symbols_prepend_db_name_supported():
|
|
|
789
789
|
def is_diff_show_all_ticks_supported():
|
|
790
790
|
# 20250919: Implemented 0036784: Add SHOW_ALL_TICKS(false by default) ep parameter to DIFF EP.
|
|
791
791
|
return hasattr(otq.Diff.Parameters, 'show_all_ticks')
|
|
792
|
+
|
|
793
|
+
|
|
794
|
+
def is_max_spread_supported():
|
|
795
|
+
# 20250819: Implemented 0036522: The book EPs that support parameter MAX_DEPTH_FOR_PRICE
|
|
796
|
+
# should also support parameter MAX_SPREAD
|
|
797
|
+
return _is_min_build_or_version(None, None,
|
|
798
|
+
20251010120000)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/_internal/_manually_bound_value.py
RENAMED
|
File without changes
|
|
File without changes
|
{onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/_internal/_op_utils/__init__.py
RENAMED
|
File without changes
|
{onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/_internal/_op_utils/every_operand.py
RENAMED
|
File without changes
|
{onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/_internal/_op_utils/is_const.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/_source/source_methods/__init__.py
RENAMED
|
File without changes
|
{onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/_source/source_methods/aggregations.py
RENAMED
|
File without changes
|
{onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/_source/source_methods/applyers.py
RENAMED
|
File without changes
|
{onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/_source/source_methods/columns.py
RENAMED
|
File without changes
|
{onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/_source/source_methods/data_quality.py
RENAMED
|
File without changes
|
{onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/_source/source_methods/debugs.py
RENAMED
|
File without changes
|
{onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/_source/source_methods/drops.py
RENAMED
|
File without changes
|
{onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/_source/source_methods/fields.py
RENAMED
|
File without changes
|
{onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/_source/source_methods/filters.py
RENAMED
|
File without changes
|
{onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/_source/source_methods/joins.py
RENAMED
|
File without changes
|
{onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/_source/source_methods/merges.py
RENAMED
|
File without changes
|
{onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/_source/source_methods/misc.py
RENAMED
|
File without changes
|
{onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/_source/source_methods/pandases.py
RENAMED
|
File without changes
|
{onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/_source/source_methods/renames.py
RENAMED
|
File without changes
|
{onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/_source/source_methods/sorts.py
RENAMED
|
File without changes
|
{onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/_source/source_methods/switches.py
RENAMED
|
File without changes
|
{onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/_source/source_methods/symbols.py
RENAMED
|
File without changes
|
{onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/_source/source_methods/times.py
RENAMED
|
File without changes
|
{onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/_source/source_methods/writes.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/column_operations/_methods/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/column_operations/_methods/methods.py
RENAMED
|
File without changes
|
{onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/core/column_operations/_methods/op_types.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{onetick_py-1.176.0 → onetick_py-1.177.0}/src/onetick/py/sources/split_query_output_by_symbol.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|