Skip to main content

Quote Stuffing Detection Test

Description

This test identifies manipulative trading behavior involving rapid order placement and cancellation. It analyzes orders data to flag users exceeding thresholds for order count and size within a defined period. Statistical baselines and dynamic thresholds highlight significant deviations from normal activity.

Use Cases

  • Market Manipulation Detection: Identifies users engaging in quote stuffing to distort order books, creating artificial congestion and misleading other traders.

  • Regulatory Oversight: Monitors for activities that violate fair trading practices and market regulations, enabling compliance teams to investigate and report manipulative behavior.

  • Operational Efficiency: Flags excessive order placements and cancellations to mitigate risks of system inefficiencies or disruptions caused by high-frequency trading abuse.

Required Data

Orders Data

VariableDescription
order_start_timestampTimestamp of the order when created (YYYY-MM-DD hh:mm:ss).
order_end_timestampTimestamp of the order at last status update (YYYY-MM-DD hh:mm:ss).
user_idUser ID to identify the individual user.
order_idUnique identifier for the order placed.
symbol_pairThe asset symbol; e.g., BTCUSDT, SHIBETH, DOGEUSDT.
statusWhether the order was CANCELLED, FILLED, or PARTIALLY FILLED.
price_usdThe price of the symbol in USD.
amountThe amount of the symbol being traded.
sideWhether the trade was a BUY or SELL.
priceThe quote currency in terms of the base currency; e.g., ETH/BTC = 0.03781.

Parameters

ParameterDescriptionTypeDefault ValueConfigurable
analysis_rolling_window_secondsTime period in seconds within which orders are considered for cancellation detection.Integer60Yes
analysis_minimum_aggregate_dollar_thresholdMinimum aggregate dollar volume of orders per user in rolling window to be considered for analysis.Float0Yes
analysis_minimum_orders_count_thresholdMinimum order placement count threshold per user in rolling window to be considered.Integer30Yes
historical_cancellation_period_windowHistorical number of days to get orders for calculating the average order cancellation period.Integer5Yes
mm_buy_sell_dollar_volume_thresholdMinimum buy/sell dollar volume ratio for flagging manipulative activity.Float0.2Yes
historical_minimum_orders_countMinimum number of orders required in the historical period to calculate benchmarks.Integer20Yes
historical_number_random_samplesNumber of random samples of orders from historical window for calculating the baseline order cancellation period.Integer5000Yes

Methodology

  • Aggregate Historical and Recent Orders Calculate total, buy, and sell orders dollar sizes for each user across the historical window and the analysis period to assess their trading activity.

  • Compute Benchmarks and Thresholds Establish average and standard deviation benchmarks for order counts and dollar volumes, and apply user-specific thresholds based on historical activity and pre-set parameters.

  • Analyze User Behavior Compare each user's order placement during the analysis period to their historical benchmarks, flagging anomalies such as unusually high order counts or dollar sizes.

  • Flag Suspicious Activity Identify users whose order placement patterns indicate potential quote stuffing, such as rapid order placements and cancellations exceeding preset thresholds.

  • Generate Alerts and Reports Create reports summarizing flagged users and their anomalous activities, saving results for compliance and further investigation.

Test Meta Data

Test Meta LabelDescription
quote_stuffingTest to identify manipulative behavior involving rapid order placement and cancellation, flagging users who exceed thresholds for order count, size, and speed within a defined period.