<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Jalvart Studio</title>
    <description>The latest articles on DEV Community by Jalvart Studio (@jalvart_studio_1b20374378).</description>
    <link>https://dev.to/jalvart_studio_1b20374378</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4069613%2Fbdf45538-5c2c-422e-8f15-15e9dd75b318.jpg</url>
      <title>DEV Community: Jalvart Studio</title>
      <link>https://dev.to/jalvart_studio_1b20374378</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jalvart_studio_1b20374378"/>
    <language>en</language>
    <item>
      <title>ADA OHLCV Pack — 1-Week Free Sample</title>
      <dc:creator>Jalvart Studio</dc:creator>
      <pubDate>Thu, 13 Aug 2026 04:37:02 +0000</pubDate>
      <link>https://dev.to/jalvart_studio_1b20374378/ada-ohlcv-pack-1-week-free-sample-3f37</link>
      <guid>https://dev.to/jalvart_studio_1b20374378/ada-ohlcv-pack-1-week-free-sample-3f37</guid>
      <description>&lt;h1&gt;
  
  
  ADA OHLCV Pack - FREE Sample
&lt;/h1&gt;

&lt;p&gt;1-week sample with 6 timeframes (1m, 5m, 15m, 1h, 4h, 1d).&lt;/p&gt;

&lt;p&gt;Full dataset (6+ years, $19): &lt;a href="https://jalvart.gumroad.com/l/tstark" rel="noopener noreferrer"&gt;https://jalvart.gumroad.com/l/tstark&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;More assets and datasets: theglitchlist.com?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=free_sample&lt;/p&gt;

</description>
      <category>cardano</category>
      <category>ohlcv</category>
    </item>
    <item>
      <title>LTC OHLCV Pack — 1-Week Free Sample</title>
      <dc:creator>Jalvart Studio</dc:creator>
      <pubDate>Thu, 13 Aug 2026 04:36:15 +0000</pubDate>
      <link>https://dev.to/jalvart_studio_1b20374378/ltc-ohlcv-pack-1-week-free-sample-35pe</link>
      <guid>https://dev.to/jalvart_studio_1b20374378/ltc-ohlcv-pack-1-week-free-sample-35pe</guid>
      <description>&lt;h1&gt;
  
  
  LTC OHLCV Pack - FREE Sample
&lt;/h1&gt;

&lt;p&gt;1-week sample with 6 timeframes (1m, 5m, 15m, 1h, 4h, 1d).&lt;/p&gt;

&lt;p&gt;Full dataset (6+ years, $19): &lt;a href="https://jalvart.gumroad.com/l/vymfd" rel="noopener noreferrer"&gt;https://jalvart.gumroad.com/l/vymfd&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;More assets and datasets: theglitchlist.com?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=free_sample&lt;/p&gt;

</description>
      <category>litecoin</category>
      <category>ohlcv</category>
    </item>
    <item>
      <title>LINK OHLCV Pack — 1-Week Free Sample</title>
      <dc:creator>Jalvart Studio</dc:creator>
      <pubDate>Thu, 13 Aug 2026 04:34:53 +0000</pubDate>
      <link>https://dev.to/jalvart_studio_1b20374378/link-ohlcv-pack-1-week-free-sample-5bon</link>
      <guid>https://dev.to/jalvart_studio_1b20374378/link-ohlcv-pack-1-week-free-sample-5bon</guid>
      <description>&lt;h1&gt;
  
  
  LINK OHLCV Pack - FREE Sample
&lt;/h1&gt;

&lt;p&gt;1-week sample with 6 timeframes (1m, 5m, 15m, 1h, 4h, 1d).&lt;/p&gt;

&lt;p&gt;Full dataset (6+ years, $19): &lt;a href="https://jalvart.gumroad.com/l/bblha" rel="noopener noreferrer"&gt;https://jalvart.gumroad.com/l/bblha&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;More assets and datasets: theglitchlist.com?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=free_sample&lt;/p&gt;

</description>
      <category>chainlink</category>
      <category>ohlcv</category>
      <category>backtesting</category>
    </item>
    <item>
      <title>SOL OHLCV Pack — 1-Week Free Sample</title>
      <dc:creator>Jalvart Studio</dc:creator>
      <pubDate>Thu, 13 Aug 2026 04:33:37 +0000</pubDate>
      <link>https://dev.to/jalvart_studio_1b20374378/sol-ohlcv-pack-1-week-free-sample-3c98</link>
      <guid>https://dev.to/jalvart_studio_1b20374378/sol-ohlcv-pack-1-week-free-sample-3c98</guid>
      <description>&lt;h1&gt;
  
  
  SOL OHLCV Pack
