OneChronos
OneChronos
    • Expressive Bidding

    • Introduction
      • Expressive Bidding in a Nutshell
    • Getting Started
    • Expressive Bidding Guide
    • Quickstart Examples
    • Runnable Templates
    • Developer Reference
    • Expressive Bidding FAQ

Expressive Bidding in a Nutshell

One of the defining features of a Smart Market is the ability to express highly customizable bidding preferences over one or more securities. OneChronos offers direct and indirect users this capability through "Expressive Bidding" — an optional toolset for creating custom, confidential orders that can help VWAP, IS, Liquidity Seeking, and other trading algorithms:

  • Respond dynamically to unique liquidity
  • Receive customized fills
  • Improve fill consistency
  • Reduce or avoid unintended execution risks

Expressive Bidding also allows you to express flexibility, for example, across substitutable symbols or the amount of desired price improvement for a given quantity. By giving investors and traders the ability to express what they need and where they’re flexible, the potential for their orders to interact in the market and receive improved execution increases dramatically.

A key building block of Expressive Bidding is bidder logic — code that allows you to describe your preferences and constraints using auction-time inputs such as imbalance, spread, price dislocation, passing volume, quote fade (NBBO consensus), and many other variables. Bidder logic can be used by brokers to enhance their algorithms and smart-routing strategies, or by indirect users to complement parent or child level strategies, and to seek portfolio-level efficiencies that aren't feasible using conventional execution tools. Bidder logic can be applied to single securities or to multiple securities at once, and can capture powerful trading behaviors in just a few lines of code:


Example - Dynamic Pricing on Imbalance Full Template

Bidder logic can respond to momentary market conditions as part of the match process to strengthen trading algorithm performance, e.g. by pricing dynamically based on NBB/NBO imbalance:

/* fetch momentary mkt snapshot for given symbol */
let current_mkt = mkt(o.order.symbol);
 
/* define your own signal and dynamic pricing model logic */
let imbalance_score = my_imbal_model(current_mkt);
let dynamic_px = compute_price(imbalance_score)
Bid.([place_notional(dynamic_px * qty(o))]);

Pair Spread Full Template

Trade two securities at mid or better, but only if the price spread between them at auction time is greater than some customizable amount; otherwise don't participate:

let spread = abs(mid(a) - mid(b));
 
/* Trade both at mid or better only if spread constraint is met */
[subject_to(const(spread) >= const(arg.bidder_data.spread),
  place_notional(mid(a) * qty(a) + mid(b) * qty(b)))
];
Before Getting Started - Context on Expressive Bidding

Can I get a bit more detail on the auction mechanics and where Expressive Bidding fits in?

OneChronos auctions use optimization to seek optimal matches across all orders instead of matching orders one-by-one. The optimization aims to maximize Aggregate Price Improvement (see FAQ question here for more info) across all orders and symbols. Each auction looks for the configuration of "winning" orders and per-security clearing prices that will result in the most price improvement dollars cleared while honoring all filled order constraints. By using Expressive Bidding, you are effectively injecting your constraints into our optimizer as hard boundary constraints for your orders. Said another way, your order(s) are either filled with all constraints honored or not filled at all.

What types of trading strategies might benefit from using Expressive Bidding?

Most trading and execution strategies can benefit from and be implemented with simple Expressive Bids. Examples of some common types of constraints and goals include:
  • Single securities: utility or indifference curves, dynamic peg pricing (e.g., mid +/-), price improvement seeking, market impact management
  • Multi-symbol: benchmark tracking, factor goals or limits, bundle pricing, long/short dollar neutrality, spreads, pairs, substitutes, complements, hedging
  • Some of these concepts overlap, and likewise, many can be achieved using nearly identical bidder logic - confidential code that users submit once and can activate using a FIX tag applied on their Limit Orders.

    Is Expressive Bidding something I would use directly, or through my broker?

    Please speak with your broker on how they might incorporate Expressive Bidding for general use or on a customized basis to complement their trading algorithms or smart routing for single stock or multi-asset strategies.If your firm is accustomed to computer-driven trading or execution, using Expressive Bidding directly will likely feel familiar to your existing development process. Expressive Bids are written in ReasonML or OCaml, and may feel syntactically similar to common languages like Python, Java, or C++.You can construct tailored bidder logic or work with your broker to use Expressive Bidding orders you send to them for potential execution at OneChronos.

    If my broker and my firm are not using Expressive Bidding, what do I get out of OneChronos?

    Smart Markets are designed to improve overall market quality, so you can benefit from Expressive Bidding without using it yourself. For example, when other participants express substitutability across securities, it expands matching opportunities both for themselves and for conventional contra orders in any of those securities. Expressive Bids can also simultaneously hedge new positions in a single transaction, so those providing liquidity may be comfortable doing so in larger sizes while still managing risk, resulting in potentially larger contra orders with unique characteristics.OneChronos optimizes for mutually beneficial outcomes across all orders and participants, regardless of order type used. So any user can benefit from the intrinsic properties of a pariodic auction, further price improvement achievable, reduced impact, truly unique liquidity interaction points, and unlocking mutually beneficial trades that would likely otherwise not occur.

    What are the high-level logistics involved for those Using Expressive Bidding directly?

  • Construct bidder logic tailored to your execution objectives. Start from scratch or jump off any of our here. Use our here if interested to test outcomes, and always feel free to reach out to [email protected] for assistance.
  • Submit your bidder logic code to OneChronos via API or the Portal (coming soon - stay tuned for more info). Your code is effective starting the morning of T+1. Upon submission, OneChronos immediately confirms the validation of your code and provides you a reference hash to apply as a FIX tag on your orders.
  • Invoke your bidder logic by sending Limit orders to your executing broker(s) with OneChronos as the destination, including the Bidder Logic reference hash in the designated FIX tag.
  • Take a look at the Getting Started page if you're ready to take the next step, or reach out to your broker to see how they might incorporate Expressive Bidding into their algorithms or on a customized basis. Always feel free to reach out to us at [email protected] for more information and for help with Expressive Bidding.