[{"data":1,"prerenderedAt":121},["ShallowReactive",2],{"page:\u002Farticles\u002Frh-data":3},{"id":4,"title":5,"author":6,"body":10,"cover":107,"date":108,"description":109,"extension":110,"head":111,"layout":114,"meta":115,"navigation":116,"path":117,"seo":118,"stem":119,"__hash__":120},"pages\u002Farticles\u002F29.rh-data.md","Building Stooq-Style Daily Data from Robinhood",{"name":7,"avatarUrl":8,"link":9},"Likun Cai","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F103620968?v=4","https:\u002F\u002Fgithub.com\u002FAlchemist-Aloha",{"type":11,"value":12,"toc":104},"minimark",[13,17,29,40,45,56,79,86,89,100],[14,15,5],"h1",{"id":16},"building-stooq-style-daily-data-from-robinhood",[18,19,20,24,25,28],"p",{},[21,22,23],"code",{},"rh_data"," converts Robinhood's daily equity history into the row format and directory conventions used by Stooq's ",[21,26,27],{},"d_us_txt.zip",". It provides paired scripts for an initial backfill and later incremental updates across three universes: symbols from the Stooq US archive, all active Robinhood ADRs, and every active Robinhood equity instrument.",[18,30,31,32,35,36,39],{},"Every market writes the same daily OHLCV text rows and maintains its own SQLite database by default. The ",[21,33,34],{},"bars"," table uses ",[21,37,38],{},"(symbol, market, date)"," as its primary key, making updates idempotent UPSERTs and indexed reads straightforward.",[41,42,44],"h2",{"id":43},"start-safely","Start safely",[18,46,47,48,51,52,55],{},"After configuring ",[21,49,50],{},"robin_stocks"," 3.4.0, ",[21,53,54],{},"toml",", and the repository's local login flow, plan a small run first:",[57,58,63],"pre",{"className":59,"code":60,"language":61,"meta":62,"style":62},"language-powershell shiki shiki-themes github-light github-dark",".\\.venv\\Scripts\\python.exe rh_data\\fetch_history.py --dry-run --limit 20\n.\\.venv\\Scripts\\python.exe rh_data\\fetch_history.py --limit 20\n","powershell","",[21,64,65,73],{"__ignoreMap":62},[66,67,70],"span",{"class":68,"line":69},"line",1,[66,71,72],{},".\\.venv\\Scripts\\python.exe rh_data\\fetch_history.py --dry-run --limit 20\n",[66,74,76],{"class":68,"line":75},2,[66,77,78],{},".\\.venv\\Scripts\\python.exe rh_data\\fetch_history.py --limit 20\n",[18,80,81,82,85],{},"The full scripts batch up to 50 symbols per history request and default to no more than 100 requests per minute. Daily jobs append only newer bars and update the matching database. The Stooq-universe pair can also overlay its results onto a copy of the original ZIP with ",[21,83,84],{},"--zip-out",".",[18,87,88],{},"Robinhood exposes roughly five years of daily history, so it cannot replace older Stooq rows. Delisted or unavailable symbols are logged and skipped, and interpolated bars are preserved. This dataset is an engineering input, not a guarantee of market-data completeness or trading suitability.",[18,90,91,92,99],{},"Visit the ",[93,94,98],"a",{"href":95,"rel":96},"https:\u002F\u002Fgithub.com\u002FAlchemist-Aloha\u002Frh_data",[97],"nofollow","rh_data repository"," for all six scripts, schema details, and caveats.",[101,102,103],"style",{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":62,"searchDepth":75,"depth":75,"links":105},[106],{"id":43,"depth":75,"text":44},"\u002Farticles\u002Frh-data-cover.webp","2026-08-12T00:29:00.000Z","Backfill and incrementally update US, ADR, and Robinhood-wide OHLCV datasets as text trees and indexed SQLite databases.","md",{"title":112},{"rh_data":113},"Robinhood History in a Stooq-Compatible Layout","page",{},true,"\u002Farticles\u002Frh-data",{"title":5,"description":109},"articles\u002F29.rh-data","PE32fQFM-x6CE8LwzeiRbK1EbknCA_Dj4MhTcG48xu8",1786980373679]