&lt;/h1&gt;

&lt;p&gt;1-week sample. Full: jalvart.gumroad.com/l/hhcaktn ($19)&lt;/p&gt;

&lt;p&gt;Download: Kaggle | HuggingFace | Zenodo | theglitchlist.com?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=free_sample&lt;/p&gt;

</description>
      <category>solana</category>
      <category>ohlcv</category>
      <category>backtesting</category>
    </item>
    <item>
      <title>XRP OHLCV Pack — 1-Week Free Sample</title>
      <dc:creator>Jalvart Studio</dc:creator>
      <pubDate>Thu, 13 Aug 2026 04:31:29 +0000</pubDate>
      <link>https://dev.to/jalvart_studio_1b20374378/xrp-ohlcv-pack-1-week-free-sample-1762</link>
      <guid>https://dev.to/jalvart_studio_1b20374378/xrp-ohlcv-pack-1-week-free-sample-1762</guid>
      <description>&lt;h1&gt;
  
  
  XRP OHLCV Pack — Free 1-Week Sample
&lt;/h1&gt;

&lt;p&gt;Ready-to-backtest OHLCV data for XRP/USDT across 6 timeframes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Download
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Kaggle: &lt;a href="https://kaggle.com/datasets/jalvartstudio/xrp-ohlcv-pack-free-sample" rel="noopener noreferrer"&gt;https://kaggle.com/datasets/jalvartstudio/xrp-ohlcv-pack-free-sample&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;HuggingFace: &lt;a href="https://huggingface.co/datasets/jalvart/xrp-ohlcv-pack-free-sample" rel="noopener noreferrer"&gt;https://huggingface.co/datasets/jalvart/xrp-ohlcv-pack-free-sample&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Zenodo: &lt;a href="https://zenodo.org/records/21912074" rel="noopener noreferrer"&gt;https://zenodo.org/records/21912074&lt;/a&gt; (DOI: 10.5281/zenodo.21912074)&lt;/li&gt;
&lt;li&gt;B2: &lt;a href="https://f003.backblazeb2.com/file/the-glitch-list-prod/OHLCV/XRP/FREE_SAMPLE/XRP_OHLCV_Sample_1week.zip" rel="noopener noreferrer"&gt;https://f003.backblazeb2.com/file/the-glitch-list-prod/OHLCV/XRP/FREE_SAMPLE/XRP_OHLCV_Sample_1week.zip&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Full Dataset
&lt;/h2&gt;

&lt;p&gt;6.5 years at $19: jalvart.gumroad.com/l/vglzf&lt;/p&gt;

&lt;p&gt;Code GLITCH20 for 20% off.&lt;/p&gt;

&lt;p&gt;More at theglitchlist.com?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=free_sample&lt;/p&gt;

</description>
      <category>cryptocurrency</category>
      <category>ohlcv</category>
      <category>backtesting</category>
      <category>xrp</category>
    </item>
    <item>
      <title>Ethereum OHLCV Dataset: 6 Timeframes from 4.1 Billion Ticks</title>
      <dc:creator>Jalvart Studio</dc:creator>
      <pubDate>Wed, 12 Aug 2026 05:47:14 +0000</pubDate>
      <link>https://dev.to/jalvart_studio_1b20374378/ethereum-ohlcv-dataset-6-timeframes-from-41-billion-ticks-c4n</link>
      <guid>https://dev.to/jalvart_studio_1b20374378/ethereum-ohlcv-dataset-6-timeframes-from-41-billion-ticks-c4n</guid>
      <description>&lt;h1&gt;
  
  
  Ethereum OHLCV Dataset: 6 Timeframes from 4.1 Billion Ticks
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;A practical guide to aggregating tick-level crypto data into OHLCV candles — with a free sample to download&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem
&lt;/h2&gt;

&lt;p&gt;If you're building a trading bot or backtesting a strategy, you need OHLCV data (Open, High, Low, Close, Volume) at multiple timeframes. But raw tick-level data from exchanges is messy: millions of rows per day, timestamps in different units, bid-ask spreads, and no standard format.&lt;/p&gt;

&lt;p&gt;You could download it yourself from Binance Vision (~85GB per asset) and spend weeks engineering the pipeline. Or you could skip the engineering and get production-ready data in minutes.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Solution: Pre-Aggregated OHLCV Packs
&lt;/h2&gt;

