Skip to main content

Ramping Detection - Upward

Description

This test is designed to detect manipulative trading behaviors where an actor attempts to create an artificial upward trend in the price of a trading pair. This is typically achieved by placing a series of coordinated buy orders to systematically push the price beyond resistance levels, with the goal of attracting other traders and amplifying the price movement. Key characteristics of upward ramping include gradual, deliberate price movement through consistent buy orders, abnormal trading patterns such as a high ratio of ascending executions, and significant deviations from historical price and volume behavior.

Use Cases

  • Detection of Price Manipulation: Identify trading behaviors that artificially create upward price trends.

  • Market Integrity Protection: Prevent traders from exploiting manipulated trends to mislead other market participants.

Required Data

Trades Data

VariableDescription
timestampTimestamp of the trade made (YYYY-MM-DD hh:mm:ss).
user_idUser ID to identify the individual user.
symbol_pairThe asset symbol; e.g., BTCUSDT, SHIBETH, DOGEUSDT.
sideWhether the trade is a BUY or SELL.
price_usdThe price of the symbol in USD.
priceThe execution price of the symbol pair.
amountThe amount of the symbol being traded.

Parameters

ParameterDescriptionTypeDefault ValueConfigurable
analysis_rolling_window_secondsDuration of the rolling window for analysis and metrics computation, in seconds.Integer30Yes
resampling_period_secondsPeriod for resampling historical data, in seconds.Integer30Yes
resampling_number_historical_windowsNumber of historical resampling periods to calculate volume spikes.Integer20Yes
analysis_price_change_thresholdThreshold percentage for identifying significant price momentum.Float0.03 (3%)Yes
historical_volume_spike_multiplier_totalStandard deviation multiplier for detecting total volume spikes relative to historical averages.Float1.0Yes
historical_volume_spike_multiplier_buyStandard deviation multiplier for detecting buy volume spikes relative to historical averages.Float1.0Yes
historical_volume_spike_multiplier_sellStandard deviation multiplier for detecting sell volume spikes relative to historical averages.Float1.0Yes
analysis_buy_direction_ratio_thresholdMinimum buy-to-total trade ratio for consistent buy direction.Float0.5 (50%)Yes
analysis_sell_direction_ratio_thresholdMinimum sell-to-total trade ratio for consistent sell direction.Float0.5 (50%)Yes
analysis_momentum_user_contribution_thresholdMinimum volume contribution percentage in the analysis window by a single user to flag Ramping activity.Float0.3 (30%)Yes
post_trade_windowTime window (in seconds) after the analysis period to analyze subsequent trading activity for profitability.Integer300Yes
ramping_filter_pnlFlag to filter Ramping events based on profitability (PnL).BooleanTrueYes
ramping_pnl_percentage_thresholdMinimum PnL percentage threshold for filtering Ramping events.Float0.03 (3%)Yes
analysis_minimum_buy_trade_countMinimum required number of buy trades in analysis period to consider a user for Ramping analysis.Integer3Yes
analysis_minimum_sell_trade_countMinimum required number of sell trades in analysis period to consider a user for Ramping analysis.Integer3Yes
analysis_minimum_positive_ascending_executions_thresholdMinimum ratio of positive ascending executions for buy trades to flag Ramping behavior.Float0.6 (60%)Yes
analysis_minimum_negative_descending_executions_thresholdMinimum ratio of negative descending executions for sell trades to flag Ramping behavior.Float0.6 (60%)Yes
analysis_minimum_aggregate_dollar_thresholdMinimum dollar volume threshold in the analysis window for trades to be considered.Float100.0Yes
create_ticketFlag to determine if tickets should be created for alerts.BooleanTrueYes

Methodology

  • Calculate Rolling Metrics Compute metrics over a rolling time window (analysis_rolling_window_seconds), including:
  • Total volume, total dollar volume, average price, start price, and end price.
  • Buy and sell counts, volumes, and dollar volumes.
  • Detect Price Momentum Calculate the rolling price change percentage:
  • Flag trades with significant positive price changes exceeding the analysis_price_change_threshold.
  • Analyze Volume Spikes Identify volume spikes for total, buy, and sell volumes by comparing rolling metrics to historical averages using multipliers (historical_volume_spike_multiplier_total, historical_volume_spike_multiplier_buy, historical_volume_spike_multiplier_sell).

  • Check Trade Direction Consistency Calculate the ratio of buy-to-total and sell-to-total trades within the rolling window.

  • Flag trades with consistent buy directions exceeding their respective thresholds (analysis_buy_direction_ratio_threshold and analysis_sell_direction_ratio_threshold).
  • Identify Users Driving Ramping Group trades by user within the rolling window to compute:
  • User-specific buy volumes, dollar volumes, trade counts, and volume-weighted average prices (VWAP).
  • User contributions to total momentum based on their volume share compared to the rolling total.
  • Check for a sufficient number of buy trades (analysis_minimum_buy_trade_count and analysis_minimum_sell_trade_count) and analyze ascending and descending executions.
  • Post-Trade Analysis Analyze trading activity in the post_trade_window to determine the impact of flagged trades on subsequent market movements.

  • Final Flagging Trades are flagged as Positive Ramping if they meet all conditions:

  • Significant price change.
  • Volume spike in buy activity.
  • Direction consistency.
  • Significant user contribution to the Ramping event.
  • Optional profitability filter, if enabled.

Test Meta Data

Test Meta LabelDescription
ramping_upwardDetects users engaging in upward ramping where price has increased significantly, buy volume has spiked, there is consistency in buying activity, and where the user has contributed significantly to the buy volume spike with multiple trades and has made a profit.