onetick.py is a high level interface into the OneTick query language aimed to make analyzing tick-by-tick data stored in OneTick easy and intuitive.

onetick.py is similar to pandas making it easy to pick up. onetick.py conceals the underlying low level OneTick calculation graph / query graph and lets users think in terms of Python expressions, built-ins and native math operations on tick fields. We bring decades of market data analytics experience and in-depth OneTick knowledge to expose common patterns in query development as high level functions or methods with the optimal performance. The analytics expressed in pandas-like style translate into the OneTick query language and execute on the OneTick tick server engine written in C++. It means that onetick.py combines the ease of use of Python with the performance of OneTick.

onetick.py comes fully fledged for query development with the pandas-like API for tick analytics, tools for debugging and data inspection, and integration with pytest to support testing.

What onetick-py is for#

onetick.py is designed for:

  • High performance tick data analysis. In particular, the cases when the data can’t be fully loaded into RAM and is stored on distributed file systems.

  • Data analysis in Jupyter.

  • Data inspection and retrieval of data stored in OneTick.

  • Any kind of testing related to OneTick queries expressed in the native OneTick query language, in onetick.query or in onetick.py.

  • Real-time / CEP processing.

  • Enterprise features such as authentication, access control, encryption, and entitlements.


onetick-py is part of a bigger tick management OneTick ecosystem. You may want to turn to OneTick for


There are two options for using onetick.py: together with OneTick binaries which is appropriate for customers who use OneTick and with a fully hosted OneTick setup. More details here.

Other dependencies are open source python packages pandas and numpy (pandas includes it). The calculation graph rendering mechanism requires the graphviz for python, however it’s optional.

Local OneTick#

  • Client version of OneTick: specifically, onetick.query and omd.py API that comes with OneTick.

Hosted OneTick#

  • Ray (optional if using Web API).

  • OneTick python API with stubs (optional but recommended for IDE syntax highlighting and documentation). In this case onetick.py API will be runnable from the python syntax point of view, but will return nothing. This option is suited for remote execution, for example through the OneTick Web API or using the Ray framework.


The OneTick Best Execution and Market Surveillance products are written in onetick.py.