&lt;p&gt;We've done the heavy lifting. Here's what we published:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;4.1 billion Ethereum trades&lt;/strong&gt; (6.8 years: 2020–2026)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;6 timeframes:&lt;/strong&gt; 1m, 5m, 15m, 1h, 4h, 1d&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Apache Parquet format&lt;/strong&gt; (ZSTD compression, ~120 MB)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Zero look-ahead bias&lt;/strong&gt; (verified by ratio scaling)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ready to backtest&lt;/strong&gt; (no preprocessing required)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Free Sample
&lt;/h3&gt;

&lt;p&gt;Try the 1-week sample first: 2024-08-05 to 2024-08-12. Same 6 timeframes, same quality, ~600 KB.&lt;/p&gt;

&lt;p&gt;Available on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://kaggle.com/datasets/jalvartstudio/ethereum-ohlcv-pack-free-sample" rel="noopener noreferrer"&gt;Kaggle&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://huggingface.co/datasets/jalvart/ethereum-ohlcv-pack-free-sample" rel="noopener noreferrer"&gt;HuggingFace&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://zenodo.org/record/21898412" rel="noopener noreferrer"&gt;Zenodo (DOI: 10.5281/zenodo.21898412)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Technical Specs
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Candle Counts
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Timeframe&lt;/th&gt;
&lt;th&gt;Count&lt;/th&gt;
&lt;th&gt;Ratio vs 1m&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1m&lt;/td&gt;
&lt;td&gt;3,457,824&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5m&lt;/td&gt;
&lt;td&gt;691,571&lt;/td&gt;
&lt;td&gt;5.00x ✓&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;15m&lt;/td&gt;
&lt;td&gt;230,529&lt;/td&gt;
&lt;td&gt;15.00x ✓&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;1h&lt;/td&gt;
&lt;td&gt;57,642&lt;/td&gt;
&lt;td&gt;60.00x ✓&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4h&lt;/td&gt;
&lt;td&gt;14,417&lt;/td&gt;
&lt;td&gt;240.00x ✓&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;1d&lt;/td&gt;
&lt;td&gt;2,403&lt;/td&gt;
&lt;td&gt;1440.00x ✓&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Perfect ratio scaling confirms zero bucketing errors.&lt;/p&gt;

&lt;h3&gt;
  
  
  Data Quality
&lt;/h3&gt;

&lt;p&gt;✅ &lt;strong&gt;Chronological order verified&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
✅ &lt;strong&gt;Zero look-ahead bias&lt;/strong&gt; (each candle's close uses data ≤ that candle's time)&lt;br&gt;&lt;br&gt;
✅ &lt;strong&gt;No negative volumes&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
✅ &lt;strong&gt;OHLC logical constraints&lt;/strong&gt; (high ≥ close ≥ low, high ≥ open ≥ low)&lt;br&gt;&lt;br&gt;
✅ &lt;strong&gt;Complete coverage&lt;/strong&gt; — zero undeclared gaps from 2020-01-01 to 2026-07-30&lt;/p&gt;

&lt;h2&gt;
  
  
  How It's Made
&lt;/h2&gt;

&lt;p&gt;Aggregated from Binance Vision tick data using DuckDB:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Load&lt;/strong&gt; ~4.1B trades from Parquet&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Bucket&lt;/strong&gt; by timestamp (FLOOR to nearest minute)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Aggregate:&lt;/strong&gt; min(low), max(high), first(open), last(close), sum(volume), sum(buy_volume)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Verify&lt;/strong&gt; ratio scaling across timeframes&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Compress&lt;/strong&gt; with ZSTD and deliver&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;No magic. Pure engineering.&lt;/p&gt;

&lt;h2&gt;
  
  
  Use Cases
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Backtesting:&lt;/strong&gt; Load all 6 timeframes and run your strategy on 6.8 years of real data&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ML training:&lt;/strong&gt; 3.4M one-minute candles = millions of labeled examples&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Technical analysis:&lt;/strong&gt; Study Ethereum's intraday patterns without the download grind&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Price &amp;amp; License
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Full dataset (6.8 years):&lt;/strong&gt; $19 USD (one-time)&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Use code GLITCH20 for 20% off&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;License:&lt;/strong&gt; Personal and research use only. Commercial use prohibited.&lt;/p&gt;

&lt;h2&gt;
  
  
  Get Started
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Download the free sample&lt;/strong&gt; (1 week, ~600 KB)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Load it in Pandas/Polars/DuckDB&lt;/strong&gt; (see code example below)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Backtest or analyze&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Buy the full dataset&lt;/strong&gt; when you're ready&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Example Code
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;pandas&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;pd&lt;/span&gt;

