The “Axonetric LLC: Profiteer Engine” is a sophisticated and feature-rich job that allows users to automatically seek out and execute on edge-based opportunities, based upon different configurable strategies. The engine can operate in both liquidity-taking (ie, “removal trades”) and liquidity-making modes.
For each instrument(s) mapping, the user can specify detailed independent settings, including delta range, leg-expiration filters, strategy, mode, side, auto-hedging behavior, desired quantity, min/max order quantity, etc. Specifications are conveniently organized and edited through a grid view graphical control and rows can be activated and deactivated with the click of a checkbox.
The “Side” parameter in each row can be set as: “Buy”, “Buy Gamma”, “Buy Vega”, “Sell”, “Sell Gamma”, “Sell Vega”, “Buy and/or Sell”, “Close Out Position Only”, “Buy To Close”, or “Sell To Close”. Another user-defined setting, “Minimum Quantity Filtering”, allows for all derivative theoreticals to be computed against an underlying side that is widened by one tick when the size showing is too small (less than a threshold quantity). This reduces hedge mismatches and the impact of gaming activities. The “Profiteer Engine” has many high-performance optimizations built in for the greatest profitability and the lowest possible scan times in high-volume, many-instrument contexts. For example, changes in the underlying bid or ask are directly applied to their options and strategies via a lightning-fast 2nd-order Taylor series approximation that bypasses any cache-lookup delays.
While the liquidity-taking mode will execute IOC or FOK orders against the book, the liquidity-making mode will dynamically insert short-duration limit orders directly into detected trading bursts that meet edge criteria and a windowed minimum traded quantity. All parameters relevant to the liquidity-making mode (also known as “Dynamic Participation”) are also user-configurable, including “Trigger Traded Quantity”, “Quantity Accumulating Time Window”, “Limit Order Max Duration”, “Max Concurrent Orders”, etc.
The job tracks “in-play” quantities separately from executed quantities so that the user’s total “Desired Qty” will never be overshot regardless of how many orders are live concurrently. Any activated row will automatically deactivate after filling the user’s “Desired Qty”. The “Profiteer Engine” is also interoperable with, and takes advantage of, other algos in the Axonetric LLC suite (interoperability is optional and not required). For example, when the “Volatility Manager” job detects adverse or abnormal market conditions, it produces a signal that the “Profiteer Engine” watches for. Any active strategies operating on the affected symbol(s) will be automatically and instantly deactivated. As another example, hedging responsibilities can be assigned directly to the “Axonetric LLC: Auto-Hedger” job.
Please contact the developer at email@example.com with any questions you might have regarding technicalities, client use cases, etc.
All of the variables below can be configured or modified at runtime. This gives users the power to modify their job behavior throughout the day without having to make code changes.
|hedgeBehaviorOverride||int||0||0=Use per-row settings, 1=No auto-hedging, 2=Auto-hedge via Freeway, 3=Auto-hedge via Metro|
|closeOutOptionBehavior||int||1||0=Separately neutralize calls/puts at strike, 1=Jointly neutralize calls/puts at strike|
|gammaSideThreshold||double||0.0||minimum absolute value for buying/selling gamma|
|vegaSideThreshold||double||0.0||minimum absolute value for buying/selling vega|
|dynPartQtyTimeWindowInSecs||int||20||1-20 rolling time window over which traded qty is accumulated|
|dynPartMaxOrderDurationInMs||int||5000||orders will be automatically cancelled after this interval|
|dynPartMaxSimultaneousOrders||int||4||in total, for this job instance|
|disableNoOverlapConstraint||int||1||0=Constraint is enabled, 1=Constraint is disabled|
|disablePositiveEdgeOnlyConstraint||int||0||0=Constraint is enabled, 1=Constraint is disabled|
|listMatchingInstsOnActivations||int||1||0=Do not list, 1=List in log|
|checkVolsOnActivations||int||2||0=Do not check, 1=Check and abort, 2=Check and exclude|
|testInstId||string||will overrride the instrument string for all rows|
|verbosity||int||2||log detail level: 0=Minimal, 1=Basic, 2=Full|
|excludeInstrsWithText||string||optional comma-delimited list of search strings to exclude (case-sensitive)|
|rowStateAfterRestart||int||0||0=Deactivate all rows, 1=Reactivate previously active rows, 2=Reactivate all rows|
Remember that in Metro NOW, dashboards and widgets can be utilized in both OnRamp and Metro clients.
Exegy Innovation Wins Best New Product Award
The 2023 Markets Choice Award for Best New Product was given to Exegy’s integration of the Metro trading platform and nxAccess trading engine.
Preparing for the OPRA Expansion
As firms prepare for OPRA’s expansion to 96-channel distribution, Exegy can help craft the best solution for this and future OPRA challenges.
Exegy Partners with OneChronos for US Equities Market Data
Exegy’s delivery of real-time market data to OneChronos, a US equities ATS, shows how both firms are working to expand market access.