How to Calculate CS2 Skin Price Volatility
Updated
API reference: POST /v1/prices/history
Calculate CS2 skin price volatility from one marketplace's
close_askorclose_bidseries onPOST /v1/prices/history, keeping the source and interval fixed.
Changing the cheapest marketplace from one bucket to the next creates source-selection jumps. A volatility series should therefore use one source and one price side throughout.
Price history available for the calculation
The endpoint records per-source quote OHLC from December 24, 2025, with CSFloat bid history beginning July 18, 2026. Each source object includes open_time, close_time, and sample_count; active-order volumes are the last observations inside the bucket.
Intervals are 5m for up to 14 days, 30m for 90 days, 1h for 365 days, and 1d with no maximum range. Supported variants have independent histories nested under variants.
A reproducible volatility method
Choose the exact item, source, side, interval, and UTC date range. For daily close-to-close volatility, sort 1d buckets by bucket, calculate returns only between consecutive observed days, and take the dispersion of those returns. State whether the measure is arithmetic or logarithmic and whether it is annualized.
Maximum drawdown uses the same close series: track the running peak and measure each later close below that peak. Report the number of usable returns, missing intervals, and source alongside the result.
Use sample_count and close_time as quality context. A bucket with one late observation has a different evidence base from a bucket sampled throughout its interval, even when both have a close.
Applicable endpoint
| Endpoint | Returns | Plans |
|---|---|---|
POST /v1/prices/history |
Ask and bid OHLC at 5m, 30m, 1h, or 1d |
Scale, Enterprise |
Result-changing caveats
- Do not treat a gap-spanning return as one interval unless that longer horizon is intentional. Returned items can omit buckets with no source observation.
- Listing-floor volatility can be driven by one temporary low ask. Completed-sale volatility requires a sale archive and a separate series definition.
- Price-side coverage differs by source. Skinport has no bids, and CSFloat bid history begins July 18, 2026.
- Wider intervals smooth intraday moves. Results at
5mand1danswer different questions and should not share thresholds.
The CS2 skin price chart guide explains the same OHLC timing fields visually.