&lt;span class="c1"&gt;# Load all 6 timeframes
&lt;/span&gt;&lt;span class="n"&gt;timeframes&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;1m&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;5m&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;15m&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;1h&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;4h&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;1d&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="n"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="n"&gt;tf&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;pd&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;read_parquet&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;ETH_OHLCV_&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;tf&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;.parquet&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;tf&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;timeframes&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="c1"&gt;# Plot 1h candles
&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;1h&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nf"&gt;set_index&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;candle_time&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;close&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nf"&gt;plot&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="c1"&gt;# Backtest: resample to 4h and calculate RSI
&lt;/span&gt;&lt;span class="n"&gt;candles_4h&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;1h&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nf"&gt;set_index&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;candle_time&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;resample&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;4H&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;agg&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;open&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;first&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;high&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;max&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;low&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;min&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;close&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;last&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;volume&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;sum&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;})&lt;/span&gt;

&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Ready to backtest on &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nf"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;candles_4h&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;:&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt; 4-hour candles&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Questions?
&lt;/h2&gt;

&lt;p&gt;Visit &lt;a href="https://theglitchlist.com?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=free_sample" rel="noopener noreferrer"&gt;theglitchlist.com?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=free_sample&lt;/a&gt; or reply in the comments.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Free sample:&lt;/strong&gt; &lt;a href="https://kaggle.com/datasets/jalvartstudio/ethereum-ohlcv-pack-free-sample" rel="noopener noreferrer"&gt;Download 1-week sample on Kaggle&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Full dataset:&lt;/strong&gt; &lt;a href="https://jalvart.gumroad.com/l/kzkhrrv" rel="noopener noreferrer"&gt;Buy on Gumroad for $19&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Use code &lt;strong&gt;GLITCH20&lt;/strong&gt; for 20% off all products at The Glitch List.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Free Bitcoin OHLCV Dataset — 6 Timeframes, Ready for Backtesting</title>
      <dc:creator>Jalvart Studio</dc:creator>
      <pubDate>Tue, 11 Aug 2026 09:47:58 +0000</pubDate>
      <link>https://dev.to/jalvart_studio_1b20374378/free-bitcoin-ohlcv-dataset-6-timeframes-ready-for-backtesting-39ln</link>
      <guid>https://dev.to/jalvart_studio_1b20374378/free-bitcoin-ohlcv-dataset-6-timeframes-ready-for-backtesting-39ln</guid>
      <description>&lt;h1&gt;
  
  
  Free Bitcoin OHLCV Dataset — 6 Timeframes, Ready for Backtesting
&lt;/h1&gt;

&lt;p&gt;If you're building a trading bot or backtesting a strategy, raw tick data is usually more than you need. What most developers actually want is clean OHLCV candles across multiple timeframes — ready to load and go.&lt;/p&gt;

&lt;p&gt;We just published a &lt;strong&gt;free 1-week sample&lt;/strong&gt; of our Bitcoin OHLCV Pack: six timeframes (1m, 5m, 15m, 1h, 4h, 1d), aggregated from tick-level trade data, in Apache Parquet format.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's in the sample
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Period:&lt;/strong&gt; August 5-12, 2024 (one week, includes real volatility)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Base resolution:&lt;/strong&gt; 11,520 one-minute candles&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Derived timeframes:&lt;/strong&gt; 5m, 15m, 1h, 4h, 1d — all aggregated from the same 1-minute base, with verified scaling ratios (5m ~ 1m/5, 15m ~ 1m/15, etc.)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Format:&lt;/strong&gt; Apache Parquet, ZSTD compressed&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Zero look-ahead bias:&lt;/strong&gt; every candle's open/close is computed with explicit chronological ordering, verified before packaging&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Quick start
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;pandas&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;pd&lt;/span&gt;

&lt;span class="n"&gt;df&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;pd&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;read_parquet&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;BTC_OHLCV_1m_SAMPLE.parquet&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;head&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt;
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nf"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;:&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt; candles from &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;candle_time&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nf"&gt;min&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt; to &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;candle_time&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nf"&gt;max&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Why OHLCV instead of raw ticks
&lt;/h2&gt;

&lt;p&gt;Most bot developers don't need billions of individual trades — they need candles. Aggregating tick data into multiple timeframes correctly is more subtle than it looks: naive bucketing approaches can silently produce identical candle counts across different timeframes (a bug that's easy to miss if you don't cross-check the ratios). We validate every timeframe against its neighbors before anything ships.&lt;/p&gt;

&lt;h2&gt;
  
  
  Get the full dataset
&lt;/h2&gt;

