Skip to main content

Volatility Engine

The volatility engine is Tracera’s core differentiator — bringing institutional-grade financial analytics to the CS2 skin market.

Why Volatility?

Most skin tracking tools show price and price history. Tracera goes further by computing quantitative volatility metrics that answer harder questions:
  • Is this price move normal or unusual? (Bollinger bands)
  • How risky is this item to hold? (Standard deviation, CoV)
  • Is the price trending up or down? (Trend score)
  • How does this item’s volatility compare to others? (Coefficient of variation)

Metrics

All calculations run in Go for speed. Pre-aggregated data from TimescaleDB continuous aggregates feeds into these computations.

Rolling Standard Deviation

The core volatility measure. Computed over sliding windows (1h, 24h, 7d).
σ = √(Σ(xi - μ)² / N)
Higher σ = more volatile = more risk/opportunity.

Percentage Change

Quick trend indicator showing the price movement from the previous period.
% change = (current - previous) / previous × 100

Bollinger Bands

Classic technical analysis indicator for detecting overbought/oversold conditions.
Upper Band = SMA + (k × σ)    where k = 2
Middle Band = SMA (Simple Moving Average)
Lower Band = SMA - (k × σ)
When the price breaks above the upper band, the item may be overbought. Below the lower band, it may be oversold.

Coefficient of Variation (CoV)

Normalized volatility that enables comparison across different price ranges.
CoV = σ / μ
A 10itemwithσ=2anda10 item with σ=2 and a 1000 item with σ=20 both have CoV=0.2, meaning they’re equally volatile relative to their price.

Trend Score

Linear regression slope on the recent price window. Positive values indicate an uptrend, negative values a downtrend. The magnitude indicates the strength of the trend.

Data Pipeline

TimescaleDB Continuous Aggregates (1h, 24h, 7d)

    │  Pre-aggregated: avg, min, max, stddev, volume


Volatility Engine (Go)

    │  Computes: all metrics per item

    ├──▶ Redis Cache (latest metrics)

    └──▶ Redis Pub/Sub (broadcast to WebSocket clients)

Vision: Portfolio Volatility Score

Phase 7 extends the volatility engine to portfolios:
  • Compute a single-number portfolio volatility score across all holdings
  • Similar to portfolio beta in traditional finance
  • Percentile ranking — see how your portfolio’s risk compares to other users
  • Informs the What-If Trade Simulator (Phase 9) — simulate trades and see how your portfolio score changes

Vision: Market Sentiment Index

Phase 11 aggregates volatility signals into a market-wide indicator:
  • Fear/greed index derived from:
    • Volume spikes across items
    • Listing count changes (supply pressure)
    • Price velocity (rate of price change)
  • Historical comparison for trend analysis