My projects

My proprietary projects

UberHF 2.0 (ultra low-latency trading)

Implemented in pure C (not ++) trading framework for ultra low-latency trading, market-making and arbitrage.

Highlights:

  • Micro-app architecture
  • In-memory quotes and datafeed.
  • Shared-memory driven events and RPC communication (no system calls on hot path).
  • 67k (including 35k of unit tests) lines of code in pure C and growing.
  • Smart Execution / Algo Orders.
  • Support of stocks, futures and options
  • Custom FAST (Fix Adapted for STreaming) protocol parser (faster than mFAST in 5-7x)
  • FIX (SBE) order management

MicroStrategy Framework

Low-frequency execution framework in Python adapted for model trading, smart-order execution, complex position handling. Working in production since 2021.

Highlights:

  • Independent position handling
  • Support of execution order internal netting for cutting transaction costs.
  • Support of execution of multileg positions (baskets, spread, pairs).
  • Multi-market / multi-broker support of execution.
  • Smart-order execution - time-slice orders, options delta hedge orders.
  • Historical backtesting for options, spreads, pairs, futures, and any complex positions.
  • 61k lines of code in Python (including 45k of units tests)

UberMiner

This project is an analysis engine of my trading vehicle. I’ve been developing it since 2017, and it’s a life-long process without end. I use it for signal generation and modelling for my trading operations.

Highlights:

  • OmniFeed - universal datafeed for stocks, futures, spreads, pairs and options.
  • DMlib - a library for alpha-generation and analysis.
  • Monte-Carlo simulation for portfolio risks.
  • ML-driven market research.
  • Bullet-proof indicators - written Numba, vector based, not future reference, no unpredictable behavior on bad data. Based on my yauber-algo open source project.
  • AsyncIO micro-service infrastructure scripts are driven by yauber-executor open source framework.
  • 69k lines of code in Python and Cython.

Projects for my clients

ArbSwarm proprietary trading group

I adapted my MicroStrategy framework for this client, implemented the Hive © analysis tool for generation of alpha swarms and signals on US futures. MicroStrategy framework is used for execution and running positions, and UberMiner for analysis and datafeed. Also, I implemented FIX order execution for TrandingTechnologies broker for US futures and maintained Linux-based server infrastructure for operations.

TMQR EXO Trading Framework

Enterprise quality framework for quantitative trading, backtesting, and running multi-account fund on futures, options and US stocks.

Highlights:

  • Built alpha backtesting engine which allowed to backtest machine-learning/AI models on futures, stocks and options
  • Implemented datafeed and execution infrastructure for running multi-account execution
  • Implemented in-house research environment accessible via VPN, based on Jupyter Notebooks
  • Core was written in Python (31k lines of code) and Jupyter Notebooks (20k lines of code)
  • Set up and maintained Linux server infrastructure.
  • Order execution via TrandingTechnologies FIX and InteractiveBrokers API

Open-source projects

AsyncFIX - AsyncIO FIX Protocol Python Framework

AsyncFIX - AsyncIO FIX Protocol Python Framework

AsyncFIX docs

Highlights:

  • Pythonic way of dealing with FIX messages
  • Full support of AsyncIO
  • Schema validation
  • Tools for unit testing client apps
  • NewOrderSingle container / state management support
  • Session management included (FIX journaling, session restoring, heartbeats, resets)
  • FIX Tester - tool for FIX unit testing (schema validation, order management, protocol message exchange)
  • FIX 4.4 protocol implemented
  • 100% unit test code coverage

UberHF 1.0 Cython (archived/pre-alpha)

UberHF Cython (archived/pre-alpha)

First generation of high-frequency trading framework written in C, Cython and Python.

I decided to rewrite this project completely in pure C. So it’s archived now.

Highlights:

  • Micro-service architecture.
  • ZeroMQ driven, binary protocol communication between apps.
  • FIX friendly.
  • In-memory shared datafeed.
  • Smart Order execution (algorithmic order with logic).

YAUBER - Algo Lib

Yet Another Universal Backtesting Engine Release (YAUBER) - Algo Lib

This package is a collection of standalone algorithms for financial time series analysis.

Highlights:

  • Heavily uses Numba for improving performance of the code. It’s generally faster than comparable Pandas algorithms.
  • Based on strict principles: future reference free, consistent when starting point of history changes, NaN friendly, built-in data validation checks
  • Stable and well tested, this means that logic of algorithms won’t change in the future and any algorithm in this package is 100% covered by unit tests.

YAUBER - Backtester

Yet Another Universal Backtesting Engine Release (YAUBER) - Backtester

yauber-backtester is bare-bone portfolio backtesting engine that:

  • Supports various portfolio management techniques: asset ranking, basket trading, portfolio rebalancing, etc.
  • Intended to work on large asset universes (like 2000-3000 US Stocks EOD), or small intraday asset universes (like futures or forex, 1h timeframe).
  • Supports meta-strategies, building and managing a portfolio of other trading strategies
  • Allows simulating capital allocations, costs, margin trading, etc.

YAUBER - Executor

Yet Another Universal Backtesting Engine Release (YAUBER) - Executor

A boilerplate project for building asyncio Python distributed infrastructure.

  • Fully asynchronous
  • Uses RabbitMQ and MongoDB
  • Supports message communication between scripts and RPC calls
  • Sample infrastructure example
  • Works in production projects 24/7 since 2019

Cython Tools: toolkit for efficient Cython development

Cython Tools: toolkit for efficient Cython development

Key features

  • Keeping all development tools in one place with minimal efforts
  • Built-in Cython debugger (including low-level cdef / C code, based on GDB)
  • Cython code unit testing with coverage reports
  • Line-profiler
  • Easy running .pyx files by entry-point functions
  • Cython annotations and index file for all project
  • Cython project boilerplate
  • Cython snippets for low-level C-code and debugging tricks

ATest: Minimalist C Unit Testing Framework

ATest: Minimalist C Unit Testing Framework

Features

  • Minimal requirements (only single file is needed)
  • Multiple assert types
  • Supports function mocking via gcc –wrap and fff.h
  • Configurable context and verbosity via test command arguments
  • Configurable output to any FILE* stream, by default to STDOUT
  • Included atest utility for automatic updating new tests in the suite, just add new ATEST_F and atest will change the source to make sure to include new test function.
  • Supports setup/shutdown functions

Quik Lua Datafeed

Quik Lua Datafeed

Quik is legacy Russian trading terminal used by 90% of Russian brokers. It has built-in support of LUA scripting language. This project is a proof of building high quality code in LUA: OOP, unit testing, unit test mocks, code coverage.

Quik Lua AsyncIO Python API

Quik Lua AsyncIO Python API

Quik is legacy Russian trading terminal used by 90% of Russian brokers. A client API for calling Quik LUA API in Pythonic way.

results matching ""

    No results matching ""