&lt;p&gt;The sample covers one week. The full &lt;strong&gt;Bitcoin OHLCV Pack&lt;/strong&gt; covers &lt;strong&gt;6.8 years&lt;/strong&gt; (2020-2026) across the same six timeframes - $19, one-time purchase, no subscription.&lt;/p&gt;

&lt;p&gt;Full dataset: &lt;a href="https://jalvart.gumroad.com/l/ttrtkx" rel="noopener noreferrer"&gt;https://jalvart.gumroad.com/l/ttrtkx&lt;/a&gt; (code GLITCH20 for 20% off)&lt;/p&gt;

&lt;p&gt;More free samples and datasets: theglitchlist.com?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=free_sample&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Have questions about the aggregation methodology or want a different timeframe combination? Drop a comment below.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>bitcoin</category>
      <category>python</category>
      <category>opensource</category>
      <category>datascience</category>
    </item>
    <item>
      <title>Free tick-level crypto trade data — audited samples on Kaggle, HuggingFace, and Zenodo</title>
      <dc:creator>Jalvart Studio</dc:creator>
      <pubDate>Sun, 09 Aug 2026 08:05:56 +0000</pubDate>
      <link>https://dev.to/jalvart_studio_1b20374378/free-tick-level-crypto-trade-data-audited-samples-on-kaggle-huggingface-and-zenodo-2gcd</link>
      <guid>https://dev.to/jalvart_studio_1b20374378/free-tick-level-crypto-trade-data-audited-samples-on-kaggle-huggingface-and-zenodo-2gcd</guid>
      <description>&lt;p&gt;Free tick-level crypto trade data samples are now available across Kaggle, HuggingFace, and Zenodo — audited, no gaps hidden, Apache Parquet format.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's in the samples
&lt;/h2&gt;

&lt;p&gt;Each sample covers a 1-week window of raw trade data for one asset (BTC, ETH, XRP, SOL, LINK, LTC, ADA, BNB, DOGE, AVAX). Every row is a single executed trade — price, quantity, timestamp, and aggressor side. No OHLCV aggregation, no smoothing, no gap-filling.&lt;/p&gt;

&lt;p&gt;The samples come from a fully audited multi-year historical dataset (2020-2026) built and maintained by &lt;strong&gt;The Glitch List&lt;/strong&gt;, a data engineering lab based in Barcelona.&lt;/p&gt;

&lt;h2&gt;
  
  
  Quick start with pandas
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;pandas&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;pd&lt;/span&gt;

&lt;span class="n"&gt;df&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;pd&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;read_parquet&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;sample_BTC_2025-02-19_to_2025-02-26.parquet&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;shape&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;head&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt;

&lt;span class="c1"&gt;# Basic trade imbalance by minute
&lt;/span&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;minute&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;pd&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;to_datetime&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;exchange_ts&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;unit&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;ms&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;dt&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;floor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;min&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;imbalance&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;groupby&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;minute&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;quantity&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nf"&gt;sum&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Where to find the samples
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Kaggle:&lt;/strong&gt; search "jalvartstudio" — 8 public datasets, one per asset (LINK/LTC/ADA bundled as a pack)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;HuggingFace:&lt;/strong&gt; &lt;a href="https://huggingface.co/jalvart" rel="noopener noreferrer"&gt;huggingface.co/jalvart&lt;/a&gt; — native Parquet, interactive Dataset Viewer built in, no download needed to preview&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Zenodo:&lt;/strong&gt; DOI-backed permanent records, citable in academic work&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Data quality notes
&lt;/h2&gt;

&lt;p&gt;Every sample ships with a Data Quality Disclosure documenting known gaps and any timestamp normalization applied. Source raw data switched timestamp units from milliseconds to microseconds starting 2025-01-01 — this is documented and corrected in the pipeline, not silently patched.&lt;/p&gt;

&lt;h2&gt;
  
  
  Full historical datasets
&lt;/h2&gt;

&lt;p&gt;The free samples are 1-week excerpts. Full datasets span multiple years (up to 6.5 years for BTC, 6.2 billion rows), fully audited row by row.&lt;/p&gt;

&lt;p&gt;🎁 Launch offer — 20% off, limited to 50 uses: &lt;code&gt;GLITCH20&lt;/code&gt; at &lt;a href="https://theglitchlist.com?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=free_sample" rel="noopener noreferrer"&gt;theglitchlist.com?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=free_sample&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Feedback and questions welcome — this is an ongoing project and disclosure of any data quality issues found is part of how we keep the catalog honest.&lt;/em&gt;&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
