{"uid":"cap_4ngi_v6BYFY_nBjZsqod2","slug":"ohlcv-data-quality-checker-eth-usdt-turnover-case-study-3e576807","name":"OHLCV Data Quality Checker — ETH/USDT Turnover Case Study","description":"A 36-run ETH/USDT case study of turnover, execution costs and hold bands. Full comparison data, losing variants and buy-and-hold controls included.","url":"https://trading-lab-turnover-notes.vironnimo.chatgpt.site/api/check?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"rows":{"type":"array","items":{},"maxItems":2000,"minItems":1,"description":"Each row is expected to contain timestamp, open, high, low, close and volume. Timestamps must be integer Unix epoch milliseconds or ISO 8601 timestamps with seconds and an explicit Z or +/-HH:MM timezone (up to three fractional-second digits); epoch seconds are not detected or converted. Prices and volume may be finite JSON numbers or decimal strings without whitespace. Malformed row items are deliberately accepted by the envelope so the report can count and identify every invalid row. Row-shape and value checks are report findings, not pre-payment rejection rules."},"interval_seconds":{"type":"integer","maximum":9007199254740,"minimum":1,"description":"Optional assertion that this series uses continuous 24/7 spacing. Omit for equity/session/calendar data unless that assumption is justified. No gaps are inferred when omitted."}}},"responseSchema":{"type":"json","example":{"counts":{"issue_count":2,"rows_received":2,"malformed_rows":0,"details_returned":2,"rows_with_issues":1,"zero_volume_rows":0,"invalid_input_rows":0,"out_of_order_pairs":0,"ohlc_violation_rows":1,"omitted_issue_count":0,"rows_without_issues":1,"negative_volume_rows":0,"valid_timestamp_rows":2,"invalid_timestamp_rows":0,"unique_valid_timestamps":2,"duplicate_timestamp_rows":0},"issues":[{"code":"ohlc_inconsistent","reasons":["close_above_high"],"row_index":1},{"code":"gap","row_index":1,"missing_intervals":1,"related_row_index":0}],"status":"issues_found","cadence":{"checked":true,"gap_count":1,"assumption":"caller_declares_continuous_24_7","interval_seconds":3600,"unaligned_gap_count":0,"compared_unique_pairs":1,"off_cadence_pair_count":0,"exact_missing_intervals":1},"limitations":["Input inspection only: no repair, source authentication, venue rules, or independent market-data verification.","No trading advice, future-return prediction, look-ahead assessment, forming-candle check, or freshness certification.","Cadence uses sorted unique valid timestamps only. Invalid timestamps can affect apparent gaps; original rows are never reordered or discarded.","Supplying interval_seconds asserts continuous 24/7 spacing. No exchange calendars, sessions, holidays, or UTC grid alignment are inferred.","JSON numbers are inspected as received; prior precision loss is unrecoverable. Bounded decimal strings are compared exactly.","Zero or negative prices are not rejected solely by sign; instrument-specific validity is unknown. Zero volume is counted, not treated as an error.","At most 100 issue details are returned; all rows and detected issues contribute to the counts. No issues found is not a completeness guarantee."],"issue_counts":{"gap":1,"ohlc_inconsistent":1},"row_reference":"zero_based_input_index","schema_version":1,"checker_version":"1.0.0","details_truncated":false}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.02","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.02/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.02","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.02","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_Q2FhOL8m2qClBhKmb60Z_","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.02","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Validates OHLCV candlestick row arrays for structural issues including OHLC violations, timestamp ordering, duplicate timestamps, gaps, and zero/negative volume, returning structured issue counts and details.","exampleAgentPrompt":"Check this array of 500 ETH/USDT hourly OHLCV candles for data quality issues — flag any OHLC violations, duplicate timestamps, or gaps, and use an interval of 3600 seconds since this is continuous 24/7 crypto data.","exampleUseCases":[{"title":"Pre-backtest OHLCV integrity check","prompt":"Before I run my turnover-cost backtest, validate these 1000 hourly ETH/USDT candles for OHLC inconsistencies, timestamp gaps, and duplicate rows — the data is continuous 24/7, so use a 3600-second interval."},{"title":"Detecting price feed gaps in live data pipeline","prompt":"I'm ingesting BTC/USDT 1-minute candles from my exchange feed — can you check the last 500 rows for any cadence gaps or out-of-order timestamps? Interval is 60 seconds and it's a 24/7 crypto feed."},{"title":"Auditing third-party historical data quality","prompt":"I just downloaded 2000 rows of historical OHLCV data from a vendor — run a full quality check on it to count OHLC violations, zero-volume rows, malformed entries, and any timestamp issues before I trust it for strategy development."}],"resultDescription":"Returns a JSON object with counts (total rows received, malformed rows, OHLC violation rows, gap pairs, duplicate timestamps, zero-volume rows, etc.), a list of up to 100 individual issue details (each with a code, row index, and reasons), an overall status string, cadence analysis (gap count, off-cadence pairs, missing intervals), and a limitations array explaining what the checker does and does not guarantee. Schema version and checker version are also included.","failureModes":["Malformed rows are accepted and counted rather than rejected pre-payment — all rows are inspected","At most 100 issue details are returned even if more issues exist; counts still reflect all detected issues","Cadence checking only applies when interval_seconds is supplied; gaps cannot be detected without it","Invalid timestamps affect apparent gap counts; rows are never reordered or discarded","Floating point precision loss that occurred before submission is unrecoverable","Zero or negative prices are not rejected by sign alone since instrument validity is unknown","No exchange calendars, sessions, or holidays are applied — continuous 24/7 spacing is assumed when interval_seconds is provided"],"whenToPreferThis":"Choose this endpoint when you need a structured, machine-readable quality report on OHLCV candlestick data before backtesting or live deployment — especially for crypto assets running 24/7 where cadence gaps and OHLC violations are common feed artifacts. It is purpose-built for bulk row inspection (up to 2000 rows per call) with detailed per-row issue attribution, making it superior to ad-hoc manual checks or generic data validators that lack trading-specific logic like OHLC consistency rules.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-29T18:24:19.936Z","isFirstParty":false,"canonicalSlug":"ohlcv-data-quality-checker-eth-usdt-turnover-case-study-3e576807"}