SPB Git

spb/anomaly-atlas Public License

Systematic discovery & rigorous validation of statistical anomalies in open HF market data (hfmarketdata.io) — pre-registered, artifact-null-driven, fully reproducible. Live atlas: www.anomaly-atlas.io

Python 61.4% JavaScript 28.7% CSS 8.6% Shell 0.7% Makefile 0.5%

expC: reversion scan — null mis-specification caught, corrected triage

- pre-specified EDGE+Roll intraday bounce null predicts impossible AC1
  (-3..-27): discarded its positive-excess family as null artifact;
  variance-consistency rule adopted (taxonomy T1 amended)
- corrected MA(1)-consistent VR triage: 14 Level-0 cells (JPM 1min -0.243,
  MSFT 5min 2000-07...) + daily 2008-15 mega-cap/index reversal family
  (XOM -0.133 FDR, SPY -0.055 FDR)
- H01 confirmed (liquid intraday lag-1 reversion = 0 net of bounce);
  decay clause partially falsified — recorded as-is
- new: stats/multiple_testing.py (BH-FDR, bootstrap p), EDGE wrapper,
  pre-specified splits in data/universe.py, 6 new gate tests

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Simon-Pierre Boucher committed 4 h ago (Aug 12, 2026) parent 4ac7a8b

Showing 12 changed files with +4,674 and −29

added benchmarks/synthetic/test_gate_expc.py +107 −0
@@ -0,0 +1,107 @@
1 +# =============================================================================
2 +# Project : anomaly-atlas
3 +# File : benchmarks/synthetic/test_gate_expc.py
4 +# Purpose : §8.1 gate for the expC additions: EDGE spread, FDR, bootstrap p
5 +# Author : Simon-Pierre Boucher
6 +# Contact : contact@spboucher.ai
7 +# Data src : hfmarketdata.io (sole data source)
8 +# Created : 2026-08-12
9 +# Modified : 2026-08-12
10 +# Platform : macOS / Apple Silicon (arm64)
11 +# License : All rights reserved (research code)
12 +# =============================================================================
13 +"""Gate the detectors added for expC before they touch real data:
14 +
15 + * EDGE spread from synthetic OHLC bars: recovers a planted Roll spread,
16 + reads ~0 on a spread-free random walk;
17 + * Benjamini-Hochberg: controls FDR on uniform nulls, finds planted signal;
18 + * bootstrap_pvalue: uniform-ish under the null, small under a real effect.
19 +"""
20 +
21 +from __future__ import annotations
22 +
23 +import sys
24 +from pathlib import Path
25 +
26 +import numpy as np
27 +
28 +sys.path.insert(0, str(Path(__file__).resolve().parent))
29 +
30 +from generators import random_walk, roll_bounce_prices # noqa: E402
31 +
32 +from anomaly_atlas.stats.bootstrap import moving_block_bootstrap
33 +from anomaly_atlas.stats.multiple_testing import (
34 + benjamini_hochberg,
35 + bonferroni,
36 + bootstrap_pvalue,
37 +)
38 +from anomaly_atlas.stats.reversion import ac1
39 +from anomaly_atlas.validation.artifacts import edge_spread
40 +
41 +SEEDS = [1, 2, 3, 4, 5]
42 +
43 +
44 +def bars_from_ticks(log_prices: np.ndarray, per_bar: int = 30):
45 + """Aggregate a synthetic tick path into OHLC bars (price space)."""
46 + n = (len(log_prices) // per_bar) * per_bar
47 + p = np.exp(log_prices[:n]).reshape(-1, per_bar)
48 + return p[:, 0], p.max(axis=1), p.min(axis=1), p[:, -1]
49 +
50 +
51 +# ----------------------------------------------------------------- EDGE gate
52 +def test_edge_recovers_planted_spread_from_bars():
53 + spread = 0.004
54 + for seed in SEEDS:
55 + ticks = roll_bounce_prices(120_000, spread=spread, sigma=0.0008, seed=seed)
56 + o, h, low, c = bars_from_ticks(ticks)
57 + est = edge_spread(o, h, low, c)
58 + assert np.isfinite(est)
59 + assert abs(est - spread) / spread < 0.30 # bar aggregation loses info
60 +
61 +
62 +def test_edge_reads_near_zero_on_spreadless_walk():
63 + for seed in SEEDS:
64 + ticks = random_walk(120_000, sigma=0.0008, seed=seed)
65 + o, h, low, c = bars_from_ticks(ticks)
66 + est = edge_spread(o, h, low, c)
67 + # undefined (NaN) or tiny relative to the planted case
68 + assert (not np.isfinite(est)) or est < 0.001
69 +
70 +
71 +# ------------------------------------------------------------------ FDR gate
72 +def test_bh_controls_false_discoveries_on_pure_null():
73 + rng = np.random.default_rng(7)
74 + false_rates = []
75 + for _ in range(200):
76 + p = rng.random(100) # all null
77 + false_rates.append(benjamini_hochberg(p, alpha=0.05).mean())
78 + assert np.mean(false_rates) < 0.05 # FDR controlled
79 +
80 +
81 +def test_bh_finds_planted_signal_and_bonferroni_is_stricter():
82 + rng = np.random.default_rng(8)
83 + p = np.concatenate([rng.random(90), rng.random(10) * 1e-5]) # 10 real
84 + bh = benjamini_hochberg(p, alpha=0.05)
85 + bf = bonferroni(p, alpha=0.05)
86 + assert bh[90:].all() # all planted found
87 + assert bh.sum() >= bf.sum() # BH never stricter than Bonferroni
88 + assert bh[:90].sum() <= 5 # few false positives
89 +
90 +
91 +def test_bh_counts_nan_toward_m():
92 + p = np.array([0.001, np.nan, np.nan, np.nan])
93 + # m=4: threshold for rank 1 is 0.05/4=0.0125 -> still rejected
94 + assert benjamini_hochberg(p, alpha=0.05)[0]
95 + assert not benjamini_hochberg(p, alpha=0.05)[1:].any()
96 +
97 +
98 +# ------------------------------------------------------- bootstrap p-value gate
99 +def test_bootstrap_pvalue_calibration():
100 + # null: AC1 of a random walk -> p should be comfortably non-small
101 + r = np.diff(random_walk(60_000, seed=3))
102 + boot = moving_block_bootstrap(r, ac1, block=390, n_boot=300, seed=3)
103 + assert bootstrap_pvalue(boot, 0.0) > 0.05
104 + # real effect: AC1 of a bounce series -> tiny p
105 + rb = np.diff(roll_bounce_prices(60_000, spread=0.003, seed=3))
106 + boot_b = moving_block_bootstrap(rb, ac1, block=390, n_boot=300, seed=3)
107 + assert bootstrap_pvalue(boot_b, 0.0) < 0.01
modified data_manifest/index.jsonl +354 −0
@@ -99,3 +99,357 @@
99 99 {"author": "Simon-Pierre Boucher", "cache_key": "a2d1fc0ce26f55ac2dbcb8a56f027e70", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/USGOW", "fetched_utc": "2026-08-12T05:56:29Z", "first": "2024-01-02 10:52:00", "last": "2024-03-28 15:52:00", "params": {"adjustment": "adj_split", "end": "2024-04-01", "limit": 50000, "order": "asc", "start": "2024-01-02", "timeframe": "1min"}, "rows": 306, "sha256": "1c4689daece65d79483cc48b51dc7452ceaaaef134cdbce98cde5a97acbe4dc5"}
100 100 {"author": "Simon-Pierre Boucher", "cache_key": "6641c48ba15e0036b7af55422eb3e0f8", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/WTFCM", "fetched_utc": "2026-08-12T05:56:29Z", "first": "2024-01-02 09:30:00", "last": "2024-03-28 16:00:00", "params": {"adjustment": "adj_split", "end": "2024-04-01", "limit": 50000, "order": "asc", "start": "2024-01-02", "timeframe": "1min"}, "rows": 1545, "sha256": "85e69461dee2e1efb17b457d5770b7a9b4dc47695345fc3789f8ea3f8a6fecae"}
101 101 {"author": "Simon-Pierre Boucher", "cache_key": "a13526fe4efaf465254003732bca9ecf", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/index/SPX", "fetched_utc": "2026-08-12T05:56:30Z", "first": "2024-01-02 09:30:00", "last": "2024-03-28 16:05:00", "params": {"end": "2024-04-01", "limit": 50000, "order": "asc", "start": "2024-01-02", "timeframe": "1min"}, "rows": 24156, "sha256": "24aeff152902c703c832f91ba7ff331776643cc8cbaf9b9d36194f846736ade4"}
102 +{"author": "Simon-Pierre Boucher", "cache_key": "ff6e57435448d58d7f632ae0ea3b4c17", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/AAPL", "fetched_utc": "2026-08-12T06:24:08Z", "first": "2000-01-04", "last": "2007-12-31", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "1day"}, "rows": 2009, "sha256": "2a1e04f9bd28e37e30353dec241886e83dd8b6cbfc18b676bb869008f0df1b02"}
103 +{"author": "Simon-Pierre Boucher", "cache_key": "0a19a524ca086e812bc71cd26379a837", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/AAPL", "fetched_utc": "2026-08-12T06:24:10Z", "first": "2000-01-04 09:30:00", "last": "2007-12-31 19:30:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "30min"}, "rows": 40555, "sha256": "2fb25dd70e4d3c7e9ed3ec3bbab76cbacc7f98b657f696c3228908d9954c5d48"}
104 +{"author": "Simon-Pierre Boucher", "cache_key": "97780a71cc89f7ca980764797cb0c723", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/AAPL", "fetched_utc": "2026-08-12T06:24:11Z", "first": "2000-01-04 09:30:00", "last": "2002-02-01 14:45:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "5min"}, "rows": 50000, "sha256": "9f9172ef74bc9382a6184df3a727d76a319f72681e40d33ddc76a9952e200743"}
105 +{"author": "Simon-Pierre Boucher", "cache_key": "1925e5c6992c8bf4fd843ecd7a3c7eb9", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/AAPL", "fetched_utc": "2026-08-12T06:24:13Z", "first": "2002-02-01 14:45:00", "last": "2004-03-17 10:10:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2002-02-01 14:45:00", "timeframe": "5min"}, "rows": 50000, "sha256": "815fb5b19e44cd2657f5d494ab3a3b25f173480d5642c3fff08277ecb2367a9c"}
106 +{"author": "Simon-Pierre Boucher", "cache_key": "0ba22357c4996a6f32f291e81344a357", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/AAPL", "fetched_utc": "2026-08-12T06:24:15Z", "first": "2004-03-17 10:10:00", "last": "2005-12-30 13:15:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2004-03-17 10:10:00", "timeframe": "5min"}, "rows": 50000, "sha256": "f259eccb363baa6c1c3ae05f989bb10a0233c41665000b4fd604da61843b99cd"}
107 +{"author": "Simon-Pierre Boucher", "cache_key": "7c879ffba864b42e1b3f1de03db6a3d1", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/AAPL", "fetched_utc": "2026-08-12T06:24:16Z", "first": "2005-12-30 13:15:00", "last": "2007-08-24 12:40:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2005-12-30 13:15:00", "timeframe": "5min"}, "rows": 50000, "sha256": "c1452d976ce6cba63614ec7e68da4cc1516039830a0be27d0655103ea2ca4518"}
108 +{"author": "Simon-Pierre Boucher", "cache_key": "d863ab2ad895ac1fe6d8e0d984fda18e", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/AAPL", "fetched_utc": "2026-08-12T06:24:17Z", "first": "2007-08-24 12:40:00", "last": "2007-12-31 19:55:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2007-08-24 12:40:00", "timeframe": "5min"}, "rows": 12226, "sha256": "68122f9afc6b22c7666a3b19818b33a6ea677410db85e79929f6628b93b1ac42"}
109 +{"author": "Simon-Pierre Boucher", "cache_key": "605e0275afe187365cd8c7da79de1b62", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/AAPL", "fetched_utc": "2026-08-12T06:24:17Z", "first": "2008-01-02", "last": "2015-12-31", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "1day"}, "rows": 2015, "sha256": "5fe5f4fa1b128f0d6b51c867a641a8c855f73558d6d723a8a7d283c5903f4109"}
110 +{"author": "Simon-Pierre Boucher", "cache_key": "438d738b03a0b516186c70da7fafbe40", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/AAPL", "fetched_utc": "2026-08-12T06:24:19Z", "first": "2008-01-02 05:30:00", "last": "2014-09-18 11:30:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "30min"}, "rows": 50000, "sha256": "ab6e533fba6c9400a3dab6c2bec65adf397f155c3259f441272b11d384d911fd"}
111 +{"author": "Simon-Pierre Boucher", "cache_key": "e4b345803b1413e53e354525f391951e", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/AAPL", "fetched_utc": "2026-08-12T06:24:19Z", "first": "2014-09-18 11:30:00", "last": "2015-12-31 19:30:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2014-09-18 11:30:00", "timeframe": "30min"}, "rows": 10248, "sha256": "018d86f3fa392be03e180cecf2d0b76810dfd89dbac516c4fb12509e65b10e59"}
112 +{"author": "Simon-Pierre Boucher", "cache_key": "6297224523151bfcde9a30eaea3b6e97", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/AAPL", "fetched_utc": "2026-08-12T06:24:21Z", "first": "2008-01-02 05:55:00", "last": "2009-05-08 07:50:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "5min"}, "rows": 50000, "sha256": "66a663fbd3f07db4a88a52fbc79650f99cfb5f538cc9c85a99428398541b8407"}
113 +{"author": "Simon-Pierre Boucher", "cache_key": "66e3155b9e6de3aa7366fbd78fba920e", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/AAPL", "fetched_utc": "2026-08-12T06:24:23Z", "first": "2009-05-08 07:50:00", "last": "2010-09-01 17:30:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2009-05-08 07:50:00", "timeframe": "5min"}, "rows": 50000, "sha256": "71db14745cf2379fda51ccff83e6e1c96ebcea259f513dad83bf075835ff55a3"}
114 +{"author": "Simon-Pierre Boucher", "cache_key": "bd9044ac341acbe778e72093f5444838", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/AAPL", "fetched_utc": "2026-08-12T06:24:24Z", "first": "2010-09-01 17:30:00", "last": "2011-11-30 10:30:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2010-09-01 17:30:00", "timeframe": "5min"}, "rows": 50000, "sha256": "fd508bf89a602dc0eb5e554c4a83c2b0801bf25820502fe4690b92f75e12ba61"}
115 +{"author": "Simon-Pierre Boucher", "cache_key": "4b4b76f8f61e34be7068df586fc09f02", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/AAPL", "fetched_utc": "2026-08-12T06:24:26Z", "first": "2011-11-30 10:30:00", "last": "2013-02-20 11:15:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2011-11-30 10:30:00", "timeframe": "5min"}, "rows": 50000, "sha256": "6738f9c7ebcf2eb798ffdd3b84e02f0e5fe2dceafb1b3cc1120b38dc71910243"}
116 +{"author": "Simon-Pierre Boucher", "cache_key": "85f7a2dd81a7eabf6d4a50235e88281f", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/AAPL", "fetched_utc": "2026-08-12T06:24:28Z", "first": "2013-02-20 11:15:00", "last": "2014-06-04 13:10:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2013-02-20 11:15:00", "timeframe": "5min"}, "rows": 50000, "sha256": "10075f1d72a981ab4ac042dc73174bc7c1dedbcd2f02d508c968ade6bb8a10c0"}
117 +{"author": "Simon-Pierre Boucher", "cache_key": "020963bdc349323fa8236d20c5a080db", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/AAPL", "fetched_utc": "2026-08-12T06:24:29Z", "first": "2014-06-04 13:10:00", "last": "2015-07-23 19:05:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2014-06-04 13:10:00", "timeframe": "5min"}, "rows": 50000, "sha256": "c6898ed51d808bcde2989428c16f4bec1053b96e0a4e6265d324bbcb47662c82"}
118 +{"author": "Simon-Pierre Boucher", "cache_key": "21a573678f713656dd4f7778c132eb59", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/AAPL", "fetched_utc": "2026-08-12T06:24:30Z", "first": "2015-07-23 19:05:00", "last": "2015-12-31 19:55:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2015-07-23 19:05:00", "timeframe": "5min"}, "rows": 19181, "sha256": "b0cf1dd103499e71c2f895d88eb33bbe9f47e5035c609a61a07954d98846fc5c"}
119 +{"author": "Simon-Pierre Boucher", "cache_key": "8c5ec9f2b075f1f701ebe4e6c9c593a4", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/MSFT", "fetched_utc": "2026-08-12T06:24:30Z", "first": "2000-01-04", "last": "2007-12-31", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "1day"}, "rows": 2009, "sha256": "433535f7c866d478b0b53e491a09cfea83172c4114f78ecdb5666acdefbb220b"}
120 +{"author": "Simon-Pierre Boucher", "cache_key": "c939db03d6d16480deb2cef4bf2dd833", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/MSFT", "fetched_utc": "2026-08-12T06:24:32Z", "first": "2000-01-04 09:30:00", "last": "2007-12-31 19:30:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "30min"}, "rows": 41473, "sha256": "8a9e7972179408a3a9f4cbe79da61c4144dbd2549602a7417c1351ca2208338a"}
121 +{"author": "Simon-Pierre Boucher", "cache_key": "3021276ede5ee8011ad5a2853a530de7", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/MSFT", "fetched_utc": "2026-08-12T06:24:33Z", "first": "2000-01-04 09:30:00", "last": "2001-11-07 17:10:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "5min"}, "rows": 50000, "sha256": "b17e72e50302420947f5f9a2a20071f39b2b788fd1ede1ef7a2b131f52183dd9"}
122 +{"author": "Simon-Pierre Boucher", "cache_key": "4a66728351adbef006b14abcff440d0f", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/MSFT", "fetched_utc": "2026-08-12T06:24:35Z", "first": "2001-11-07 17:10:00", "last": "2003-07-18 14:20:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2001-11-07 17:10:00", "timeframe": "5min"}, "rows": 50000, "sha256": "f02ff29afdff40b25df8b9ccdaabe85bab6e5680e2bb34572189a10dd9bca5fa"}
123 +{"author": "Simon-Pierre Boucher", "cache_key": "09963c5afe4191f5caaca708b85f279f", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/MSFT", "fetched_utc": "2026-08-12T06:24:36Z", "first": "2003-07-18 14:20:00", "last": "2005-04-11 11:25:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2003-07-18 14:20:00", "timeframe": "5min"}, "rows": 50000, "sha256": "3b452d8ccf3b09f857e70f76559ab16bc884d9f1710d768bc9240b83ea664568"}
124 +{"author": "Simon-Pierre Boucher", "cache_key": "8983b27a81ee36580f8f63786167f4c2", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/MSFT", "fetched_utc": "2026-08-12T06:24:38Z", "first": "2005-04-11 11:25:00", "last": "2007-01-12 13:45:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2005-04-11 11:25:00", "timeframe": "5min"}, "rows": 50000, "sha256": "9e00379913fa3b773cf801e247043785322c55cfaf4772d26ba79369d0ed9399"}
125 +{"author": "Simon-Pierre Boucher", "cache_key": "ee706304842bb120301fe2a905f68c14", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/MSFT", "fetched_utc": "2026-08-12T06:24:39Z", "first": "2007-01-12 13:45:00", "last": "2007-12-31 19:35:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2007-01-12 13:45:00", "timeframe": "5min"}, "rows": 24977, "sha256": "7b3b21db6d42b3db93598c1e88c13f5794b913372001fa9c62d08b413aa25388"}
126 +{"author": "Simon-Pierre Boucher", "cache_key": "fe4055989eb4031c3b40d06032cf20a2", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/MSFT", "fetched_utc": "2026-08-12T06:24:39Z", "first": "2008-01-02", "last": "2015-12-31", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "1day"}, "rows": 2015, "sha256": "b2844ca97c601d4c63578c977981ae19ea9964837c3ab5e5b07b01e3029c72a1"}
127 +{"author": "Simon-Pierre Boucher", "cache_key": "35e924c947817060c8faa01e5b0f21c5", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/MSFT", "fetched_utc": "2026-08-12T06:24:41Z", "first": "2008-01-02 07:00:00", "last": "2015-09-14 11:30:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "30min"}, "rows": 50000, "sha256": "96b670edd8d299c716fb9d83c7d36b4686f848ccfac93d02c22bbaf8fd087341"}
128 +{"author": "Simon-Pierre Boucher", "cache_key": "0a49871ebb114d5111338fa715ae723d", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/MSFT", "fetched_utc": "2026-08-12T06:24:41Z", "first": "2015-09-14 11:30:00", "last": "2015-12-31 19:30:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2015-09-14 11:30:00", "timeframe": "30min"}, "rows": 1991, "sha256": "8a61e435843bb75e17e352e10a11acf51f022b763ee4d28e3eea75b2f115d718"}
129 +{"author": "Simon-Pierre Boucher", "cache_key": "29f435d6c80a18d0f59aa87ffd2fa0b0", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/MSFT", "fetched_utc": "2026-08-12T06:24:43Z", "first": "2008-01-02 07:25:00", "last": "2009-07-21 19:55:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "5min"}, "rows": 50000, "sha256": "c5f490f30daae876046038adde64915f8e9f975d18f6fe0eae5e3e6de80c7f53"}
130 +{"author": "Simon-Pierre Boucher", "cache_key": "8c5f5b5e960636dc712261e663df8b11", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/MSFT", "fetched_utc": "2026-08-12T06:24:44Z", "first": "2009-07-21 19:55:00", "last": "2011-02-18 16:35:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2009-07-21 19:55:00", "timeframe": "5min"}, "rows": 50000, "sha256": "f6904ff2910416eca2424e1ec05b37116377739dc231a90e2de7c637e36a52d1"}
131 +{"author": "Simon-Pierre Boucher", "cache_key": "bbbfdf04cf6f5b0e3558e48cc191b0b2", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/MSFT", "fetched_utc": "2026-08-12T06:24:46Z", "first": "2011-02-18 16:35:00", "last": "2012-10-01 15:20:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2011-02-18 16:35:00", "timeframe": "5min"}, "rows": 50000, "sha256": "e9f49ad880962b78ee66c248a004adb481f5ee82578a0205df45bdb00ad45191"}
132 +{"author": "Simon-Pierre Boucher", "cache_key": "deb960e0b293d4e68982cc913e182d36", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/MSFT", "fetched_utc": "2026-08-12T06:24:47Z", "first": "2012-10-01 15:20:00", "last": "2014-06-02 18:35:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2012-10-01 15:20:00", "timeframe": "5min"}, "rows": 50000, "sha256": "8bf43a6fbcf72e08fab074ebbb73d165f48b4b1ccf0267a35aa34066884cf24e"}
133 +{"author": "Simon-Pierre Boucher", "cache_key": "5bf1b33079ebf9e83be773b3ddd9f4cd", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/MSFT", "fetched_utc": "2026-08-12T06:24:49Z", "first": "2014-06-02 18:35:00", "last": "2015-12-31 19:55:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2014-06-02 18:35:00", "timeframe": "5min"}, "rows": 46046, "sha256": "6b1b781044c6f43ebb3881301c2f8783d330c867758118aaf649fd5e089a5d83"}
134 +{"author": "Simon-Pierre Boucher", "cache_key": "399f21b71430f81b345187a400a90f9c", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/NVDA", "fetched_utc": "2026-08-12T06:24:49Z", "first": "2000-01-04", "last": "2007-12-31", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "1day"}, "rows": 2009, "sha256": "b1fd1aa7e54abc800cf549dabae97a1b4759814218de52adf0b2492ff7c0bcfb"}
135 +{"author": "Simon-Pierre Boucher", "cache_key": "005c1fe4e5458e222011db2853ddda2c", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/NVDA", "fetched_utc": "2026-08-12T06:24:51Z", "first": "2000-01-04 09:30:00", "last": "2007-12-31 18:00:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "30min"}, "rows": 39471, "sha256": "aeda1c3c61a4e52e3395f92376cd028c0c042b4eee511f483440cccf4879860b"}
136 +{"author": "Simon-Pierre Boucher", "cache_key": "096560001f50b968ecd659d7fdb0556f", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/NVDA", "fetched_utc": "2026-08-12T06:24:52Z", "first": "2000-01-04 09:30:00", "last": "2002-02-11 10:50:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "5min"}, "rows": 50000, "sha256": "16f10437d96831ac4de2037b032a6e3465d75d6dd1e234d79b4ce14647e43d83"}
137 +{"author": "Simon-Pierre Boucher", "cache_key": "119bffbf8c5986cf46db8fbd17a1c441", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/NVDA", "fetched_utc": "2026-08-12T06:24:54Z", "first": "2002-02-11 10:50:00", "last": "2003-12-03 11:00:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2002-02-11 10:50:00", "timeframe": "5min"}, "rows": 50000, "sha256": "e9d503a42fc9962bd22d190e912345bf7f03e8b622550c4eae9277bebc0df836"}
138 +{"author": "Simon-Pierre Boucher", "cache_key": "d45fff31638dc48a5a1400fea3e9f10a", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/NVDA", "fetched_utc": "2026-08-12T06:24:55Z", "first": "2003-12-03 11:00:00", "last": "2006-01-11 15:05:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2003-12-03 11:00:00", "timeframe": "5min"}, "rows": 50000, "sha256": "3fbb16456529aaeb2c898b98e7ddf94027e3bfdeaa4d34becad750f66bccd3db"}
139 +{"author": "Simon-Pierre Boucher", "cache_key": "5b260b1e73a520b4692e32a945a02118", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/NVDA", "fetched_utc": "2026-08-12T06:24:57Z", "first": "2006-01-11 15:05:00", "last": "2007-12-31 15:40:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2006-01-11 15:05:00", "timeframe": "5min"}, "rows": 50000, "sha256": "b06a2b730552d4b2ac34b04789215a2b33244e43b413a4abf5b8cb4a570c7e7d"}
140 +{"author": "Simon-Pierre Boucher", "cache_key": "400cf080487ceb4b166dbdaba12316a8", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/NVDA", "fetched_utc": "2026-08-12T06:24:57Z", "first": "2007-12-31 15:40:00", "last": "2007-12-31 18:20:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2007-12-31 15:40:00", "timeframe": "5min"}, "rows": 15, "sha256": "8f51f7a96285808fc9cec2b6fbbb20b8b6bd37eb7acac30ee653ee15332d7bed"}
141 +{"author": "Simon-Pierre Boucher", "cache_key": "3133774a8929d7df50ee5eb517f5ebdc", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/NVDA", "fetched_utc": "2026-08-12T06:24:58Z", "first": "2008-01-02", "last": "2015-12-31", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "1day"}, "rows": 2015, "sha256": "c8766c084f6935260634387704cef80cfe937a74e19259676d4ad1a555927b74"}
142 +{"author": "Simon-Pierre Boucher", "cache_key": "77f1fa1c244095a43f7580749a09b0c5", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/NVDA", "fetched_utc": "2026-08-12T06:24:59Z", "first": "2008-01-02 08:00:00", "last": "2015-12-31 16:30:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "30min"}, "rows": 41582, "sha256": "a14ccf3c895a3bfb6787d38a00557cd8d8e1db30ac6f8a824443c51db7616b0f"}
143 +{"author": "Simon-Pierre Boucher", "cache_key": "37309d285f2f931891ab7d20a77c460f", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/NVDA", "fetched_utc": "2026-08-12T06:25:01Z", "first": "2008-01-02 08:00:00", "last": "2009-11-20 15:15:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "5min"}, "rows": 50000, "sha256": "eae955704f1bb4adf59c3bfce4b9417568658363aa312e3fb455f99707a5cd31"}
144 +{"author": "Simon-Pierre Boucher", "cache_key": "74cdc6ce1447b2e6124275da9f19c184", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/NVDA", "fetched_utc": "2026-08-12T06:25:02Z", "first": "2009-11-20 15:15:00", "last": "2011-09-14 18:45:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2009-11-20 15:15:00", "timeframe": "5min"}, "rows": 50000, "sha256": "852a2fc5625dcc5b17784d118d640efd709c09771d4cee1353ba2378f114af27"}
145 +{"author": "Simon-Pierre Boucher", "cache_key": "eb2a23a8b60e24d8dbeff8a602e9d2a3", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/NVDA", "fetched_utc": "2026-08-12T06:25:04Z", "first": "2011-09-14 18:45:00", "last": "2013-10-04 12:15:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2011-09-14 18:45:00", "timeframe": "5min"}, "rows": 50000, "sha256": "0d3d669de947c9bf0b7a2543f030c15d66678c241d16c6e530724330b204fa37"}
146 +{"author": "Simon-Pierre Boucher", "cache_key": "9d240ed84c1c3ae90d73ff0b4f058f91", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/NVDA", "fetched_utc": "2026-08-12T06:25:05Z", "first": "2013-10-04 12:15:00", "last": "2015-12-31 16:50:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2013-10-04 12:15:00", "timeframe": "5min"}, "rows": 49227, "sha256": "b96c607bd0d46c13623dd6f327cb94c8a3ef60c85ab47b87a8ab074d99e54906"}
147 +{"author": "Simon-Pierre Boucher", "cache_key": "d32d791b019203795d51a9c0878a0caa", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/AMZN", "fetched_utc": "2026-08-12T06:25:06Z", "first": "2000-01-04", "last": "2007-12-31", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "1day"}, "rows": 2009, "sha256": "cba08d9e792530eaacdd0e8fb43106415dc80ff72927ddfc5a62b91aa0f36d6f"}
148 +{"author": "Simon-Pierre Boucher", "cache_key": "9d6774fd8346a80293825a4b04d52038", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/AMZN", "fetched_utc": "2026-08-12T06:25:07Z", "first": "2000-01-04 09:30:00", "last": "2007-12-31 19:00:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "30min"}, "rows": 40205, "sha256": "023c84bb4b2fcf0e595cc08e75c07aaf751387cdc206fca4d20e8b66fa4676e2"}
149 +{"author": "Simon-Pierre Boucher", "cache_key": "739256d826b53d5d0b09570128f59bb6", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/AMZN", "fetched_utc": "2026-08-12T06:25:09Z", "first": "2000-01-04 09:30:00", "last": "2002-01-02 13:00:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "5min"}, "rows": 50000, "sha256": "23805c22abd8a90307ac607da5459ff0b21a688e06493cf4215e76fa30019ab0"}
150 +{"author": "Simon-Pierre Boucher", "cache_key": "8101eb1471872cc1fc7d17d12328b17b", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/AMZN", "fetched_utc": "2026-08-12T06:25:10Z", "first": "2002-01-02 13:00:00", "last": "2003-11-21 16:25:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2002-01-02 13:00:00", "timeframe": "5min"}, "rows": 50000, "sha256": "b38a39e67f8ec402ffe77e190d419f16b9a3f4aef78cc7899f90dbad309debff"}
151 +{"author": "Simon-Pierre Boucher", "cache_key": "1be34237bce3c8a77b87ade32841a069", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/AMZN", "fetched_utc": "2026-08-12T06:25:12Z", "first": "2003-11-21 16:25:00", "last": "2005-11-16 18:20:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2003-11-21 16:25:00", "timeframe": "5min"}, "rows": 50000, "sha256": "e70c5702a6f7a70a5fa2024953878723beae43fb68af293f9132772935ae44f7"}
152 +{"author": "Simon-Pierre Boucher", "cache_key": "12d465373f6f8177599aa07dfd58d0ad", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/AMZN", "fetched_utc": "2026-08-12T06:25:13Z", "first": "2005-11-16 18:20:00", "last": "2007-11-09 09:55:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2005-11-16 18:20:00", "timeframe": "5min"}, "rows": 50000, "sha256": "3fa1ad978364c72789d87ce49bc9b3a19e63dedb903c9c34b293d27268ec9684"}
153 +{"author": "Simon-Pierre Boucher", "cache_key": "222a99a42cf6583a7dd1e7fa673413eb", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/AMZN", "fetched_utc": "2026-08-12T06:25:13Z", "first": "2007-11-09 09:55:00", "last": "2007-12-31 19:25:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2007-11-09 09:55:00", "timeframe": "5min"}, "rows": 3778, "sha256": "462e9ad210587e275cee574dceddc41dacd61bf8a21d9aa2e386b86d93cea35d"}
154 +{"author": "Simon-Pierre Boucher", "cache_key": "9be94f57b0ef053c55c61eb457b38fdc", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/AMZN", "fetched_utc": "2026-08-12T06:25:14Z", "first": "2008-01-02", "last": "2015-12-31", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "1day"}, "rows": 2015, "sha256": "e9035cc06ed3c9146f6ab68894c8146c59a7b6179952d4e79300fdb73a42c166"}
155 +{"author": "Simon-Pierre Boucher", "cache_key": "d9791ce6742f274c3ece6e0e654273d3", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/AMZN", "fetched_utc": "2026-08-12T06:25:15Z", "first": "2008-01-02 06:00:00", "last": "2015-12-31 19:30:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "30min"}, "rows": 49074, "sha256": "3456d1d5db28ee80f97eb8553c217b2f94124511481e546bf2a50170c9ddb0c9"}
156 +{"author": "Simon-Pierre Boucher", "cache_key": "76f397a4cfba37d7c7d6cef14f7f5d33", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/AMZN", "fetched_utc": "2026-08-12T06:25:17Z", "first": "2008-01-02 06:20:00", "last": "2009-10-29 12:15:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "5min"}, "rows": 50000, "sha256": "4a6cfeca1cebfc37beb5ed58427cb209053ccde75e492df05d6599f13dd64b1f"}
157 +{"author": "Simon-Pierre Boucher", "cache_key": "9a2ce04b2f62868f3d70d15c8c02ef8c", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/AMZN", "fetched_utc": "2026-08-12T06:25:19Z", "first": "2009-10-29 12:15:00", "last": "2011-07-12 18:00:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2009-10-29 12:15:00", "timeframe": "5min"}, "rows": 50000, "sha256": "c3c727627f7c335be300345795b61a77a03a5fc14da19583555c62579d9462f8"}
158 +{"author": "Simon-Pierre Boucher", "cache_key": "43078e18106db95238bb6b1776026dcb", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/AMZN", "fetched_utc": "2026-08-12T06:25:20Z", "first": "2011-07-12 18:00:00", "last": "2013-03-26 14:25:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2011-07-12 18:00:00", "timeframe": "5min"}, "rows": 50000, "sha256": "b4a3de4e838cee64dc1d736fe7dd167aace0cd22aa3aefd96f137c023527b907"}
159 +{"author": "Simon-Pierre Boucher", "cache_key": "b7387a59473f02b98449da2d05de14bb", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/AMZN", "fetched_utc": "2026-08-12T06:25:22Z", "first": "2013-03-26 14:25:00", "last": "2015-01-15 09:30:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2013-03-26 14:25:00", "timeframe": "5min"}, "rows": 50000, "sha256": "078f8227d82646d82ca19385e4769c0d07a87506206cb106fc16b6953d798679"}
160 +{"author": "Simon-Pierre Boucher", "cache_key": "40f48dddb6978007c7a6b2857888fdfd", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/AMZN", "fetched_utc": "2026-08-12T06:25:23Z", "first": "2015-01-15 09:30:00", "last": "2015-12-31 19:55:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2015-01-15 09:30:00", "timeframe": "5min"}, "rows": 27333, "sha256": "ead2135f62d1ffc2b54daf1fdbbf20275833cbb83137eec7a676db5db3063ade"}
161 +{"author": "Simon-Pierre Boucher", "cache_key": "52bc1e5177cbed4dd2f5f10036975ce3", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/GOOGL", "fetched_utc": "2026-08-12T06:25:23Z", "first": null, "last": null, "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "1day"}, "rows": 0, "sha256": "8062687d3dbe7963af9b2fa82e28bdbf5ce3aee72af33fa08113f6e5bf11df4e"}
162 +{"author": "Simon-Pierre Boucher", "cache_key": "dcd0a1c395e73887b636f6abe61116f5", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/GOOGL", "fetched_utc": "2026-08-12T06:25:23Z", "first": "2014-04-03", "last": "2015-12-31", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "1day"}, "rows": 441, "sha256": "5c68aec847028373c0060df8be6994390a840be19e6dde9c2c78467c32e5c9a7"}
163 +{"author": "Simon-Pierre Boucher", "cache_key": "6570b491dba4cb9cd83bb13ec16e0bcc", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/GOOGL", "fetched_utc": "2026-08-12T06:25:24Z", "first": "2014-04-03 06:30:00", "last": "2015-12-31 17:00:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "30min"}, "rows": 9204, "sha256": "0257c0fa5fce3566889ec943d2fb78785a6a25eae1ae0e80f00a13713cc0c5b9"}
164 +{"author": "Simon-Pierre Boucher", "cache_key": "61b83ebc121b053c2b363fd5da936855", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/GOOGL", "fetched_utc": "2026-08-12T06:25:25Z", "first": "2014-04-03 06:40:00", "last": "2015-12-31 17:05:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "5min"}, "rows": 42402, "sha256": "1aece4f55f19dc821e52929a3ebce84a7eab14bf9964feb9af0f90be77cb8224"}
165 +{"author": "Simon-Pierre Boucher", "cache_key": "b027aff1943c0ba21d89d182f4715257", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/META", "fetched_utc": "2026-08-12T06:25:25Z", "first": null, "last": null, "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "1day"}, "rows": 0, "sha256": "8062687d3dbe7963af9b2fa82e28bdbf5ce3aee72af33fa08113f6e5bf11df4e"}
166 +{"author": "Simon-Pierre Boucher", "cache_key": "7b8f64461681c1d71523c7c0b6000f6c", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/META", "fetched_utc": "2026-08-12T06:25:26Z", "first": "2012-05-21", "last": "2015-12-31", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "1day"}, "rows": 910, "sha256": "5fe04e908207c2dc31d1c56ca8981c0cccee0a1e6a67f333a4e87bddc436c938"}
167 +{"author": "Simon-Pierre Boucher", "cache_key": "0efa6fa14dd26a9698f580f96b3f7bae", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/META", "fetched_utc": "2026-08-12T06:25:26Z", "first": "2012-05-21 04:00:00", "last": "2015-12-31 19:30:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "30min"}, "rows": 27426, "sha256": "f61a6b25e5a97bde14d7f9f09bfad68a44efd7377ed6e3b8919aecde3cfc4a66"}
168 +{"author": "Simon-Pierre Boucher", "cache_key": "153b532d5b3feaac8aa8c0ec411ef2a8", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/META", "fetched_utc": "2026-08-12T06:25:28Z", "first": "2012-05-21 04:00:00", "last": "2013-09-04 10:40:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "5min"}, "rows": 50000, "sha256": "c0b7dc194ad0fe811c6a098ebd250e7390f21ed7d59011c91deb2f87d91d4a7e"}
169 +{"author": "Simon-Pierre Boucher", "cache_key": "523d25ad37eb30aca4a638aa33559861", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/META", "fetched_utc": "2026-08-12T06:25:29Z", "first": "2013-09-04 10:40:00", "last": "2014-11-07 07:30:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2013-09-04 10:40:00", "timeframe": "5min"}, "rows": 50000, "sha256": "33d0f4b3d8549a9c07b0306850506097350fdca76d8144ff00dd469a808eb0f2"}
170 +{"author": "Simon-Pierre Boucher", "cache_key": "ced1ad050d62af14882bad8b3bb36a52", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/META", "fetched_utc": "2026-08-12T06:25:31Z", "first": "2014-11-07 07:30:00", "last": "2015-12-31 19:55:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2014-11-07 07:30:00", "timeframe": "5min"}, "rows": 44869, "sha256": "8d414c03acb3beb39eef5d5d2f75f2550c7ea0943ba78d8dbb0dda953ae6914a"}
171 +{"author": "Simon-Pierre Boucher", "cache_key": "76402a0871c162a046c089da143e9015", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/TSLA", "fetched_utc": "2026-08-12T06:25:31Z", "first": null, "last": null, "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "1day"}, "rows": 0, "sha256": "8062687d3dbe7963af9b2fa82e28bdbf5ce3aee72af33fa08113f6e5bf11df4e"}
172 +{"author": "Simon-Pierre Boucher", "cache_key": "6f2d6d2d50757e58d86851934cabc831", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/TSLA", "fetched_utc": "2026-08-12T06:25:31Z", "first": "2010-06-30", "last": "2015-12-31", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "1day"}, "rows": 1387, "sha256": "a7d6f93a6866a747499478dfd6856baf0768e53896a119c354fd89099cae4048"}
173 +{"author": "Simon-Pierre Boucher", "cache_key": "7ab5a3e0437d34e308bfeaf91808db6a", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/TSLA", "fetched_utc": "2026-08-12T06:25:32Z", "first": "2010-06-30 06:00:00", "last": "2015-12-31 19:30:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "30min"}, "rows": 31429, "sha256": "7a749381e3e9d19b8b5c0d526d72f7e945eedfe67681ee5e185258e7488dafe4"}
174 +{"author": "Simon-Pierre Boucher", "cache_key": "57b8517f36f32245faaa20da65084d1d", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/TSLA", "fetched_utc": "2026-08-12T06:25:34Z", "first": "2010-06-30 06:20:00", "last": "2012-10-15 12:05:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "5min"}, "rows": 50000, "sha256": "304d0c8a6444485c96863d739d8e8de68413e2bb497b6ce1fea4b4ee5e16b918"}
175 +{"author": "Simon-Pierre Boucher", "cache_key": "ccf363410bde0f2722e01a4de1cc2bee", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/TSLA", "fetched_utc": "2026-08-12T06:25:35Z", "first": "2012-10-15 12:05:00", "last": "2014-05-21 14:50:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2012-10-15 12:05:00", "timeframe": "5min"}, "rows": 50000, "sha256": "1fa0abbd212915f7d8f6f291f867e8c898a9ad015c59bab8b1e0978b85c8df0e"}
176 +{"author": "Simon-Pierre Boucher", "cache_key": "a5e98867236c2068b0196ed6efa87657", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/TSLA", "fetched_utc": "2026-08-12T06:25:37Z", "first": "2014-05-21 14:50:00", "last": "2015-12-14 08:35:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2014-05-21 14:50:00", "timeframe": "5min"}, "rows": 50000, "sha256": "f1aee6a84af7d34fc1a932c9da76baaf469c356aff6cc3e75dc8e7ba77c7734d"}
177 +{"author": "Simon-Pierre Boucher", "cache_key": "a8ebcd769fee28d36d74ab689dd9011a", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/TSLA", "fetched_utc": "2026-08-12T06:25:37Z", "first": "2015-12-14 08:35:00", "last": "2015-12-31 19:30:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2015-12-14 08:35:00", "timeframe": "5min"}, "rows": 1279, "sha256": "66daeb788d5eed7be712f77f4ece42c4c714d4fcf189823e24efaa60c2d1e1e7"}
178 +{"author": "Simon-Pierre Boucher", "cache_key": "1b96742a8f4ec1d4cc58faab0fd31052", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/JPM", "fetched_utc": "2026-08-12T06:25:37Z", "first": "2000-06-12", "last": "2007-12-31", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "1day"}, "rows": 1899, "sha256": "5149582714f5c081e86c839e6e3a9313f5cab725bcdbdfae95d78968d54c6be8"}
179 +{"author": "Simon-Pierre Boucher", "cache_key": "1e986cceaff66fd34edd5cc6ac5a73ab", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/JPM", "fetched_utc": "2026-08-12T06:25:38Z", "first": "2000-06-12 09:30:00", "last": "2007-12-31 18:00:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "30min"}, "rows": 31659, "sha256": "f431402b694802e2e0438176870fe450f13e661dfe41166d9268848785c1ebdd"}
180 +{"author": "Simon-Pierre Boucher", "cache_key": "89f03d578442094a953e02a44ce61ba0", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/JPM", "fetched_utc": "2026-08-12T06:25:40Z", "first": "2000-06-12 09:30:00", "last": "2002-11-01 15:10:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "5min"}, "rows": 50000, "sha256": "46a7d1d835320e4ecd9e71f461e5d038e713c1a7c288334ab4873cc13e94ba0b"}
181 +{"author": "Simon-Pierre Boucher", "cache_key": "d0ca16416e83320547b41af305aef563", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/JPM", "fetched_utc": "2026-08-12T06:25:41Z", "first": "2002-11-01 15:10:00", "last": "2005-02-11 11:25:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2002-11-01 15:10:00", "timeframe": "5min"}, "rows": 50000, "sha256": "5c5662e38d8a643b99e3e238841cf047c8b5bb19bd1beca7ed67fc259f236a60"}
182 +{"author": "Simon-Pierre Boucher", "cache_key": "cba68fb4384905f2f9a83942fc3bca29", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/JPM", "fetched_utc": "2026-08-12T06:25:43Z", "first": "2005-02-11 11:25:00", "last": "2007-06-15 11:25:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2005-02-11 11:25:00", "timeframe": "5min"}, "rows": 50000, "sha256": "0d7cd3db965ae015a09e1b98712115cb155f6ece4455c230093821b3ad82009d"}
183 +{"author": "Simon-Pierre Boucher", "cache_key": "824f71c7936f75d87d95b7e7082b6838", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/JPM", "fetched_utc": "2026-08-12T06:25:43Z", "first": "2007-06-15 11:25:00", "last": "2007-12-31 18:25:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2007-06-15 11:25:00", "timeframe": "5min"}, "rows": 12112, "sha256": "6a612fc938d0a276fdca550b568f472fb801bc4001709e4733abd084f44e085b"}
184 +{"author": "Simon-Pierre Boucher", "cache_key": "2a886117d7488fb2f5b293aa6680da82", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/JPM", "fetched_utc": "2026-08-12T06:25:44Z", "first": "2008-01-02", "last": "2015-12-31", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "1day"}, "rows": 2015, "sha256": "91398dbf3e55260285149552504e427165712240adf1b7606d319eccbefb77d8"}
185 +{"author": "Simon-Pierre Boucher", "cache_key": "96375e6c4265cad2c85168f533c62aec", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/JPM", "fetched_utc": "2026-08-12T06:25:45Z", "first": "2008-01-02 08:00:00", "last": "2015-12-31 18:30:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "30min"}, "rows": 48947, "sha256": "e8c2afbe81b3c313f0232086173ba7bb01b7a77b0fd8acef4a79dd0821f6451b"}
186 +{"author": "Simon-Pierre Boucher", "cache_key": "b0edabbf2e57578791df85ebb3221be7", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/JPM", "fetched_utc": "2026-08-12T06:25:47Z", "first": "2008-01-02 08:00:00", "last": "2009-07-28 18:45:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "5min"}, "rows": 50000, "sha256": "a0a2993cd7b2b0d80c6659ef264f016fa7be570f43e2ff9c37b6616e7a250d20"}
187 +{"author": "Simon-Pierre Boucher", "cache_key": "2a7927638f2606fd3f2788765da71ca7", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/JPM", "fetched_utc": "2026-08-12T06:25:48Z", "first": "2009-07-28 18:45:00", "last": "2011-02-17 12:45:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2009-07-28 18:45:00", "timeframe": "5min"}, "rows": 50000, "sha256": "e3e54b2f76b69b3cc867818225ff6758cbb8aa0d651176d339f3c1cf7b560764"}
188 +{"author": "Simon-Pierre Boucher", "cache_key": "16547f66f0e952fccc5c78a70b6e375f", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/JPM", "fetched_utc": "2026-08-12T06:25:50Z", "first": "2011-02-17 12:45:00", "last": "2012-09-20 14:05:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2011-02-17 12:45:00", "timeframe": "5min"}, "rows": 50000, "sha256": "622657a13dfccefcc6824e4d56c7230bbac919626e9617b6f396c45718e350ab"}
189 +{"author": "Simon-Pierre Boucher", "cache_key": "5050fa25ed397fe958620d4102295cdd", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/JPM", "fetched_utc": "2026-08-12T06:25:51Z", "first": "2012-09-20 14:05:00", "last": "2014-07-15 14:50:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2012-09-20 14:05:00", "timeframe": "5min"}, "rows": 50000, "sha256": "5e13e9a240f89c6405bc16ea9c4444c82f841e4427cd5bf422bb17c615480a03"}
190 +{"author": "Simon-Pierre Boucher", "cache_key": "7f7cf0bdeb0771462640d4df77707a3e", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/JPM", "fetched_utc": "2026-08-12T06:25:52Z", "first": "2014-07-15 14:50:00", "last": "2015-12-31 18:45:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2014-07-15 14:50:00", "timeframe": "5min"}, "rows": 37078, "sha256": "33db88f6b8e9677b581feb800f82d01742db365133e3902ec19fe101eef6c71f"}
191 +{"author": "Simon-Pierre Boucher", "cache_key": "738d1d157eb0febfdfd3c4d2d18657a5", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/XOM", "fetched_utc": "2026-08-12T06:25:53Z", "first": "2000-01-04", "last": "2007-12-31", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "1day"}, "rows": 2009, "sha256": "9637041d3cfd6654bf716faa84110612caab875e1aa0b052e5d10a7886b2e9d0"}
192 +{"author": "Simon-Pierre Boucher", "cache_key": "3a9a37ce8e59efb416b81d49eccbb295", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/XOM", "fetched_utc": "2026-08-12T06:25:54Z", "first": "2000-01-04 09:30:00", "last": "2007-12-31 19:00:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "30min"}, "rows": 35816, "sha256": "c6747c07750cbb197cdcd3116ea0ee86a25d7e193a4774530bfb04bdd46f14d5"}
193 +{"author": "Simon-Pierre Boucher", "cache_key": "3600687f30a2e93674ee80fe08cf129e", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/XOM", "fetched_utc": "2026-08-12T06:25:55Z", "first": "2000-01-04 09:30:00", "last": "2002-05-28 16:15:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "5min"}, "rows": 50000, "sha256": "9d7b1d21eab673f536b4abcb765779cc29f14ebf4e1d129b8034a5b369a0f8bb"}
194 +{"author": "Simon-Pierre Boucher", "cache_key": "df21cb8926840fdd42cba7bc8004ea95", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/XOM", "fetched_utc": "2026-08-12T06:25:57Z", "first": "2002-05-28 16:15:00", "last": "2004-09-10 12:00:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2002-05-28 16:15:00", "timeframe": "5min"}, "rows": 50000, "sha256": "42a9394a2a77056f184e75f7c332d2f8b7dd444a1db402487d4d4ef17dbe35b1"}
195 +{"author": "Simon-Pierre Boucher", "cache_key": "855919faa6e234f98285dac7b96a5ef6", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/XOM", "fetched_utc": "2026-08-12T06:25:58Z", "first": "2004-09-10 12:00:00", "last": "2006-09-25 10:10:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2004-09-10 12:00:00", "timeframe": "5min"}, "rows": 50000, "sha256": "97de803229122a3b7b860c4cc50d03ff37aa84be76e9b338ceb95ce2b89045f4"}
196 +{"author": "Simon-Pierre Boucher", "cache_key": "7236fa14ba620d8e7f0cbc3e1c48948b", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/XOM", "fetched_utc": "2026-08-12T06:25:59Z", "first": "2006-09-25 10:10:00", "last": "2007-12-31 19:15:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2006-09-25 10:10:00", "timeframe": "5min"}, "rows": 29862, "sha256": "c64d65cbd9565d7511000dec924464d5629eaed32d5be9f1950a766116ae825e"}
197 +{"author": "Simon-Pierre Boucher", "cache_key": "e53704e3714009a48854efc10219cb4f", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/XOM", "fetched_utc": "2026-08-12T06:26:00Z", "first": "2008-01-02", "last": "2015-12-31", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "1day"}, "rows": 2015, "sha256": "6e5238a423f20adacb783c0155d150a1748b420e62bbee79e8f25526653126ae"}
198 +{"author": "Simon-Pierre Boucher", "cache_key": "f0890e9d76564065611d7046379d8346", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/XOM", "fetched_utc": "2026-08-12T06:26:01Z", "first": "2008-01-02 07:30:00", "last": "2015-12-31 18:30:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "30min"}, "rows": 46525, "sha256": "a0194a4de360ae750f3acee3741c6b99dd28e4e2e9e9bb01621624b312723e32"}
199 +{"author": "Simon-Pierre Boucher", "cache_key": "8f3d1f1a6715830512586efca2d8da39", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/XOM", "fetched_utc": "2026-08-12T06:26:03Z", "first": "2008-01-02 07:30:00", "last": "2009-10-01 09:00:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "5min"}, "rows": 50000, "sha256": "f675b1d89bdfb5943ec315e0d7170395adec8ae5f5ff9d32df035f3d06b8fc3f"}
200 +{"author": "Simon-Pierre Boucher", "cache_key": "cf53d16c3f2df64f0c736717834aa995", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/XOM", "fetched_utc": "2026-08-12T06:26:04Z", "first": "2009-10-01 09:00:00", "last": "2011-06-28 09:45:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2009-10-01 09:00:00", "timeframe": "5min"}, "rows": 50000, "sha256": "a3e813a2ab118205569f972f34f0c07870846b5a7ec907b0a6f49285d6700a31"}
201 +{"author": "Simon-Pierre Boucher", "cache_key": "a1540f7b496cd2dc1b733daa6a51168f", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/XOM", "fetched_utc": "2026-08-12T06:26:06Z", "first": "2011-06-28 09:45:00", "last": "2013-05-31 12:35:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2011-06-28 09:45:00", "timeframe": "5min"}, "rows": 50000, "sha256": "c3e936b5f10b1d360d1fb61cff936c32ab08d0ba050bd50191f7b1a4a4bf067f"}
202 +{"author": "Simon-Pierre Boucher", "cache_key": "59d44db089346d19b364881fd03997d6", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/XOM", "fetched_utc": "2026-08-12T06:26:07Z", "first": "2013-05-31 12:35:00", "last": "2015-05-28 13:25:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2013-05-31 12:35:00", "timeframe": "5min"}, "rows": 50000, "sha256": "72b6378ac8d5639d566bca707006420ee29980b3c01d3ebf835d4ca97cbe7ef8"}
203 +{"author": "Simon-Pierre Boucher", "cache_key": "3d82071e856df94b7641a2739cdab24b", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/XOM", "fetched_utc": "2026-08-12T06:26:08Z", "first": "2015-05-28 13:25:00", "last": "2015-12-31 18:30:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2015-05-28 13:25:00", "timeframe": "5min"}, "rows": 15963, "sha256": "f6453f4a4a167bb51bd7f3df1d4e06819318a740eb6a89e3911a77d3613a5cc1"}
204 +{"author": "Simon-Pierre Boucher", "cache_key": "a59f747d181f9925ad6db092474af29f", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/UNH", "fetched_utc": "2026-08-12T06:26:08Z", "first": "2000-01-04", "last": "2007-12-31", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "1day"}, "rows": 2009, "sha256": "dd54cae45e7a04fd65b98b80ea229cc81289fe19110084fed681663f44af246a"}
205 +{"author": "Simon-Pierre Boucher", "cache_key": "7d253c71ce497d43c45b5e02e724de05", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/UNH", "fetched_utc": "2026-08-12T06:26:09Z", "first": "2000-01-04 09:30:00", "last": "2007-12-31 18:00:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "30min"}, "rows": 32066, "sha256": "ea503da1f471ef287427013e82c5c6d56ea846b6feb063c9e4fcdd5fbf7b1adc"}
206 +{"author": "Simon-Pierre Boucher", "cache_key": "64a0dbb55dee96f18368a06b58319ea6", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/UNH", "fetched_utc": "2026-08-12T06:26:11Z", "first": "2000-01-04 09:30:00", "last": "2002-07-02 13:05:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "5min"}, "rows": 50000, "sha256": "11ab90f249758614ba40a503eb5f7fefd4f9fc46b5e6618827c62e5b06d1aedd"}
207 +{"author": "Simon-Pierre Boucher", "cache_key": "266ddaf8d7011fc6ea036ed50c01c30d", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/UNH", "fetched_utc": "2026-08-12T06:26:13Z", "first": "2002-07-02 13:05:00", "last": "2004-12-02 15:50:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2002-07-02 13:05:00", "timeframe": "5min"}, "rows": 50000, "sha256": "1412692eee4667f61f4d5b1eb4b684e8c0807486e4e3a8dd3890e92462826d59"}
208 +{"author": "Simon-Pierre Boucher", "cache_key": "99b0a3a58b76a1090ec1422054924d68", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/UNH", "fetched_utc": "2026-08-12T06:26:14Z", "first": "2004-12-02 15:50:00", "last": "2007-03-14 09:50:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2004-12-02 15:50:00", "timeframe": "5min"}, "rows": 50000, "sha256": "a5d1379faea5a3e69e29d38543638f25f64ed0739567f9fea30b20d5d1639a1a"}
209 +{"author": "Simon-Pierre Boucher", "cache_key": "8886d4284a3f4b4b93e1c8064cb29016", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/UNH", "fetched_utc": "2026-08-12T06:26:15Z", "first": "2007-03-14 09:50:00", "last": "2007-12-31 18:20:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2007-03-14 09:50:00", "timeframe": "5min"}, "rows": 17100, "sha256": "3fe560add281f293b3e83651a82b1c1918569bbfad17c306b2ed5d455fc8528a"}
210 +{"author": "Simon-Pierre Boucher", "cache_key": "b0e49e2d124eec824f8f60ab7c5cc034", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/UNH", "fetched_utc": "2026-08-12T06:26:15Z", "first": "2008-01-02", "last": "2015-12-31", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "1day"}, "rows": 2015, "sha256": "1bbb27dcee692a55f3c28b3aa20c0de89e1fae29a10165c564ee605a70c8788b"}
211 +{"author": "Simon-Pierre Boucher", "cache_key": "704081892f57691ea21bd12becc5df03", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/UNH", "fetched_utc": "2026-08-12T06:26:16Z", "first": "2008-01-02 07:30:00", "last": "2015-12-31 16:00:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "30min"}, "rows": 34131, "sha256": "1264d7c51d733d72eaf9d4881d675bb8f07119d2f0b2b1d5a7465ee04ae5ba58"}
212 +{"author": "Simon-Pierre Boucher", "cache_key": "bf6ee440e8d4ebb79a726e9f6de32667", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/UNH", "fetched_utc": "2026-08-12T06:26:18Z", "first": "2008-01-02 07:50:00", "last": "2010-03-18 14:40:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "5min"}, "rows": 50000, "sha256": "b0e470b13638c9ea9c9bbc35dfbbbe1ed95c1c8d642a915bb8ad5cc5a1a7d2a3"}
213 +{"author": "Simon-Pierre Boucher", "cache_key": "160ca9186c3966259987264c32986f8b", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/UNH", "fetched_utc": "2026-08-12T06:26:19Z", "first": "2010-03-18 14:40:00", "last": "2012-07-20 10:40:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2010-03-18 14:40:00", "timeframe": "5min"}, "rows": 50000, "sha256": "19a37c1481dd9751684ffd1cacabfcb6baaaacc5b348ad9dc4ce6799712096c3"}
214 +{"author": "Simon-Pierre Boucher", "cache_key": "1fb4cfdf69498661e9cfac3d5d6adbed", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/UNH", "fetched_utc": "2026-08-12T06:26:21Z", "first": "2012-07-20 10:40:00", "last": "2014-12-15 14:25:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2012-07-20 10:40:00", "timeframe": "5min"}, "rows": 50000, "sha256": "e4c994bda78e9fcd11c26aee94ea1e27f3dfc4fabd0f7b87d21b9c2d2af19b1c"}
215 +{"author": "Simon-Pierre Boucher", "cache_key": "1686df0fc1d45099ebf85b5c7904dfc7", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/UNH", "fetched_utc": "2026-08-12T06:26:21Z", "first": "2014-12-15 14:25:00", "last": "2015-12-31 16:00:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2014-12-15 14:25:00", "timeframe": "5min"}, "rows": 22402, "sha256": "e155a380a8a0f0471a17de3c44bd72345ef9163a6c12ea6ecdfccd5e96e6ddbe"}
216 +{"author": "Simon-Pierre Boucher", "cache_key": "b0ef5d8b1d7931afa0b24a3a21f26e34", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/etf/SPY", "fetched_utc": "2026-08-12T06:26:22Z", "first": "2000-01-03", "last": "2007-12-31", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "1day"}, "rows": 2010, "sha256": "b6334dfb98846f3dee4ce8bf52787e85b180eb699d4df50365e8e9d7c040c0ae"}
217 +{"author": "Simon-Pierre Boucher", "cache_key": "faca4d62b41fdd9cb3e6f647658c03bb", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/etf/SPY", "fetched_utc": "2026-08-12T06:26:23Z", "first": "2000-01-03 09:30:00", "last": "2007-12-31 19:30:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "30min"}, "rows": 44103, "sha256": "1b60b3296c3f18ddacaf8154a74cb5be26c19a8109294000a26a6e5fc87b4a8e"}
218 +{"author": "Simon-Pierre Boucher", "cache_key": "74f9d2bee4c25cab6b20892a8c685c26", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/etf/SPY", "fetched_utc": "2026-08-12T06:26:25Z", "first": "2000-01-03 09:30:00", "last": "2002-04-22 14:55:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "5min"}, "rows": 50000, "sha256": "6eec53ec4125efd23c13e8d5e9e9007ea2a202195443189f904b2fef78c076ec"}
219 +{"author": "Simon-Pierre Boucher", "cache_key": "751dacd6b0f17b96eaa9f94d61a4fbf5", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/etf/SPY", "fetched_utc": "2026-08-12T06:26:26Z", "first": "2002-04-22 14:55:00", "last": "2004-01-20 18:45:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2002-04-22 14:55:00", "timeframe": "5min"}, "rows": 50000, "sha256": "5c0da2256424d3534312d9d2164e67dcf14c8a4b6faa52e25a7b53a858d5c92a"}
220 +{"author": "Simon-Pierre Boucher", "cache_key": "ba8d993a79bd63a0b242174655647c97", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/etf/SPY", "fetched_utc": "2026-08-12T06:26:28Z", "first": "2004-01-20 18:45:00", "last": "2005-09-01 18:05:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2004-01-20 18:45:00", "timeframe": "5min"}, "rows": 50000, "sha256": "c067bea5dc1537392705d0a2138338266d7522b1c0d2c7fe9f0462d345090a55"}
221 +{"author": "Simon-Pierre Boucher", "cache_key": "f51ef0f4b155436ea5bb9ee8fcc594cd", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/etf/SPY", "fetched_utc": "2026-08-12T06:26:29Z", "first": "2005-09-01 18:05:00", "last": "2007-03-12 13:10:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2005-09-01 18:05:00", "timeframe": "5min"}, "rows": 50000, "sha256": "0746c545f3e5dd754ab1eac335190adc034ed00d3400ebbf7a695c550e63347d"}
222 +{"author": "Simon-Pierre Boucher", "cache_key": "862038c065cea44abbda6b6edf898f34", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/etf/SPY", "fetched_utc": "2026-08-12T06:26:30Z", "first": "2007-03-12 13:10:00", "last": "2007-12-31 19:55:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2007-03-12 13:10:00", "timeframe": "5min"}, "rows": 30936, "sha256": "ddd5e1107bb42ec597ebb7d7594ddc2d129b44e2ced6bd68ece2b14c367b6327"}
223 +{"author": "Simon-Pierre Boucher", "cache_key": "06019edcb8d86f6cbd5af408bfaa5f34", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/etf/SPY", "fetched_utc": "2026-08-12T06:26:31Z", "first": "2008-01-02", "last": "2015-12-31", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "1day"}, "rows": 2015, "sha256": "64d2e63191a6409d536d0b51b0c46b5ca6883735eeae50093e0df0404a8f9ba6"}
224 +{"author": "Simon-Pierre Boucher", "cache_key": "1ceb125f629abde8615933635dbdcd30", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/etf/SPY", "fetched_utc": "2026-08-12T06:26:33Z", "first": "2008-01-02 06:00:00", "last": "2014-04-14 07:30:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "30min"}, "rows": 50000, "sha256": "c7b9d79f34c7a57d17701003469afaea84a6afdd8aae448fd14f72c08c8df2f0"}
225 +{"author": "Simon-Pierre Boucher", "cache_key": "dabb2d1d437b9714c8b4ca303645bf80", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/etf/SPY", "fetched_utc": "2026-08-12T06:26:33Z", "first": "2014-04-14 07:30:00", "last": "2015-12-31 19:30:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2014-04-14 07:30:00", "timeframe": "30min"}, "rows": 13805, "sha256": "a9b8ca014b2674c9a9d0a979dac2206b647c95260a402d3ae23edbe4b845a473"}
226 +{"author": "Simon-Pierre Boucher", "cache_key": "df3b91cfb55dc31bb55637fca044e169", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/etf/SPY", "fetched_utc": "2026-08-12T06:26:35Z", "first": "2008-01-02 06:05:00", "last": "2009-03-10 17:30:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "5min"}, "rows": 50000, "sha256": "ad190a1b14437cc8130af0a764d1d1374b78c68c451f33eff575f0715d818426"}
227 +{"author": "Simon-Pierre Boucher", "cache_key": "c510e150dec41f0a7b83bc727c3eaf6a", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/etf/SPY", "fetched_utc": "2026-08-12T06:26:37Z", "first": "2009-03-10 17:30:00", "last": "2010-05-06 14:20:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2009-03-10 17:30:00", "timeframe": "5min"}, "rows": 50000, "sha256": "76daaef7f6b715eb91eaeab37417bbb5e5022ca90081b23eb6754c414e824f92"}
228 +{"author": "Simon-Pierre Boucher", "cache_key": "43f14d3cc72ca240a086f806e33b6544", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/etf/SPY", "fetched_utc": "2026-08-12T06:26:38Z", "first": "2010-05-06 14:20:00", "last": "2011-06-23 10:50:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2010-05-06 14:20:00", "timeframe": "5min"}, "rows": 50000, "sha256": "e218256cd5c42747ade9168b723aab1ae762e776526361298e1417f58d56ef99"}
229 +{"author": "Simon-Pierre Boucher", "cache_key": "8b038d343f212f7ec17db43438cdfcff", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/etf/SPY", "fetched_utc": "2026-08-12T06:26:40Z", "first": "2011-06-23 10:50:00", "last": "2012-07-27 18:35:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2011-06-23 10:50:00", "timeframe": "5min"}, "rows": 50000, "sha256": "a5168ea8d33f98a2fb051081533a6e30f258a610a75161606874e33984f14080"}
230 +{"author": "Simon-Pierre Boucher", "cache_key": "1dc61441c1bf4c9da0703ca567fcffb1", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/etf/SPY", "fetched_utc": "2026-08-12T06:26:42Z", "first": "2012-07-27 18:35:00", "last": "2013-09-12 12:40:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2012-07-27 18:35:00", "timeframe": "5min"}, "rows": 50000, "sha256": "86ed9b705a43f9511757a61f5fa05a87ad0df33f58aa3de1f72334a70013f33b"}
231 +{"author": "Simon-Pierre Boucher", "cache_key": "796e3372f8c11a3c55b27eace26a79d7", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/etf/SPY", "fetched_utc": "2026-08-12T06:26:43Z", "first": "2013-09-12 12:40:00", "last": "2014-10-21 18:25:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2013-09-12 12:40:00", "timeframe": "5min"}, "rows": 50000, "sha256": "863a7c0f36f0bc8ae92d5cb7a4c35f284b69475c77b45b82add87bb2a8d0d4a1"}
232 +{"author": "Simon-Pierre Boucher", "cache_key": "d86f7016d39028ce660e16a40acd40bf", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/etf/SPY", "fetched_utc": "2026-08-12T06:26:45Z", "first": "2014-10-21 18:25:00", "last": "2015-11-23 13:15:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2014-10-21 18:25:00", "timeframe": "5min"}, "rows": 50000, "sha256": "b0cc34b1a3f398e8c16c4c1497567fccd515fe36868abdbddd4bf2a26aea3c61"}
233 +{"author": "Simon-Pierre Boucher", "cache_key": "5a9ddfd44019a7cab937f85351a1a6ab", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/etf/SPY", "fetched_utc": "2026-08-12T06:26:45Z", "first": "2015-11-23 13:15:00", "last": "2015-12-31 19:55:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2015-11-23 13:15:00", "timeframe": "5min"}, "rows": 4816, "sha256": "afb8c72a304c060c88df2ed0848d701dd372448d20386a9cae42d8427d97a418"}
234 +{"author": "Simon-Pierre Boucher", "cache_key": "70815d878c6f55a10e5f92a4ec3ebcce", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/etf/QQQ", "fetched_utc": "2026-08-12T06:26:46Z", "first": "2000-02-28", "last": "2007-12-31", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "1day"}, "rows": 1973, "sha256": "8db7f7d3184fedcd4861e68421050e3cf412ba93fa0c23ca5025e21e498b30c2"}
235 +{"author": "Simon-Pierre Boucher", "cache_key": "eb3c0332f961e654ea9add0ee4bf35e7", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/etf/QQQ", "fetched_utc": "2026-08-12T06:26:47Z", "first": "2000-01-03 09:30:00", "last": "2007-12-31 19:30:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "30min"}, "rows": 38876, "sha256": "5b6aa852b739f440a83ad8c116e064128dd638fe638fe9cd8d17553cae21673c"}
236 +{"author": "Simon-Pierre Boucher", "cache_key": "6688512b3bd630ba97302a3d9b774709", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/etf/QQQ", "fetched_utc": "2026-08-12T06:26:48Z", "first": "2000-01-03 09:30:00", "last": "2001-12-27 12:35:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "5min"}, "rows": 50000, "sha256": "a0f43de78b1d771d7b4a4fa1b8bab9542d03da0269e1c523e6775c0207679dee"}
237 +{"author": "Simon-Pierre Boucher", "cache_key": "544e0e1d1dd8bbdc31f5742d1f1fc351", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/etf/QQQ", "fetched_utc": "2026-08-12T06:26:50Z", "first": "2001-12-27 12:35:00", "last": "2003-09-02 18:20:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2001-12-27 12:35:00", "timeframe": "5min"}, "rows": 50000, "sha256": "8972417f70037b108dc674f85ecf144c9c5d03b3d361870e41cab2a0e611d473"}
238 +{"author": "Simon-Pierre Boucher", "cache_key": "a0ff77b8ee66f63acd5f9e28a0363cc5", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/etf/QQQ", "fetched_utc": "2026-08-12T06:26:52Z", "first": "2003-09-02 18:20:00", "last": "2005-04-19 10:20:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2003-09-02 18:20:00", "timeframe": "5min"}, "rows": 50000, "sha256": "8fc473f53912ff8ca7bd499cbebae648aab763a48e82a8fc18ef7b9fef5baab5"}
239 +{"author": "Simon-Pierre Boucher", "cache_key": "e50437533e23a9af225227ec0aa2973a", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/etf/QQQ", "fetched_utc": "2026-08-12T06:26:53Z", "first": "2005-04-19 10:20:00", "last": "2007-06-19 15:30:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2005-04-19 10:20:00", "timeframe": "5min"}, "rows": 50000, "sha256": "76bffd2b3b7d6fab9e621ee4af11e12936e8d818b4563d8fbbd074ecedc90b0d"}
240 +{"author": "Simon-Pierre Boucher", "cache_key": "d6741cd58311470acae4eaa196fd5136", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/etf/QQQ", "fetched_utc": "2026-08-12T06:26:54Z", "first": "2007-06-19 15:30:00", "last": "2007-12-31 19:55:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2007-06-19 15:30:00", "timeframe": "5min"}, "rows": 19965, "sha256": "8e5b2cdb24df8cf73e2ad16bd66a2caadbc9a8c3560e35e90048c8d386553972"}
241 +{"author": "Simon-Pierre Boucher", "cache_key": "6f13f626daa47e706be7fa7bed9f41c7", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/etf/QQQ", "fetched_utc": "2026-08-12T06:26:54Z", "first": "2008-01-02", "last": "2015-12-31", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "1day"}, "rows": 2015, "sha256": "8be62b68b8c1ca10bf2621a7cbbc60b531986e35107a1904a4d55a0f4399bee7"}
242 +{"author": "Simon-Pierre Boucher", "cache_key": "2b400a09f9f834ec374b9bd6d1c20bfd", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/etf/QQQ", "fetched_utc": "2026-08-12T06:26:56Z", "first": "2008-01-02 06:30:00", "last": "2014-09-15 10:30:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "30min"}, "rows": 50000, "sha256": "d0be815d621c67ca92ed6812c80db5c2f0f02f8ab6174612e89763fc9e130ea1"}
243 +{"author": "Simon-Pierre Boucher", "cache_key": "96f91cf0a764856e657fc5ecf0fa26e2", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/etf/QQQ", "fetched_utc": "2026-08-12T06:26:56Z", "first": "2014-09-15 10:30:00", "last": "2015-12-31 19:30:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2014-09-15 10:30:00", "timeframe": "30min"}, "rows": 9820, "sha256": "b7be6d4fa539204c041380e98fd393d8712f275e1c2a80139bb9d4ce013efea4"}
244 +{"author": "Simon-Pierre Boucher", "cache_key": "8d09b360788a524070d10d345ede30be", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/etf/QQQ", "fetched_utc": "2026-08-12T06:26:58Z", "first": "2008-01-02 06:50:00", "last": "2009-04-15 06:20:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "5min"}, "rows": 50000, "sha256": "8f140134cd2376e0ce1d14979b3ec6ac2a6b72e47937844ec0c7616f62263a66"}
245 +{"author": "Simon-Pierre Boucher", "cache_key": "3d7fd476ab661073dc4842098346a3b2", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/etf/QQQ", "fetched_utc": "2026-08-12T06:27:00Z", "first": "2009-04-15 06:20:00", "last": "2010-08-04 13:20:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2009-04-15 06:20:00", "timeframe": "5min"}, "rows": 50000, "sha256": "7b6f06ef4b7ad6a75735bff391c8b4aa3ea688c861dfb6db8e5e0c8a18d9d289"}
246 +{"author": "Simon-Pierre Boucher", "cache_key": "72d84711cf0ab7a06d0199adbf99f46e", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/etf/QQQ", "fetched_utc": "2026-08-12T06:27:01Z", "first": "2010-08-04 13:20:00", "last": "2011-11-21 19:15:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2010-08-04 13:20:00", "timeframe": "5min"}, "rows": 50000, "sha256": "c8ed23d76dd746e2525d8f7b1596988f799ff35d4aa6b5daa88e9c909ac3f7f0"}
247 +{"author": "Simon-Pierre Boucher", "cache_key": "682ad00dbb584eef9874e3a82a4862bb", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/etf/QQQ", "fetched_utc": "2026-08-12T06:27:03Z", "first": "2011-11-21 19:15:00", "last": "2013-04-17 17:15:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2011-11-21 19:15:00", "timeframe": "5min"}, "rows": 50000, "sha256": "5d6465b14ea70912b63acbff8f87a1afd9e5ef5696f291f6cc2c0c3a69c712cf"}
248 +{"author": "Simon-Pierre Boucher", "cache_key": "7100f4ee329558695b85f5911bc1d862", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/etf/QQQ", "fetched_utc": "2026-08-12T06:27:05Z", "first": "2013-04-17 17:15:00", "last": "2014-08-22 09:15:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2013-04-17 17:15:00", "timeframe": "5min"}, "rows": 50000, "sha256": "9aa35628b91e608c72d3939f6a417163b4a3585855493d8c44649b314354998a"}
249 +{"author": "Simon-Pierre Boucher", "cache_key": "6e51bcb8019d841feb28551c730f2ced", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/etf/QQQ", "fetched_utc": "2026-08-12T06:27:06Z", "first": "2014-08-22 09:15:00", "last": "2015-12-21 19:30:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2014-08-22 09:15:00", "timeframe": "5min"}, "rows": 50000, "sha256": "4475c65b8087ed8c09afb3d11a9ca03e8c7ce006f7131d3f7e09fe68b3d247eb"}
250 +{"author": "Simon-Pierre Boucher", "cache_key": "ed629166d8a3cb7d21da263329bfd876", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/etf/QQQ", "fetched_utc": "2026-08-12T06:27:06Z", "first": "2015-12-21 19:30:00", "last": "2015-12-31 19:55:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2015-12-21 19:30:00", "timeframe": "5min"}, "rows": 929, "sha256": "f2f8a87f5ea6ab63758160f274c7ddc61ce4e4071be458a5d690de7d96f3cd5e"}
251 +{"author": "Simon-Pierre Boucher", "cache_key": "ff5d59ef1cf53170a7a27fb18dd1b644", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/ATRO", "fetched_utc": "2026-08-12T06:27:07Z", "first": "2000-01-04", "last": "2007-12-31", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "1day"}, "rows": 1972, "sha256": "9927b82d2ef2b0c87bbdee7b49ad4e446440c13525b8204863f4b2ded507b89d"}
252 +{"author": "Simon-Pierre Boucher", "cache_key": "5a8ae5814263b45694186377fffd5985", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/ATRO", "fetched_utc": "2026-08-12T06:27:07Z", "first": "2000-01-04 09:30:00", "last": "2007-12-31 16:00:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "30min"}, "rows": 13560, "sha256": "e733bd2b900e920df58ae67dc0f16521325c87c770ad224b38ff7b202237889f"}
253 +{"author": "Simon-Pierre Boucher", "cache_key": "8dc15bbf91b8a13d2c046ffdc0ec7595", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/ATRO", "fetched_utc": "2026-08-12T06:27:08Z", "first": "2000-01-04 09:30:00", "last": "2007-12-31 16:00:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "5min"}, "rows": 29851, "sha256": "e50f4fc044fb3d6b319a1de337464befa30b759e0b2dd5e5afe1e7144e652596"}
254 +{"author": "Simon-Pierre Boucher", "cache_key": "ec17badda72303f68d3989e2e9de201e", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/ATRO", "fetched_utc": "2026-08-12T06:27:09Z", "first": "2008-01-02", "last": "2015-12-31", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "1day"}, "rows": 2015, "sha256": "78252bbcbbbb904a64089ecf61afbb079682bc499c3e2c6a8c36a17eeabec5eb"}
255 +{"author": "Simon-Pierre Boucher", "cache_key": "3cd7d7e83b564276e74b7800fe235ef7", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/ATRO", "fetched_utc": "2026-08-12T06:27:09Z", "first": "2008-01-02 09:00:00", "last": "2015-12-31 16:00:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "30min"}, "rows": 27987, "sha256": "4b475c15b4fd6ae8a86187cff78246b86014305ecf5bb5d16e4b4cd9e73d6508"}
256 +{"author": "Simon-Pierre Boucher", "cache_key": "95e154119bc805a2efa559fabba02c2e", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/ATRO", "fetched_utc": "2026-08-12T06:27:11Z", "first": "2008-01-02 09:25:00", "last": "2012-05-31 15:45:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "5min"}, "rows": 50000, "sha256": "8f66e0b64131249262ef36a8bb0a92fcb62bbd23095e0eb89c3951788cc8df2f"}
257 +{"author": "Simon-Pierre Boucher", "cache_key": "d872a3d05bb625a61483d4ff3b3ce221", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/ATRO", "fetched_utc": "2026-08-12T06:27:12Z", "first": "2012-05-31 15:45:00", "last": "2015-07-14 15:10:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2012-05-31 15:45:00", "timeframe": "5min"}, "rows": 50000, "sha256": "0d8c088ca33eeab1b936f24cc515a2a5b985f0529192337a1485e0f73144ecae"}
258 +{"author": "Simon-Pierre Boucher", "cache_key": "2be1010054f6594cdbaea6fee9d99bea", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/ATRO", "fetched_utc": "2026-08-12T06:27:13Z", "first": "2015-07-14 15:10:00", "last": "2015-12-31 16:00:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2015-07-14 15:10:00", "timeframe": "5min"}, "rows": 8862, "sha256": "9d5109913e1fa96e53e1e368d57ad52f169f69d3512b5360d224929c137a1fc8"}
259 +{"author": "Simon-Pierre Boucher", "cache_key": "4fd8b70d646e0247638032d7a6ce6ca7", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/AUVI", "fetched_utc": "2026-08-12T06:27:13Z", "first": null, "last": null, "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "1day"}, "rows": 0, "sha256": "8062687d3dbe7963af9b2fa82e28bdbf5ce3aee72af33fa08113f6e5bf11df4e"}
260 +{"author": "Simon-Pierre Boucher", "cache_key": "d2f25c6a7497b961a9f74d046be72f12", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/AUVI", "fetched_utc": "2026-08-12T06:27:13Z", "first": null, "last": null, "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "1day"}, "rows": 0, "sha256": "8062687d3dbe7963af9b2fa82e28bdbf5ce3aee72af33fa08113f6e5bf11df4e"}
261 +{"author": "Simon-Pierre Boucher", "cache_key": "df12cf8cd29243476b1fbfa2b436af6a", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/AXDX", "fetched_utc": "2026-08-12T06:27:14Z", "first": "2003-10-10", "last": "2007-12-31", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "1day"}, "rows": 1011, "sha256": "873206edea80139a309eea7a6047fc756ac88bc1ca795b862f8aeb903d4743fd"}
262 +{"author": "Simon-Pierre Boucher", "cache_key": "37b84f25bd9097a14098ef25e4f5fae7", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/AXDX", "fetched_utc": "2026-08-12T06:27:14Z", "first": "2003-10-10 09:30:00", "last": "2007-12-31 15:30:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "30min"}, "rows": 4142, "sha256": "2a9c3d1374ce3aa991cf2cd1165a6ac8243cf4551b653c7a5bf44ef536b57f0f"}
263 +{"author": "Simon-Pierre Boucher", "cache_key": "8b23787e3d7238cdabdc6bb333d50253", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/AXDX", "fetched_utc": "2026-08-12T06:27:14Z", "first": "2003-10-10 09:30:00", "last": "2007-12-31 15:55:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "5min"}, "rows": 5868, "sha256": "bb7e0071ad6069148e103505ea43260d3f7b5eb1fff3358d4eccb181247a09a7"}
264 +{"author": "Simon-Pierre Boucher", "cache_key": "829c5c58ac6fc7297564e419ddc242c8", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/AXDX", "fetched_utc": "2026-08-12T06:27:14Z", "first": "2008-01-02", "last": "2015-12-31", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "1day"}, "rows": 1967, "sha256": "338b54ff359feecadf79d3ffd5943e4523104756839e6948703bde7163027cca"}
265 +{"author": "Simon-Pierre Boucher", "cache_key": "43954a9272329feea3491bb55169f436", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/AXDX", "fetched_utc": "2026-08-12T06:27:15Z", "first": "2008-01-02 09:30:00", "last": "2015-12-31 16:00:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "30min"}, "rows": 18826, "sha256": "e15dfbf6ffd0a328f4ba0cddfc4e8f8a8b86ad12092c1260c8490a1d9b5cad92"}
266 +{"author": "Simon-Pierre Boucher", "cache_key": "08df37b329d1d6b81924b69fd159ca04", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/AXDX", "fetched_utc": "2026-08-12T06:27:16Z", "first": "2008-01-02 09:30:00", "last": "2015-02-19 16:30:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "5min"}, "rows": 50000, "sha256": "d1a954ab72da2f5ff1ed54e68a0f088170787d3f08cba6735c3c789cbfe87d8a"}
267 +{"author": "Simon-Pierre Boucher", "cache_key": "ae8b3db408ee699a89a768d270fe0c95", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/AXDX", "fetched_utc": "2026-08-12T06:27:17Z", "first": "2015-02-19 16:30:00", "last": "2015-12-31 16:00:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2015-02-19 16:30:00", "timeframe": "5min"}, "rows": 15285, "sha256": "b97d70d084808ef1739e56204cc82d2a6276147a1cebc93ddf67a59e9516219e"}
268 +{"author": "Simon-Pierre Boucher", "cache_key": "6b0c05fae6ce0476bdbdc667b9df485b", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/BKE", "fetched_utc": "2026-08-12T06:27:17Z", "first": "2000-01-04", "last": "2007-12-31", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "1day"}, "rows": 2009, "sha256": "4a15c47c6fe53c9504400994b5d3962e28a6a60cc748ab49b9c28d35fa6d5e11"}
269 +{"author": "Simon-Pierre Boucher", "cache_key": "7d64b32f05a503685ffb32453da40dfe", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/BKE", "fetched_utc": "2026-08-12T06:27:18Z", "first": "2000-01-04 09:30:00", "last": "2007-12-31 16:00:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "30min"}, "rows": 24848, "sha256": "30a7035b430dc4a8c88fda2f913c161b591fac7104c305523d4934e68d50e8da"}
270 +{"author": "Simon-Pierre Boucher", "cache_key": "de1a6f3a93ff29bd4ac3d0be880b956c", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/BKE", "fetched_utc": "2026-08-12T06:27:20Z", "first": "2000-01-04 09:30:00", "last": "2005-12-05 14:00:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "5min"}, "rows": 50000, "sha256": "669a47195996f2721a08d41ca61c55bb711a153cdf613bb5c8d9d23f615ab41f"}
271 +{"author": "Simon-Pierre Boucher", "cache_key": "4e3308463b3177bdc10199bf034ccda6", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/BKE", "fetched_utc": "2026-08-12T06:27:21Z", "first": "2005-12-05 14:00:00", "last": "2007-12-31 16:00:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2005-12-05 14:00:00", "timeframe": "5min"}, "rows": 36638, "sha256": "a1681bf324d6c24d47650bf4c0daa2973ad29f52f97ae348857ec5d2668dc876"}
272 +{"author": "Simon-Pierre Boucher", "cache_key": "b34668be10eb3c28d2a2398da645f96c", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/BKE", "fetched_utc": "2026-08-12T06:27:21Z", "first": "2008-01-02", "last": "2015-12-31", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "1day"}, "rows": 2015, "sha256": "249c4a668054872de36ac47b3b38285a983882761149ae6e410188975d466a1c"}
273 +{"author": "Simon-Pierre Boucher", "cache_key": "602e444f8fd579bbca2cbb348b2adfbf", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/BKE", "fetched_utc": "2026-08-12T06:27:22Z", "first": "2008-01-02 08:00:00", "last": "2015-12-31 17:00:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "30min"}, "rows": 29359, "sha256": "dbcff479916e36fc6954861cee432f01db17a3aa757be7aaa13e6ed9f335d745"}
274 +{"author": "Simon-Pierre Boucher", "cache_key": "a2327d186ba5b951888e251d544f3d97", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/BKE", "fetched_utc": "2026-08-12T06:27:24Z", "first": "2008-01-02 08:00:00", "last": "2010-06-09 13:45:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "5min"}, "rows": 50000, "sha256": "07aae8f063f43cbc042cb38fdbe0ea4acbb18d6a8cc064844b721cac26796887"}
275 +{"author": "Simon-Pierre Boucher", "cache_key": "1dea3b6bd006e0ea9d54a07d30cc99fb", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/BKE", "fetched_utc": "2026-08-12T06:27:25Z", "first": "2010-06-09 13:45:00", "last": "2012-12-05 13:15:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2010-06-09 13:45:00", "timeframe": "5min"}, "rows": 50000, "sha256": "a99aa5649de8a4a0077bfd1c2f45f4d5546c0969b517c9bdc3692fa31e6d6094"}
276 +{"author": "Simon-Pierre Boucher", "cache_key": "170d14ea3715c693b62387d982160485", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/BKE", "fetched_utc": "2026-08-12T06:27:27Z", "first": "2012-12-05 13:15:00", "last": "2015-06-29 12:40:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2012-12-05 13:15:00", "timeframe": "5min"}, "rows": 50000, "sha256": "92c2a5f80e590c71e341201fffdfba55a2ddc17e6833b5accd3c506b197f3a8e"}
277 +{"author": "Simon-Pierre Boucher", "cache_key": "64643db83ee31ed80925f24371a8cfac", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/BKE", "fetched_utc": "2026-08-12T06:27:27Z", "first": "2015-06-29 12:40:00", "last": "2015-12-31 17:05:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2015-06-29 12:40:00", "timeframe": "5min"}, "rows": 10121, "sha256": "1fdde3b299d62f75a2625b22d78531e81dacea4ed9a9ebe18984722edf3225fb"}
278 +{"author": "Simon-Pierre Boucher", "cache_key": "86196c877e3908214da21ad98c2ec885", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/CECO", "fetched_utc": "2026-08-12T06:27:28Z", "first": "2007-05-16", "last": "2007-12-31", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "1day"}, "rows": 159, "sha256": "6e8f27b22883093b333e73ba5310b9687d828947bffed92edb23114b630cff3c"}
279 +{"author": "Simon-Pierre Boucher", "cache_key": "18d188ac48192f97a2b4009acdc65552", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/CECO", "fetched_utc": "2026-08-12T06:27:28Z", "first": "2008-01-02", "last": "2015-12-31", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "1day"}, "rows": 2015, "sha256": "0b8474655671a4e4dcb5b28f43f13ee3c9543fbde995a73f79c33ad2a25c80d9"}
280 +{"author": "Simon-Pierre Boucher", "cache_key": "78cc34fe0c196cac43204f09e0ae4b17", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/CECO", "fetched_utc": "2026-08-12T06:27:28Z", "first": "2008-01-02 09:30:00", "last": "2015-12-31 16:00:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "30min"}, "rows": 25031, "sha256": "e0bb523f9a6dc03e3cfc4d2ecd5a05b25b30f976c02754ef7b15257369712622"}
281 +{"author": "Simon-Pierre Boucher", "cache_key": "8f9b38a2a472601299a61a7415d84a48", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/CECO", "fetched_utc": "2026-08-12T06:27:30Z", "first": "2008-01-02 09:30:00", "last": "2013-08-16 14:25:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "5min"}, "rows": 50000, "sha256": "0f3f147d71e7c9e3a0670170aa9795467aae88584e76feddbb479077473c22f2"}
282 +{"author": "Simon-Pierre Boucher", "cache_key": "0bed11f27580091b13d1f17456e86996", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/CECO", "fetched_utc": "2026-08-12T06:27:31Z", "first": "2013-08-16 14:25:00", "last": "2015-12-31 16:00:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2013-08-16 14:25:00", "timeframe": "5min"}, "rows": 38595, "sha256": "38da2f4030468019270b4bca8223c6cc9693bf9d4002be181e0f4c940879de97"}
283 +{"author": "Simon-Pierre Boucher", "cache_key": "18db43204d605920f98e5e253aa1a4c6", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/CKX", "fetched_utc": "2026-08-12T06:27:31Z", "first": "2003-12-09", "last": "2007-12-31", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "1day"}, "rows": 809, "sha256": "2c621b0dbd56b232bbb1c4ce1f5d195426728e30163b71288dfff7e658d0d802"}
284 +{"author": "Simon-Pierre Boucher", "cache_key": "06ea12f166e5319006653f7dcf576740", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/CKX", "fetched_utc": "2026-08-12T06:27:32Z", "first": "2003-12-09 10:00:00", "last": "2007-12-31 15:30:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "30min"}, "rows": 2776, "sha256": "bd19bf6f07388952ceec364b43504bc429fecf9598c21ae0839ad62d449b04c8"}
285 +{"author": "Simon-Pierre Boucher", "cache_key": "c27c439e7624ed00d27f523f09ae64ba", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/CKX", "fetched_utc": "2026-08-12T06:27:32Z", "first": "2003-12-09 10:20:00", "last": "2007-12-31 15:50:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "5min"}, "rows": 4104, "sha256": "c65c446436531fe458a970538e64afb285f114989a4c12e8c8c3527eeceadd38"}
286 +{"author": "Simon-Pierre Boucher", "cache_key": "530ba7e0fe7fedcb0dddb27b534a3d7c", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/CKX", "fetched_utc": "2026-08-12T06:27:32Z", "first": "2008-01-02", "last": "2015-12-31", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "1day"}, "rows": 1171, "sha256": "da04b552bd78917c0d51f61671ed465e7efb2486e573ec9bc0188f192946453a"}
287 +{"author": "Simon-Pierre Boucher", "cache_key": "30259329a6d946ac06caeec40cc56096", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/CKX", "fetched_utc": "2026-08-12T06:27:32Z", "first": "2008-01-02 09:30:00", "last": "2015-12-31 15:00:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "30min"}, "rows": 2972, "sha256": "4643091a4f00f5f16146b8af5c66dcf2d2bc8cc48342659f09950261c21e10db"}
288 +{"author": "Simon-Pierre Boucher", "cache_key": "654af3050ea197327ce4da7d3f658f4b", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/CKX", "fetched_utc": "2026-08-12T06:27:32Z", "first": "2008-01-02 09:30:00", "last": "2015-12-31 15:20:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "5min"}, "rows": 4228, "sha256": "a42a17efaffd729d47698a8960d3bfc7f9612923e17f3b6fa6c24ca2ba017aca"}
289 +{"author": "Simon-Pierre Boucher", "cache_key": "41ab67747d18cf09d7206720ab981fd8", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/GCL", "fetched_utc": "2026-08-12T06:27:32Z", "first": null, "last": null, "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "1day"}, "rows": 0, "sha256": "8062687d3dbe7963af9b2fa82e28bdbf5ce3aee72af33fa08113f6e5bf11df4e"}
290 +{"author": "Simon-Pierre Boucher", "cache_key": "f77b5f970d0e8e9a4864458aec8c002a", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/GCL", "fetched_utc": "2026-08-12T06:27:33Z", "first": null, "last": null, "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "1day"}, "rows": 0, "sha256": "8062687d3dbe7963af9b2fa82e28bdbf5ce3aee72af33fa08113f6e5bf11df4e"}
291 +{"author": "Simon-Pierre Boucher", "cache_key": "f2c2fb22fb5b1bb7296430a0c49b26bd", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/GRO", "fetched_utc": "2026-08-12T06:27:33Z", "first": null, "last": null, "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "1day"}, "rows": 0, "sha256": "8062687d3dbe7963af9b2fa82e28bdbf5ce3aee72af33fa08113f6e5bf11df4e"}
292 +{"author": "Simon-Pierre Boucher", "cache_key": "5093b29dd40b37596763cef250a89557", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/GRO", "fetched_utc": "2026-08-12T06:27:33Z", "first": null, "last": null, "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "1day"}, "rows": 0, "sha256": "8062687d3dbe7963af9b2fa82e28bdbf5ce3aee72af33fa08113f6e5bf11df4e"}
293 +{"author": "Simon-Pierre Boucher", "cache_key": "c31956d54a9cf0097713dd06834fafc7", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/HPE", "fetched_utc": "2026-08-12T06:27:33Z", "first": null, "last": null, "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "1day"}, "rows": 0, "sha256": "8062687d3dbe7963af9b2fa82e28bdbf5ce3aee72af33fa08113f6e5bf11df4e"}
294 +{"author": "Simon-Pierre Boucher", "cache_key": "09f6c05101cec8074c42c71e9bd04549", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/HPE", "fetched_utc": "2026-08-12T06:27:33Z", "first": "2015-11-02", "last": "2015-12-31", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "1day"}, "rows": 42, "sha256": "9abfa6a12f09e425bdbec6b64828335d4327f9103f7c22feac19bf875d2ba259"}
295 +{"author": "Simon-Pierre Boucher", "cache_key": "82d40bc0b30260ff057f1b2f022ae73c", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/HTD", "fetched_utc": "2026-08-12T06:27:33Z", "first": "2004-02-26", "last": "2007-12-31", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "1day"}, "rows": 969, "sha256": "8db1693d86b3a454364f2abe59b4f0585ee5a5f476d67594e09961f9e83525e6"}
296 +{"author": "Simon-Pierre Boucher", "cache_key": "93c0646c8efd4f3658ae29d8f44d4873", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/HTD", "fetched_utc": "2026-08-12T06:27:34Z", "first": "2004-02-26 09:30:00", "last": "2007-12-31 16:00:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "30min"}, "rows": 13077, "sha256": "c9361ba6eb5c2d35e3a0e1b48d58ca05b622949e017848b6779241d156e41997"}
297 +{"author": "Simon-Pierre Boucher", "cache_key": "813c38774314db611682c1a3a7363cae", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/HTD", "fetched_utc": "2026-08-12T06:27:35Z", "first": "2004-02-26 09:35:00", "last": "2007-08-23 13:40:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "5min"}, "rows": 50000, "sha256": "932bfb793228d8c01400b31ce511710856d06325823b0f6a287fb704fd1a1ef0"}
298 +{"author": "Simon-Pierre Boucher", "cache_key": "4c032c3db2f045c56d10507fd6054917", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/HTD", "fetched_utc": "2026-08-12T06:27:36Z", "first": "2007-08-23 13:40:00", "last": "2007-12-31 16:00:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2007-08-23 13:40:00", "timeframe": "5min"}, "rows": 5037, "sha256": "623f3fd552c84a43543f3c552ef78656b8b1ad5c786056161ec55aaf1a83936b"}
299 +{"author": "Simon-Pierre Boucher", "cache_key": "f9a8665fa803e140e56fc8137b99fe5a", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/HTD", "fetched_utc": "2026-08-12T06:27:36Z", "first": "2008-01-02", "last": "2015-12-31", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "1day"}, "rows": 2015, "sha256": "d6755c62a632804191f9943af1191630343993ff9108af4244586002dd2cdad1"}
300 +{"author": "Simon-Pierre Boucher", "cache_key": "432e0b2e25cbf2d632caa0cfeb199f9e", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/HTD", "fetched_utc": "2026-08-12T06:27:37Z", "first": "2008-01-02 09:30:00", "last": "2015-12-31 16:00:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "30min"}, "rows": 27473, "sha256": "c790b6cbd6bbb909c31dbe6a6a2991ab7683e1c2b5339fdb67ae5ff4fbc57eea"}
301 +{"author": "Simon-Pierre Boucher", "cache_key": "7795524bcf220aba7fc78d33ae0b1556", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/HTD", "fetched_utc": "2026-08-12T06:27:38Z", "first": "2008-01-02 09:30:00", "last": "2011-03-25 09:40:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "5min"}, "rows": 50000, "sha256": "12cd459c2a3a00cbc327d4e9cd459ea95d657494b33d7d2b47d4e51afb4f0eef"}
302 +{"author": "Simon-Pierre Boucher", "cache_key": "a54cc92d9b31bb21082a394d385e2c95", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/HTD", "fetched_utc": "2026-08-12T06:27:40Z", "first": "2011-03-25 09:40:00", "last": "2014-06-18 10:20:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2011-03-25 09:40:00", "timeframe": "5min"}, "rows": 50000, "sha256": "08024a53b3687f52f1b4c07eacde6e2f030a9b99242f9bced69c13240e9bcfd8"}
303 +{"author": "Simon-Pierre Boucher", "cache_key": "1218b23a4c7edada97b8bb772d2abda3", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/HTD", "fetched_utc": "2026-08-12T06:27:40Z", "first": "2014-06-18 10:20:00", "last": "2015-12-31 16:00:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2014-06-18 10:20:00", "timeframe": "5min"}, "rows": 22265, "sha256": "6f56c33801cf384f5b27f188e21927d8a572b75a2cfeec4043c5357d76f96dcc"}
304 +{"author": "Simon-Pierre Boucher", "cache_key": "e2f4722820c111033f7cdb035daf4b8c", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/HWM", "fetched_utc": "2026-08-12T06:27:41Z", "first": null, "last": null, "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "1day"}, "rows": 0, "sha256": "8062687d3dbe7963af9b2fa82e28bdbf5ce3aee72af33fa08113f6e5bf11df4e"}
305 +{"author": "Simon-Pierre Boucher", "cache_key": "abf102ee6905822c286a8ab070c7a7ee", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/HWM", "fetched_utc": "2026-08-12T06:27:41Z", "first": null, "last": null, "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "1day"}, "rows": 0, "sha256": "8062687d3dbe7963af9b2fa82e28bdbf5ce3aee72af33fa08113f6e5bf11df4e"}
306 +{"author": "Simon-Pierre Boucher", "cache_key": "fac8f88a6e576daa27e62e5703005cf2", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/ICUI", "fetched_utc": "2026-08-12T06:27:41Z", "first": "2000-01-04", "last": "2007-12-31", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "1day"}, "rows": 2009, "sha256": "0f0b826fe04965c87e1790bfbba1c6b5645e16ba9781a866deb175064b4b20f0"}
307 +{"author": "Simon-Pierre Boucher", "cache_key": "c67cfe5d01d5050d3edd92b6fda6e84f", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/ICUI", "fetched_utc": "2026-08-12T06:27:42Z", "first": "2000-01-04 09:30:00", "last": "2007-12-31 16:00:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "30min"}, "rows": 27569, "sha256": "771e169323fcf62f690d33ce16da48301ee99d417ac0592d5d5693226e05f27a"}
308 +{"author": "Simon-Pierre Boucher", "cache_key": "a94dfc9c048aaa55ce50c4c34eeda095", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/ICUI", "fetched_utc": "2026-08-12T06:27:44Z", "first": "2000-01-04 09:30:00", "last": "2004-03-26 13:30:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "5min"}, "rows": 50000, "sha256": "85a4344a2554f3519ce9f6199ce9e589931e5b6e94dd287e1e025d423a3ab355"}
309 +{"author": "Simon-Pierre Boucher", "cache_key": "a853d2a22ab0abe082a2573c6dd372c9", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/ICUI", "fetched_utc": "2026-08-12T06:27:45Z", "first": "2004-03-26 13:30:00", "last": "2007-01-04 15:20:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2004-03-26 13:30:00", "timeframe": "5min"}, "rows": 50000, "sha256": "65aac10f7a863685d6991970d6685b7bb76eeeebb386ae3a94df789446df5be4"}
310 +{"author": "Simon-Pierre Boucher", "cache_key": "8e67da8ac87332c7f2539a25fa5ba810", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/ICUI", "fetched_utc": "2026-08-12T06:27:46Z", "first": "2007-01-04 15:20:00", "last": "2007-12-31 16:15:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2007-01-04 15:20:00", "timeframe": "5min"}, "rows": 18598, "sha256": "8181187e0a4186ee9c9db7cf5d25014119b766220d372b1155638a9d59cc7fb9"}
311 +{"author": "Simon-Pierre Boucher", "cache_key": "419aaf9df08d0c8e2970fa0471a73004", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/ICUI", "fetched_utc": "2026-08-12T06:27:46Z", "first": "2008-01-02", "last": "2015-12-31", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "1day"}, "rows": 2015, "sha256": "83c903c2acef3a16c2610b6fbb125ecd5926a9f86ad28417d70bcab5546e8b14"}
312 +{"author": "Simon-Pierre Boucher", "cache_key": "db97555f04e331d78e5f17e23b360a3a", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/ICUI", "fetched_utc": "2026-08-12T06:27:47Z", "first": "2008-01-02 08:00:00", "last": "2015-12-31 16:00:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "30min"}, "rows": 29622, "sha256": "e6bbd8dddb817ffe8514c64ac4625496f7639269f7813fa35e95cf3be893de74"}
313 +{"author": "Simon-Pierre Boucher", "cache_key": "77504d4619919d923f2b514764f38cdc", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/ICUI", "fetched_utc": "2026-08-12T06:27:48Z", "first": "2008-01-02 08:00:00", "last": "2010-08-09 11:10:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "5min"}, "rows": 50000, "sha256": "94d8262bb8f384e5e53ec4cac68f8e2d0bd31a40c997d34a7cfe14684a3034fb"}
314 +{"author": "Simon-Pierre Boucher", "cache_key": "bcb923dbaab9bb662ff5773bc2ade5fc", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/ICUI", "fetched_utc": "2026-08-12T06:27:50Z", "first": "2010-08-09 11:10:00", "last": "2013-07-25 13:45:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2010-08-09 11:10:00", "timeframe": "5min"}, "rows": 50000, "sha256": "bad8acb2520c6398dcae7bebb65fa4f9f1ecf5279fe88c43e05eeabc3e54ea1b"}
315 +{"author": "Simon-Pierre Boucher", "cache_key": "2fed9dd9f4b9d5562a80279f202616e8", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/ICUI", "fetched_utc": "2026-08-12T06:27:51Z", "first": "2013-07-25 13:45:00", "last": "2015-12-31 16:00:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2013-07-25 13:45:00", "timeframe": "5min"}, "rows": 43158, "sha256": "ec05168feede8e60f474ae9bfb58700bc67cc0666b44f2c2090742e5e8824b9d"}
316 +{"author": "Simon-Pierre Boucher", "cache_key": "e8d07edb0210e72ca59f19ef611d1b76", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/KEY.K", "fetched_utc": "2026-08-12T06:27:52Z", "first": null, "last": null, "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "1day"}, "rows": 0, "sha256": "8062687d3dbe7963af9b2fa82e28bdbf5ce3aee72af33fa08113f6e5bf11df4e"}
317 +{"author": "Simon-Pierre Boucher", "cache_key": "178d7d8589e786b88113826e161c0bc0", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/KEY.K", "fetched_utc": "2026-08-12T06:27:52Z", "first": null, "last": null, "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "1day"}, "rows": 0, "sha256": "8062687d3dbe7963af9b2fa82e28bdbf5ce3aee72af33fa08113f6e5bf11df4e"}
318 +{"author": "Simon-Pierre Boucher", "cache_key": "a8045752175b0ffce12903847bf7d14b", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/KSPI", "fetched_utc": "2026-08-12T06:27:52Z", "first": null, "last": null, "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "1day"}, "rows": 0, "sha256": "8062687d3dbe7963af9b2fa82e28bdbf5ce3aee72af33fa08113f6e5bf11df4e"}
319 +{"author": "Simon-Pierre Boucher", "cache_key": "498d9cdd3f113b175d9ae5d2335bf082", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/KSPI", "fetched_utc": "2026-08-12T06:27:52Z", "first": null, "last": null, "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "1day"}, "rows": 0, "sha256": "8062687d3dbe7963af9b2fa82e28bdbf5ce3aee72af33fa08113f6e5bf11df4e"}
320 +{"author": "Simon-Pierre Boucher", "cache_key": "92e8fb368de7600605f6a3a82fad8af3", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/LENZ", "fetched_utc": "2026-08-12T06:27:52Z", "first": null, "last": null, "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "1day"}, "rows": 0, "sha256": "8062687d3dbe7963af9b2fa82e28bdbf5ce3aee72af33fa08113f6e5bf11df4e"}
321 +{"author": "Simon-Pierre Boucher", "cache_key": "cf5d11e5c6696c9bb9ab69ba04105be7", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/LENZ", "fetched_utc": "2026-08-12T06:27:52Z", "first": null, "last": null, "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "1day"}, "rows": 0, "sha256": "8062687d3dbe7963af9b2fa82e28bdbf5ce3aee72af33fa08113f6e5bf11df4e"}
322 +{"author": "Simon-Pierre Boucher", "cache_key": "62981e3e943a5a82cc9eb5644589d18e", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/LTSL", "fetched_utc": "2026-08-12T06:27:53Z", "first": null, "last": null, "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "1day"}, "rows": 0, "sha256": "8062687d3dbe7963af9b2fa82e28bdbf5ce3aee72af33fa08113f6e5bf11df4e"}
323 +{"author": "Simon-Pierre Boucher", "cache_key": "f6137d61196a7434e46211bb91e60de9", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/LTSL", "fetched_utc": "2026-08-12T06:27:53Z", "first": null, "last": null, "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "1day"}, "rows": 0, "sha256": "8062687d3dbe7963af9b2fa82e28bdbf5ce3aee72af33fa08113f6e5bf11df4e"}
324 +{"author": "Simon-Pierre Boucher", "cache_key": "24d9b94fdb15b6367f745d6383bdd486", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/NSTS", "fetched_utc": "2026-08-12T06:27:53Z", "first": null, "last": null, "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "1day"}, "rows": 0, "sha256": "8062687d3dbe7963af9b2fa82e28bdbf5ce3aee72af33fa08113f6e5bf11df4e"}
325 +{"author": "Simon-Pierre Boucher", "cache_key": "a90639c2d8a3814edc9296d8e60c5eb9", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/NSTS", "fetched_utc": "2026-08-12T06:27:53Z", "first": null, "last": null, "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "1day"}, "rows": 0, "sha256": "8062687d3dbe7963af9b2fa82e28bdbf5ce3aee72af33fa08113f6e5bf11df4e"}
326 +{"author": "Simon-Pierre Boucher", "cache_key": "cb2c772def75ae814f12e5a6288cb3d2", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/NWAX", "fetched_utc": "2026-08-12T06:27:53Z", "first": null, "last": null, "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "1day"}, "rows": 0, "sha256": "8062687d3dbe7963af9b2fa82e28bdbf5ce3aee72af33fa08113f6e5bf11df4e"}
327 +{"author": "Simon-Pierre Boucher", "cache_key": "7cf76995abb73259fbb0df6ce572e047", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/NWAX", "fetched_utc": "2026-08-12T06:27:53Z", "first": null, "last": null, "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "1day"}, "rows": 0, "sha256": "8062687d3dbe7963af9b2fa82e28bdbf5ce3aee72af33fa08113f6e5bf11df4e"}
328 +{"author": "Simon-Pierre Boucher", "cache_key": "01e3718d3ab8acc63e70763e04465178", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/PBYI", "fetched_utc": "2026-08-12T06:27:54Z", "first": null, "last": null, "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "1day"}, "rows": 0, "sha256": "8062687d3dbe7963af9b2fa82e28bdbf5ce3aee72af33fa08113f6e5bf11df4e"}
329 +{"author": "Simon-Pierre Boucher", "cache_key": "0c8a11c89a093ff3632301e3c00ab9ac", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/PBYI", "fetched_utc": "2026-08-12T06:27:54Z", "first": "2012-04-24", "last": "2015-12-31", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "1day"}, "rows": 898, "sha256": "bc531df4659db8c16df961a82900e858cf933db2d973e508cbdde122e0377f8c"}
330 +{"author": "Simon-Pierre Boucher", "cache_key": "b79bd021371d0cbba4550cb2487edd30", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/PBYI", "fetched_utc": "2026-08-12T06:27:54Z", "first": "2012-04-24 09:30:00", "last": "2015-12-31 16:00:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "30min"}, "rows": 11827, "sha256": "3c7293db5f6091eb42d37eec1a676bd5271919c0cd4412c2effb468dcf774116"}
331 +{"author": "Simon-Pierre Boucher", "cache_key": "dc8c56c18cfe889f38ab9cbc0d16522a", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/PBYI", "fetched_utc": "2026-08-12T06:27:56Z", "first": "2012-04-24 09:55:00", "last": "2015-07-06 09:35:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "5min"}, "rows": 50000, "sha256": "ea989556326412c23e52e0fdb7b26ea02bd315064242e423e983833a78802fce"}
332 +{"author": "Simon-Pierre Boucher", "cache_key": "93ded25fec517c50a25a27594353b078", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/PBYI", "fetched_utc": "2026-08-12T06:27:56Z", "first": "2015-07-06 09:35:00", "last": "2015-12-31 16:00:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2015-07-06 09:35:00", "timeframe": "5min"}, "rows": 9969, "sha256": "16039e62ee1d789c2983c936d5c190e6e2a980e50b79adf209c96ee54ec3c5e9"}
333 +{"author": "Simon-Pierre Boucher", "cache_key": "c1c7747bde8fad48ab093c8274ab745d", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/PLNT", "fetched_utc": "2026-08-12T06:27:56Z", "first": null, "last": null, "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "1day"}, "rows": 0, "sha256": "8062687d3dbe7963af9b2fa82e28bdbf5ce3aee72af33fa08113f6e5bf11df4e"}
334 +{"author": "Simon-Pierre Boucher", "cache_key": "2335927f831430a509c0dd7c4ff42af0", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/PLNT", "fetched_utc": "2026-08-12T06:27:56Z", "first": "2015-08-07", "last": "2015-12-31", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "1day"}, "rows": 102, "sha256": "345ce4156c0948b245d8fecaa34b53a5d0a29810a84f58241f8338d0f4015b45"}
335 +{"author": "Simon-Pierre Boucher", "cache_key": "8938003bf5d0cb09445637c9279f87c8", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/PSA.G", "fetched_utc": "2026-08-12T06:27:57Z", "first": null, "last": null, "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "1day"}, "rows": 0, "sha256": "8062687d3dbe7963af9b2fa82e28bdbf5ce3aee72af33fa08113f6e5bf11df4e"}
336 +{"author": "Simon-Pierre Boucher", "cache_key": "2747f8a34d32c4fe94a7d273bc96d4f9", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/PSA.G", "fetched_utc": "2026-08-12T06:27:57Z", "first": null, "last": null, "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "1day"}, "rows": 0, "sha256": "8062687d3dbe7963af9b2fa82e28bdbf5ce3aee72af33fa08113f6e5bf11df4e"}
337 +{"author": "Simon-Pierre Boucher", "cache_key": "2fa73e742a3b361da2230636b2c791a5", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/RDZN", "fetched_utc": "2026-08-12T06:27:57Z", "first": null, "last": null, "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "1day"}, "rows": 0, "sha256": "8062687d3dbe7963af9b2fa82e28bdbf5ce3aee72af33fa08113f6e5bf11df4e"}
338 +{"author": "Simon-Pierre Boucher", "cache_key": "048143e5cc2b76cff8a0ecbd02d14e22", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/RDZN", "fetched_utc": "2026-08-12T06:27:57Z", "first": null, "last": null, "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "1day"}, "rows": 0, "sha256": "8062687d3dbe7963af9b2fa82e28bdbf5ce3aee72af33fa08113f6e5bf11df4e"}
339 +{"author": "Simon-Pierre Boucher", "cache_key": "0a982f70efe7c54c2a2bd2d80c8b54ad", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/RITM.B", "fetched_utc": "2026-08-12T06:27:57Z", "first": null, "last": null, "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "1day"}, "rows": 0, "sha256": "8062687d3dbe7963af9b2fa82e28bdbf5ce3aee72af33fa08113f6e5bf11df4e"}
340 +{"author": "Simon-Pierre Boucher", "cache_key": "d6cea46cc4300536652d5b92282c8f3d", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/RITM.B", "fetched_utc": "2026-08-12T06:27:57Z", "first": null, "last": null, "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "1day"}, "rows": 0, "sha256": "8062687d3dbe7963af9b2fa82e28bdbf5ce3aee72af33fa08113f6e5bf11df4e"}
341 +{"author": "Simon-Pierre Boucher", "cache_key": "d34ec6af96482d4415ad68055fd80dee", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/RPM", "fetched_utc": "2026-08-12T06:27:58Z", "first": "2000-01-04", "last": "2007-12-31", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "1day"}, "rows": 2009, "sha256": "04679b6b1207fa8cd6aca92090abe6d0ee465d429b0e4e7db7f2cbbb12e9504d"}
342 +{"author": "Simon-Pierre Boucher", "cache_key": "f319ecef6e500053001671cfa4727414", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/RPM", "fetched_utc": "2026-08-12T06:27:59Z", "first": "2000-01-04 09:30:00", "last": "2007-12-31 16:30:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "30min"}, "rows": 29493, "sha256": "3a5f07ec1f11b491c82509543b827354be8d553572d6a3ff30933756bf931ecb"}
343 +{"author": "Simon-Pierre Boucher", "cache_key": "48762cc4154711f4249a1bfb4ca09980", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/RPM", "fetched_utc": "2026-08-12T06:28:00Z", "first": "2000-01-04 09:30:00", "last": "2002-10-28 10:00:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "5min"}, "rows": 50000, "sha256": "f66a1a27d46615076e5c99eed7be043e425f4e8681f4c961ab4d54ca75e7079b"}
344 +{"author": "Simon-Pierre Boucher", "cache_key": "7b702e28d448e18e0d2fa1a0f6c03142", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/RPM", "fetched_utc": "2026-08-12T06:28:02Z", "first": "2002-10-28 10:00:00", "last": "2005-04-14 12:40:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2002-10-28 10:00:00", "timeframe": "5min"}, "rows": 50000, "sha256": "6a8eebe499e8863cab92da9f1dea0233bf873e069e1e2396b595c3ac5bdab2f6"}
345 +{"author": "Simon-Pierre Boucher", "cache_key": "e070f9105a6aff20e757cd76abc39d26", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/RPM", "fetched_utc": "2026-08-12T06:28:03Z", "first": "2005-04-14 12:40:00", "last": "2007-10-17 15:20:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2005-04-14 12:40:00", "timeframe": "5min"}, "rows": 50000, "sha256": "279817c75ad32905fe2f8ed480f385e5da6aac02e89c0fedadf77cdedef4a00a"}
346 +{"author": "Simon-Pierre Boucher", "cache_key": "4a878049b68fb5f50330ed51d66b0e1c", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/RPM", "fetched_utc": "2026-08-12T06:28:03Z", "first": "2007-10-17 15:20:00", "last": "2007-12-31 16:45:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2007-10-17 15:20:00", "timeframe": "5min"}, "rows": 4130, "sha256": "64b6ebf19abd002549cf0d954ee6ce6d2d30f77b443d24d614bf07d23e8c6a6e"}
347 +{"author": "Simon-Pierre Boucher", "cache_key": "07a85284a86de276af7c10adf35cd788", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/RPM", "fetched_utc": "2026-08-12T06:28:04Z", "first": "2008-01-02", "last": "2015-12-31", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "1day"}, "rows": 2015, "sha256": "1151c3d26afc3c8e4bafb55eae0b20e6afaa736fe443763203ca96e1914582ef"}
348 +{"author": "Simon-Pierre Boucher", "cache_key": "008871b2d28d48f26add918a1743c918", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/RPM", "fetched_utc": "2026-08-12T06:28:05Z", "first": "2008-01-02 09:30:00", "last": "2015-12-31 16:00:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "30min"}, "rows": 29098, "sha256": "6ccf9dc40a9885d5e7e0d34ab89dd9b1e4a1235fe0a9976f501801922eb412ad"}
349 +{"author": "Simon-Pierre Boucher", "cache_key": "255594fa25f191c2b8f7339210a7fa09", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/RPM", "fetched_utc": "2026-08-12T06:28:06Z", "first": "2008-01-02 09:30:00", "last": "2010-06-03 14:40:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "5min"}, "rows": 50000, "sha256": "0d9ba248e25114b11ca9319c3c8003e7e1e304f8748aeeed1a61d75533e18c9e"}
350 +{"author": "Simon-Pierre Boucher", "cache_key": "dacef64d6a864a84513db191fbe4d88b", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/RPM", "fetched_utc": "2026-08-12T06:28:08Z", "first": "2010-06-03 14:40:00", "last": "2012-11-29 12:45:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2010-06-03 14:40:00", "timeframe": "5min"}, "rows": 50000, "sha256": "09c94df6c0c6a5c22ca630bbeb06e17555a9b14f2ecc60105d34b9d2efea120e"}
351 +{"author": "Simon-Pierre Boucher", "cache_key": "b4ba37c160227bea41ee30fdc60c90f7", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/RPM", "fetched_utc": "2026-08-12T06:28:09Z", "first": "2012-11-29 12:45:00", "last": "2015-06-08 12:20:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2012-11-29 12:45:00", "timeframe": "5min"}, "rows": 50000, "sha256": "a17e213101df33061aea9f05fea62658a0d8e207330354009a087549712e9d25"}
352 +{"author": "Simon-Pierre Boucher", "cache_key": "a2e101f090e372140e5db6cef1010cda", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/RPM", "fetched_utc": "2026-08-12T06:28:10Z", "first": "2015-06-08 12:20:00", "last": "2015-12-31 16:00:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2015-06-08 12:20:00", "timeframe": "5min"}, "rows": 11380, "sha256": "2ef4ec3e53561348039e2956eeebf3c5d5081579f58966d98e1213976dce1fe4"}
353 +{"author": "Simon-Pierre Boucher", "cache_key": "d84a3fecc5ec1502af64010c567f7054", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/RUM", "fetched_utc": "2026-08-12T06:28:10Z", "first": null, "last": null, "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "1day"}, "rows": 0, "sha256": "8062687d3dbe7963af9b2fa82e28bdbf5ce3aee72af33fa08113f6e5bf11df4e"}
354 +{"author": "Simon-Pierre Boucher", "cache_key": "53706955a79c67f0f74ec2dc798f93e1", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/RUM", "fetched_utc": "2026-08-12T06:28:10Z", "first": null, "last": null, "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "1day"}, "rows": 0, "sha256": "8062687d3dbe7963af9b2fa82e28bdbf5ce3aee72af33fa08113f6e5bf11df4e"}
355 +{"author": "Simon-Pierre Boucher", "cache_key": "e0a1d463fd0514c9be21aa878fe2c252", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/SLF", "fetched_utc": "2026-08-12T06:28:10Z", "first": "2002-11-15", "last": "2007-12-31", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "1day"}, "rows": 1289, "sha256": "404d137073f4b03d6329d784735422428920d20a629b85f3273be922ec8dbc63"}
356 +{"author": "Simon-Pierre Boucher", "cache_key": "52c96b763737680bab19d16679156067", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/SLF", "fetched_utc": "2026-08-12T06:28:11Z", "first": "2002-11-15 09:30:00", "last": "2007-12-31 16:00:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "30min"}, "rows": 17787, "sha256": "a5fa8be91cfc98dc621b98ede1c3ad0ce9556fb339ce8c1a57917860004c20ab"}
357 +{"author": "Simon-Pierre Boucher", "cache_key": "3db919eb9e0d5fd1fa8aae9a0a29dd1a", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/SLF", "fetched_utc": "2026-08-12T06:28:13Z", "first": "2002-11-15 09:30:00", "last": "2005-10-13 11:50:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "5min"}, "rows": 50000, "sha256": "2dba453573604669688bb301b387e92a5b95fe6adf6867dbeee32d073276a8a8"}
358 +{"author": "Simon-Pierre Boucher", "cache_key": "c23d9e7751b09edaf8aacf47a1c64834", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/SLF", "fetched_utc": "2026-08-12T06:28:14Z", "first": "2005-10-13 11:50:00", "last": "2007-12-31 16:05:00", "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2005-10-13 11:50:00", "timeframe": "5min"}, "rows": 42559, "sha256": "61489bd908f6a9b5c029cf4af44b793e1eadc0b28119104f7494f37f5b04b1d5"}
359 +{"author": "Simon-Pierre Boucher", "cache_key": "2033de6400b356bf012a65831ae9af84", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/SLF", "fetched_utc": "2026-08-12T06:28:14Z", "first": "2008-01-02", "last": "2015-12-31", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "1day"}, "rows": 2015, "sha256": "abd8573803f77a88ad4924c34899a3702310813d658d7776277e45130db37649"}
360 +{"author": "Simon-Pierre Boucher", "cache_key": "ad38507dfcd41ec5e570ae4157be6f8e", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/SLF", "fetched_utc": "2026-08-12T06:28:15Z", "first": "2008-01-02 09:30:00", "last": "2015-12-31 16:00:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "30min"}, "rows": 29060, "sha256": "8b2ad850f2b70759bd288bd80e47d1f000103fe233e8cc1dcb8f1b7e054a2049"}
361 +{"author": "Simon-Pierre Boucher", "cache_key": "255a668b5974a45211883d02c48af97b", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/SLF", "fetched_utc": "2026-08-12T06:28:17Z", "first": "2008-01-02 09:30:00", "last": "2010-06-30 11:10:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "5min"}, "rows": 50000, "sha256": "15375ddcaea17ee59c346ad3928f4440bcd968028ab6e8e368c7333d514790c5"}
362 +{"author": "Simon-Pierre Boucher", "cache_key": "d181c9689d362340edc7b7462de53a08", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/SLF", "fetched_utc": "2026-08-12T06:28:18Z", "first": "2010-06-30 11:10:00", "last": "2012-12-28 11:45:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2010-06-30 11:10:00", "timeframe": "5min"}, "rows": 50000, "sha256": "22bf41dc7336e1d5e3c8d35a202ad24b399710f7d6e3dd3492144adb53a37cb2"}
363 +{"author": "Simon-Pierre Boucher", "cache_key": "6d4a6b2fea828db0dd6c6e0b6f329831", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/SLF", "fetched_utc": "2026-08-12T06:28:20Z", "first": "2012-12-28 11:45:00", "last": "2015-07-15 14:45:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2012-12-28 11:45:00", "timeframe": "5min"}, "rows": 50000, "sha256": "60bfd0150a86cc452f82343d70d190e942bccb94d47bd681082d2c236b7facdb"}
364 +{"author": "Simon-Pierre Boucher", "cache_key": "8a840787628093a9e7b7ee88a57ef9d3", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/SLF", "fetched_utc": "2026-08-12T06:28:20Z", "first": "2015-07-15 14:45:00", "last": "2015-12-31 16:00:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2015-07-15 14:45:00", "timeframe": "5min"}, "rows": 9342, "sha256": "7431d88c2bc522a5d122842dfa7931fdbf8a9716ff197873faa3b3ce68aeff2c"}
365 +{"author": "Simon-Pierre Boucher", "cache_key": "71944ae9f6a6cce9a9936bc3e9d6990f", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/SPB", "fetched_utc": "2026-08-12T06:28:21Z", "first": null, "last": null, "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "1day"}, "rows": 0, "sha256": "8062687d3dbe7963af9b2fa82e28bdbf5ce3aee72af33fa08113f6e5bf11df4e"}
366 +{"author": "Simon-Pierre Boucher", "cache_key": "29020e7b0d08c47dfb79728907d906d9", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/SPB", "fetched_utc": "2026-08-12T06:28:21Z", "first": "2010-03-18", "last": "2015-12-31", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "1day"}, "rows": 1459, "sha256": "f3e01a475a29ad447ac43ba41c66052f709b00e8b578e83d33ef91b4bd442fe0"}
367 +{"author": "Simon-Pierre Boucher", "cache_key": "ce60812e4a3805c5a0ee47f81bc64cce", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/SPB", "fetched_utc": "2026-08-12T06:28:21Z", "first": "2010-03-18 08:30:00", "last": "2015-12-31 16:00:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "30min"}, "rows": 20469, "sha256": "6c12fe2d02c8d3da01de906a129786f03301def289b601851afc5ca1bbf9c1fd"}
368 +{"author": "Simon-Pierre Boucher", "cache_key": "cecbecb0b830647ba451c1890197cb81", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/SPB", "fetched_utc": "2026-08-12T06:28:23Z", "first": "2010-03-18 08:45:00", "last": "2013-02-13 12:35:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "5min"}, "rows": 50000, "sha256": "a5b70ccc049e383140422913dcf041fe026aeff793a905a78b63f3db38b17e68"}
369 +{"author": "Simon-Pierre Boucher", "cache_key": "ac7b44432e651092e3375e5433ac79f8", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/SPB", "fetched_utc": "2026-08-12T06:28:24Z", "first": "2013-02-13 12:35:00", "last": "2015-09-24 09:30:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2013-02-13 12:35:00", "timeframe": "5min"}, "rows": 50000, "sha256": "6b273f1454afd8618fc18b0bf897f45a661e94b59f70c979d18f5e885af54dc4"}
370 +{"author": "Simon-Pierre Boucher", "cache_key": "03695dc194af000c673ab2c5a560160c", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/SPB", "fetched_utc": "2026-08-12T06:28:25Z", "first": "2015-09-24 09:30:00", "last": "2015-12-31 16:00:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2015-09-24 09:30:00", "timeframe": "5min"}, "rows": 5309, "sha256": "17441d43e4f720f08323defb5aad1c1392c0d5c9acb5e1f29dee0b0debc7039f"}
371 +{"author": "Simon-Pierre Boucher", "cache_key": "053610c041a28ee8ac1b1986d7328cea", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/STRRP", "fetched_utc": "2026-08-12T06:28:25Z", "first": null, "last": null, "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "1day"}, "rows": 0, "sha256": "8062687d3dbe7963af9b2fa82e28bdbf5ce3aee72af33fa08113f6e5bf11df4e"}
372 +{"author": "Simon-Pierre Boucher", "cache_key": "2be67dd5e623401f49b5fb167ed45ac8", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/STRRP", "fetched_utc": "2026-08-12T06:28:25Z", "first": null, "last": null, "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "1day"}, "rows": 0, "sha256": "8062687d3dbe7963af9b2fa82e28bdbf5ce3aee72af33fa08113f6e5bf11df4e"}
373 +{"author": "Simon-Pierre Boucher", "cache_key": "5846eba3cc473c68910f3e90279cc31f", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/USGOW", "fetched_utc": "2026-08-12T06:28:25Z", "first": null, "last": null, "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "1day"}, "rows": 0, "sha256": "8062687d3dbe7963af9b2fa82e28bdbf5ce3aee72af33fa08113f6e5bf11df4e"}
374 +{"author": "Simon-Pierre Boucher", "cache_key": "06d96f41436763763cee723d3e27f513", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/USGOW", "fetched_utc": "2026-08-12T06:28:25Z", "first": null, "last": null, "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "1day"}, "rows": 0, "sha256": "8062687d3dbe7963af9b2fa82e28bdbf5ce3aee72af33fa08113f6e5bf11df4e"}
375 +{"author": "Simon-Pierre Boucher", "cache_key": "2b1ded3087b5b8de2206de8ef500f1fc", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/WTFCM", "fetched_utc": "2026-08-12T06:28:26Z", "first": null, "last": null, "params": {"adjustment": "adj_split", "end": "2008-01-01", "limit": 50000, "order": "asc", "start": "2000-01-01", "timeframe": "1day"}, "rows": 0, "sha256": "8062687d3dbe7963af9b2fa82e28bdbf5ce3aee72af33fa08113f6e5bf11df4e"}
376 +{"author": "Simon-Pierre Boucher", "cache_key": "e12db898fe31335c23cee4a4ed69f8df", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/WTFCM", "fetched_utc": "2026-08-12T06:28:26Z", "first": "2015-07-10", "last": "2015-12-31", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2008-01-01", "timeframe": "1day"}, "rows": 122, "sha256": "b20605aa40b5d6b379ff73918d3a0bbfeb3c9892f4998be95d5996f941cc95b4"}
377 +{"author": "Simon-Pierre Boucher", "cache_key": "8ef46e3a0940c3b1daa349dfb07cdaf1", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/AAPL", "fetched_utc": "2026-08-12T06:28:26Z", "first": "2014-01-02", "last": "2015-12-31", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2014-01-01", "timeframe": "1day"}, "rows": 504, "sha256": "4a1e759da149ade5ca2344cae2ab4ca11dae850f2a9a9e7f1bc63969f361f112"}
378 +{"author": "Simon-Pierre Boucher", "cache_key": "1b4dcf481e18ee85ad01cb78f2cc9f87", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/AAPL", "fetched_utc": "2026-08-12T06:28:28Z", "first": "2014-01-02 04:00:00", "last": "2014-05-07 12:35:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2014-01-01", "timeframe": "1min"}, "rows": 50000, "sha256": "af4c2ea2328a86dc2ad357e41cf821379843aaf85db12ee255adf22e74147cc1"}
379 +{"author": "Simon-Pierre Boucher", "cache_key": "5cafbe67230546576f36ba2e714e872d", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/AAPL", "fetched_utc": "2026-08-12T06:28:30Z", "first": "2014-05-07 12:35:00", "last": "2014-08-26 16:55:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2014-05-07 12:35:00", "timeframe": "1min"}, "rows": 50000, "sha256": "18de76aeffb525376da5295978f1a8c37f09260daeb5a56f1739af9ab990e3ca"}
380 +{"author": "Simon-Pierre Boucher", "cache_key": "1866dd846e81e5a3f5948d5bd0e5cda6", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/AAPL", "fetched_utc": "2026-08-12T06:28:31Z", "first": "2014-08-26 16:55:00", "last": "2014-12-05 15:54:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2014-08-26 16:55:00", "timeframe": "1min"}, "rows": 50000, "sha256": "94217618efc1f317da6b8355d8d3246bba2265813d2b621378a7c474694ef6e1"}
381 +{"author": "Simon-Pierre Boucher", "cache_key": "ec5f45e7aefdcceefeb795ef01eb98c1", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/AAPL", "fetched_utc": "2026-08-12T06:28:33Z", "first": "2014-12-05 15:54:00", "last": "2015-03-20 11:20:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2014-12-05 15:54:00", "timeframe": "1min"}, "rows": 50000, "sha256": "d9ac19592c764bfaf3ea7c496c8f3fc7f3191df9f683220589d4de6fb7f4d36f"}
382 +{"author": "Simon-Pierre Boucher", "cache_key": "9105d67fec238f6395b4e01ae48b8d84", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/AAPL", "fetched_utc": "2026-08-12T06:28:34Z", "first": "2015-03-20 11:20:00", "last": "2015-07-06 17:15:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2015-03-20 11:20:00", "timeframe": "1min"}, "rows": 50000, "sha256": "c20d9b4a610c914b4bbb0adb1e774e1496f44e7cfbc793c233f83e2d37dfac06"}
383 +{"author": "Simon-Pierre Boucher", "cache_key": "2728d1592755191700ad10e089deeb3d", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/AAPL", "fetched_utc": "2026-08-12T06:28:36Z", "first": "2015-07-06 17:15:00", "last": "2015-10-13 04:33:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2015-07-06 17:15:00", "timeframe": "1min"}, "rows": 50000, "sha256": "b31084c91470e1eabb87772749d546df9e07cbc1e203a955cce95f14c8a5f498"}
384 +{"author": "Simon-Pierre Boucher", "cache_key": "fcd7cb30c06e7ef9f4a80f8ce8c0ce0a", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/AAPL", "fetched_utc": "2026-08-12T06:28:37Z", "first": "2015-10-13 04:33:00", "last": "2015-12-31 19:57:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2015-10-13 04:33:00", "timeframe": "1min"}, "rows": 35604, "sha256": "95dff76239867f02eea78ee484d5074febe62171d8460391349e47854ee0272a"}
385 +{"author": "Simon-Pierre Boucher", "cache_key": "ecb2c2ebbcf28133d52cb55710278651", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/MSFT", "fetched_utc": "2026-08-12T06:28:37Z", "first": "2014-01-02", "last": "2015-12-31", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2014-01-01", "timeframe": "1day"}, "rows": 504, "sha256": "4d2c6bccebc9d58f687b397483008d628a6a65e43fae7cc776761aecb10cf1c1"}
386 +{"author": "Simon-Pierre Boucher", "cache_key": "99e1dc6826453c6a91cfed63a8420b2d", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/MSFT", "fetched_utc": "2026-08-12T06:28:39Z", "first": "2014-01-02 05:42:00", "last": "2014-06-06 14:11:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2014-01-01", "timeframe": "1min"}, "rows": 50000, "sha256": "9a79a6a2c3b1c8562f19b80be3198d258e6d155cdc361a79e6cd907422493b81"}
387 +{"author": "Simon-Pierre Boucher", "cache_key": "21d409c09d4b048abcb8b54206cb22cd", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/MSFT", "fetched_utc": "2026-08-12T06:28:41Z", "first": "2014-06-06 14:11:00", "last": "2014-11-11 14:53:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2014-06-06 14:11:00", "timeframe": "1min"}, "rows": 50000, "sha256": "99edb227a15a8da805aea6c1e568f6276affb52551962800a7436c6d53eb3461"}
388 +{"author": "Simon-Pierre Boucher", "cache_key": "0c2e3199d877b2812ef393d7ab24496c", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/MSFT", "fetched_utc": "2026-08-12T06:28:43Z", "first": "2014-11-11 14:53:00", "last": "2015-04-21 12:01:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2014-11-11 14:53:00", "timeframe": "1min"}, "rows": 50000, "sha256": "b22aa12d5775bbd3312242eb666a34d481a8ba62beb2665374b32ca4e5c81640"}
389 +{"author": "Simon-Pierre Boucher", "cache_key": "247ae19addde6478060008c6723530cc", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/MSFT", "fetched_utc": "2026-08-12T06:28:45Z", "first": "2015-04-21 12:01:00", "last": "2015-09-24 12:08:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2015-04-21 12:01:00", "timeframe": "1min"}, "rows": 50000, "sha256": "2b2e945eb714a27d1220ede09f7823cf3fc15dc337605f3719d48ce8a988720e"}
390 +{"author": "Simon-Pierre Boucher", "cache_key": "54e1df21d89715561e2f61bd7a24f54e", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/MSFT", "fetched_utc": "2026-08-12T06:28:46Z", "first": "2015-09-24 12:08:00", "last": "2015-12-31 19:59:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2015-09-24 12:08:00", "timeframe": "1min"}, "rows": 31463, "sha256": "1c1a647decd5fb29e0ffcc906ad86f5b8913266c5cc916d201d6ff2556c4c56b"}
391 +{"author": "Simon-Pierre Boucher", "cache_key": "da80481fe440b242a8e669f2aa255852", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/NVDA", "fetched_utc": "2026-08-12T06:28:47Z", "first": "2014-01-02", "last": "2015-12-31", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2014-01-01", "timeframe": "1day"}, "rows": 504, "sha256": "aa8ec825374de69666528f241aeefccd880976a511dd7988e5416cecc6d43bcf"}
392 +{"author": "Simon-Pierre Boucher", "cache_key": "38ccd06b55133252e29b44cf20b05e91", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/NVDA", "fetched_utc": "2026-08-12T06:28:49Z", "first": "2014-01-02 08:00:00", "last": "2014-06-30 16:16:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2014-01-01", "timeframe": "1min"}, "rows": 50000, "sha256": "12919ce4758c2961c2ffe3e7e65a576fcff424858fa3f0a90b3d295be399636d"}
393 +{"author": "Simon-Pierre Boucher", "cache_key": "3397800a8e15aef1a4e724ed31d36d50", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/NVDA", "fetched_utc": "2026-08-12T06:28:50Z", "first": "2014-06-30 16:16:00", "last": "2014-12-30 10:12:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2014-06-30 16:16:00", "timeframe": "1min"}, "rows": 50000, "sha256": "59aa535b2cff4e4b3daf02d1244b9ac11c31564e1270db08d5f418a279336ead"}
394 +{"author": "Simon-Pierre Boucher", "cache_key": "5d1ca06e9638b3f4284a733b6784ee9c", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/NVDA", "fetched_utc": "2026-08-12T06:28:52Z", "first": "2014-12-30 10:12:00", "last": "2015-06-29 10:53:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2014-12-30 10:12:00", "timeframe": "1min"}, "rows": 50000, "sha256": "06ff22e812f4a36341d47b3c424b69b9b132f885fc95ff36e1a30a13593e1f85"}
395 +{"author": "Simon-Pierre Boucher", "cache_key": "4e54d5c439249a1c74bb265d082dffec", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/NVDA", "fetched_utc": "2026-08-12T06:28:54Z", "first": "2015-06-29 10:53:00", "last": "2015-12-23 13:26:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2015-06-29 10:53:00", "timeframe": "1min"}, "rows": 50000, "sha256": "cc3538c4e1936b90422d61cb28cc80b262887753c468ecc3a655399a7f3e1cd4"}
396 +{"author": "Simon-Pierre Boucher", "cache_key": "78e90c9228f219e192565da4b18a9f18", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/NVDA", "fetched_utc": "2026-08-12T06:28:54Z", "first": "2015-12-23 13:26:00", "last": "2015-12-31 16:51:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2015-12-23 13:26:00", "timeframe": "1min"}, "rows": 1974, "sha256": "24467a23264625e3b30b7d8d22166339ebab656ee39e844bf9755de89adf7c08"}
397 +{"author": "Simon-Pierre Boucher", "cache_key": "970a584f2ea84bf82db41cf3383261dc", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/AMZN", "fetched_utc": "2026-08-12T06:28:54Z", "first": "2014-01-02", "last": "2015-12-31", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2014-01-01", "timeframe": "1day"}, "rows": 504, "sha256": "dab37f7660efe47b6fa80188e5a3713e574b47e99de1a650d737f921826492f7"}
398 +{"author": "Simon-Pierre Boucher", "cache_key": "5fce8040618ee23d0a7a4ab8c9d55266", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/AMZN", "fetched_utc": "2026-08-12T06:28:56Z", "first": "2014-01-02 04:06:00", "last": "2014-06-10 14:41:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2014-01-01", "timeframe": "1min"}, "rows": 50000, "sha256": "cd3240c0c4022163ed01fd3db905163d17b4a4a6a23f7768ed25eca6845ad72c"}
399 +{"author": "Simon-Pierre Boucher", "cache_key": "30d19b3e93c4d9d9a33af0af88e9fed7", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/AMZN", "fetched_utc": "2026-08-12T06:28:58Z", "first": "2014-06-10 14:41:00", "last": "2014-11-14 13:45:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2014-06-10 14:41:00", "timeframe": "1min"}, "rows": 50000, "sha256": "79203083f3d77eaebe4f693f20f5e81543d226f35ff59497eb7f4010b364be03"}
400 +{"author": "Simon-Pierre Boucher", "cache_key": "e9f63b850c12f7142e4e6c2fc4d605b1", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/AMZN", "fetched_utc": "2026-08-12T06:29:00Z", "first": "2014-11-14 13:45:00", "last": "2015-05-01 12:30:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2014-11-14 13:45:00", "timeframe": "1min"}, "rows": 50000, "sha256": "f44b44fb8c6d605fe2d593349e2b7a77688fa916e834af1043fecd198cb936a9"}
401 +{"author": "Simon-Pierre Boucher", "cache_key": "9523a917e3a1e316b6d2b553854a3cf8", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/AMZN", "fetched_utc": "2026-08-12T06:29:01Z", "first": "2015-05-01 12:30:00", "last": "2015-10-08 15:57:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2015-05-01 12:30:00", "timeframe": "1min"}, "rows": 50000, "sha256": "a8b83c7b5a438a0561c8f1030c9af9463eb9af021059e0f9cd9f18b90ebaff3d"}
402 +{"author": "Simon-Pierre Boucher", "cache_key": "9fb88ef17fbdc03f0519bc7f4f551615", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/AMZN", "fetched_utc": "2026-08-12T06:29:02Z", "first": "2015-10-08 15:57:00", "last": "2015-12-31 19:58:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2015-10-08 15:57:00", "timeframe": "1min"}, "rows": 27370, "sha256": "e1da1f01d1eb1fcb1ec9502a9710ed2404327ba11ad860afc0a126d09c30e7f7"}
403 +{"author": "Simon-Pierre Boucher", "cache_key": "f59823ff8f5ea83fb8a9e334320e4e67", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/GOOGL", "fetched_utc": "2026-08-12T06:29:03Z", "first": "2014-04-03", "last": "2015-12-31", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2014-01-01", "timeframe": "1day"}, "rows": 441, "sha256": "5c68aec847028373c0060df8be6994390a840be19e6dde9c2c78467c32e5c9a7"}
404 +{"author": "Simon-Pierre Boucher", "cache_key": "4ce21687d19d417d6db6f6a80e8cf0a4", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/GOOGL", "fetched_utc": "2026-08-12T06:29:04Z", "first": "2014-04-03 06:42:00", "last": "2014-09-23 09:57:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2014-01-01", "timeframe": "1min"}, "rows": 50000, "sha256": "807247e54af1132a91a540746f67411e94c19bda258d11ded530443aa5122c02"}
405 +{"author": "Simon-Pierre Boucher", "cache_key": "d95a1322a0d83b36cbf16e4df547753f", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/GOOGL", "fetched_utc": "2026-08-12T06:29:06Z", "first": "2014-09-23 09:57:00", "last": "2015-03-17 14:00:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2014-09-23 09:57:00", "timeframe": "1min"}, "rows": 50000, "sha256": "96bf905697fa961f72948f6a9e5682c5bfeb5391dfbae6158dc9f8804b659be0"}
406 +{"author": "Simon-Pierre Boucher", "cache_key": "65452b6043817db073a7f8fed36f23b7", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/GOOGL", "fetched_utc": "2026-08-12T06:29:07Z", "first": "2015-03-17 14:00:00", "last": "2015-09-08 15:19:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2015-03-17 14:00:00", "timeframe": "1min"}, "rows": 50000, "sha256": "c4d659e1a806851d2bac7770b728d032cefc8b419fdb611b422eebcd64890ca1"}
407 +{"author": "Simon-Pierre Boucher", "cache_key": "4547c8dcac570d1285a66f1e9aa0b84f", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/GOOGL", "fetched_utc": "2026-08-12T06:29:08Z", "first": "2015-09-08 15:19:00", "last": "2015-12-31 17:05:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2015-09-08 15:19:00", "timeframe": "1min"}, "rows": 32469, "sha256": "6e7aab3b0f38cf8b5a7c568ba726ff8c0f86fc9c237ee3a6000d1cc023ad693a"}
408 +{"author": "Simon-Pierre Boucher", "cache_key": "42a7871199cf74350ced103216132d51", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/META", "fetched_utc": "2026-08-12T06:29:09Z", "first": "2014-01-02", "last": "2015-12-31", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2014-01-01", "timeframe": "1day"}, "rows": 504, "sha256": "bfcf2277f496bda75d561b337babd5489b1f358e173e58264cb27c147a3b217f"}
409 +{"author": "Simon-Pierre Boucher", "cache_key": "09acb49e6ebf3d9de671cc00f4f0fbe7", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/META", "fetched_utc": "2026-08-12T06:29:11Z", "first": "2014-01-02 04:00:00", "last": "2014-04-16 07:01:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2014-01-01", "timeframe": "1min"}, "rows": 50000, "sha256": "b57ffe6282db21d4c9c3f48273f49b24adcdac1e725146ca2eb6fab651097fdb"}
410 +{"author": "Simon-Pierre Boucher", "cache_key": "4af77bf674c094f390786bb68a9b1c54", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/META", "fetched_utc": "2026-08-12T06:29:13Z", "first": "2014-04-16 07:01:00", "last": "2014-08-01 14:43:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2014-04-16 07:01:00", "timeframe": "1min"}, "rows": 50000, "sha256": "3a3fac27cf0310f5ad493b63f38a8ad41d90d3368476be43b2b0a76d254c61d1"}
411 +{"author": "Simon-Pierre Boucher", "cache_key": "f2a16b42c7e0e97506fea9a9219dd2d5", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/META", "fetched_utc": "2026-08-12T06:29:14Z", "first": "2014-08-01 14:43:00", "last": "2014-11-24 09:53:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2014-08-01 14:43:00", "timeframe": "1min"}, "rows": 50000, "sha256": "62799b20a148f65546d05c76f4f46e8873b0ce5ecc8fc443486a3b6c22a2ff57"}
412 +{"author": "Simon-Pierre Boucher", "cache_key": "3f01ce6209812c37c85c9171e7cf1dad", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/META", "fetched_utc": "2026-08-12T06:29:16Z", "first": "2014-11-24 09:53:00", "last": "2015-03-31 17:11:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2014-11-24 09:53:00", "timeframe": "1min"}, "rows": 50000, "sha256": "f8d7e678c7a107ac46205f128f2072a5014bd3ac01bad10da2a1be5cb4c5cad3"}
413 +{"author": "Simon-Pierre Boucher", "cache_key": "8bcb1d245c93d2ae15693a8eaea39845", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/META", "fetched_utc": "2026-08-12T06:29:17Z", "first": "2015-03-31 17:11:00", "last": "2015-07-30 07:10:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2015-03-31 17:11:00", "timeframe": "1min"}, "rows": 50000, "sha256": "db59e9854a95b89484969fb1cbf7d992f6d5bf6526f55597a621a01dc7b5ecf7"}
414 +{"author": "Simon-Pierre Boucher", "cache_key": "ce17e51029be8f7a713fb24983df00ce", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/META", "fetched_utc": "2026-08-12T06:29:19Z", "first": "2015-07-30 07:10:00", "last": "2015-11-18 13:08:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2015-07-30 07:10:00", "timeframe": "1min"}, "rows": 50000, "sha256": "7c3da116d4fca524653d19fc9114ddac24e82f9c18f94b35af14e0b322def15e"}
415 +{"author": "Simon-Pierre Boucher", "cache_key": "1838d94d1a54612ebd5819914c9cc438", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/META", "fetched_utc": "2026-08-12T06:29:19Z", "first": "2015-11-18 13:08:00", "last": "2015-12-31 19:59:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2015-11-18 13:08:00", "timeframe": "1min"}, "rows": 16122, "sha256": "3063fa89404a4b8c12f93687b73a10f84d1314f81a2655fa0564c21ea30e882b"}
416 +{"author": "Simon-Pierre Boucher", "cache_key": "21d857bcb9f2a65f0d9ac64097fbf99a", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/TSLA", "fetched_utc": "2026-08-12T06:29:20Z", "first": "2014-01-02", "last": "2015-12-31", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2014-01-01", "timeframe": "1day"}, "rows": 504, "sha256": "628abd72529177d8f40cb5b1a940f6f448120b91891d90142ce4ef1a215681a6"}
417 +{"author": "Simon-Pierre Boucher", "cache_key": "65067925e328268fc0a5148ace8b7f55", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/TSLA", "fetched_utc": "2026-08-12T06:29:22Z", "first": "2014-01-02 04:14:00", "last": "2014-05-13 09:33:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2014-01-01", "timeframe": "1min"}, "rows": 50000, "sha256": "95d76bf9aee9ea0f4c54a7e1dda1b6e5abd0f667eadcfeca30dd43ec15042e62"}
418 +{"author": "Simon-Pierre Boucher", "cache_key": "de373988f03e6256204d6585407de221", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/TSLA", "fetched_utc": "2026-08-12T06:29:23Z", "first": "2014-05-13 09:33:00", "last": "2014-10-02 16:00:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2014-05-13 09:33:00", "timeframe": "1min"}, "rows": 50000, "sha256": "505b2528ae945fa2c9ee3694e9d7bea832a065584f566246347d79899e46c5c1"}
419 +{"author": "Simon-Pierre Boucher", "cache_key": "44cacf4bdc52cf0f69ff163841baa027", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/TSLA", "fetched_utc": "2026-08-12T06:29:25Z", "first": "2014-10-02 16:00:00", "last": "2015-02-27 10:43:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2014-10-02 16:00:00", "timeframe": "1min"}, "rows": 50000, "sha256": "76ec70b226ca4b78e0517fc91be0ec8d1d2dd2ded261780d7c6d8efe87f5a887"}
420 +{"author": "Simon-Pierre Boucher", "cache_key": "2b60749594c653cfc10c288f88dea56a", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/TSLA", "fetched_utc": "2026-08-12T06:29:26Z", "first": "2015-02-27 10:43:00", "last": "2015-07-28 11:20:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2015-02-27 10:43:00", "timeframe": "1min"}, "rows": 50000, "sha256": "06a6ade4b3d8cf5e90b4e1843f8a9f857f4b998206dc5061684948f8c221bf22"}
421 +{"author": "Simon-Pierre Boucher", "cache_key": "a127adeca69c884c74a1d2478c01d374", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/TSLA", "fetched_utc": "2026-08-12T06:29:28Z", "first": "2015-07-28 11:20:00", "last": "2015-12-29 10:44:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2015-07-28 11:20:00", "timeframe": "1min"}, "rows": 50000, "sha256": "78bfa11a0b7b9931182630c8180378d2713fb847d2aeee380498fbf7421a4029"}
422 +{"author": "Simon-Pierre Boucher", "cache_key": "f04ce3fa1c6a3a3bb5efb2088d75ac6d", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/TSLA", "fetched_utc": "2026-08-12T06:29:28Z", "first": "2015-12-29 10:44:00", "last": "2015-12-31 19:30:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2015-12-29 10:44:00", "timeframe": "1min"}, "rows": 1176, "sha256": "5d1cbb30a22327f4fbbdb4de4f0a3732c48f7fa38ba29b6a50ba8e56cf8d4129"}
423 +{"author": "Simon-Pierre Boucher", "cache_key": "d38349d9d7768c70d4550f1b53eeb599", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/JPM", "fetched_utc": "2026-08-12T06:29:29Z", "first": "2014-01-02", "last": "2015-12-31", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2014-01-01", "timeframe": "1day"}, "rows": 504, "sha256": "fb56d6dc3e7b220008ccfd644748e594e90088e369d7cfb3eabc907b6ea8ab61"}
424 +{"author": "Simon-Pierre Boucher", "cache_key": "3e067112671bb42417c9e478321de027", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/JPM", "fetched_utc": "2026-08-12T06:29:30Z", "first": "2014-01-02 04:14:00", "last": "2014-06-16 15:50:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2014-01-01", "timeframe": "1min"}, "rows": 50000, "sha256": "eba3778a9d9d8d7870374260f2a84eaf04bafd8a72ede111f4c3eb447ae44fd6"}
425 +{"author": "Simon-Pierre Boucher", "cache_key": "bf38952c7ba4304d43a267dbd3023a84", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/JPM", "fetched_utc": "2026-08-12T06:29:32Z", "first": "2014-06-16 15:50:00", "last": "2014-12-03 15:40:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2014-06-16 15:50:00", "timeframe": "1min"}, "rows": 50000, "sha256": "c3b7bc2ea0c3a3caf4ec36ff0d05065e4d74bd8c25325ce743ffeaef2fdad666"}
426 +{"author": "Simon-Pierre Boucher", "cache_key": "7bd6c466eb8ec4ffbe01717b03ada05a", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/JPM", "fetched_utc": "2026-08-12T06:29:33Z", "first": "2014-12-03 15:40:00", "last": "2015-05-22 12:27:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2014-12-03 15:40:00", "timeframe": "1min"}, "rows": 50000, "sha256": "cee94ffb1225976ffcfdb3cfc6f782becfd6ae6ad2257a69da914407ac423027"}
427 +{"author": "Simon-Pierre Boucher", "cache_key": "ddd8c61aa48a7e382fd6ad6aa0f238c7", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/JPM", "fetched_utc": "2026-08-12T06:29:35Z", "first": "2015-05-22 12:27:00", "last": "2015-11-03 13:51:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2015-05-22 12:27:00", "timeframe": "1min"}, "rows": 50000, "sha256": "0e543bcba1acf04f11b97877cfa109edb2763258a8822d99a0e9c5a0ebc60425"}
428 +{"author": "Simon-Pierre Boucher", "cache_key": "26c1c74014616509e6fe86044a69ca06", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/JPM", "fetched_utc": "2026-08-12T06:29:35Z", "first": "2015-11-03 13:51:00", "last": "2015-12-31 18:48:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2015-11-03 13:51:00", "timeframe": "1min"}, "rows": 16629, "sha256": "50aedc8d52e21351d7b6a5127a6974451ca970c072b390c27c6c66ad0eb51228"}
429 +{"author": "Simon-Pierre Boucher", "cache_key": "5292296b7af627800f706f763c6f5fe5", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/XOM", "fetched_utc": "2026-08-12T06:29:36Z", "first": "2014-01-02", "last": "2015-12-31", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2014-01-01", "timeframe": "1day"}, "rows": 504, "sha256": "ffcc3a6238fc1950c1eb6d11c639fc94a15060ea1dc0563c63d62a2b41c5e245"}
430 +{"author": "Simon-Pierre Boucher", "cache_key": "39970448a34297f171c8739a70344df2", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/XOM", "fetched_utc": "2026-08-12T06:29:38Z", "first": "2014-01-02 04:50:00", "last": "2014-06-25 10:42:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2014-01-01", "timeframe": "1min"}, "rows": 50000, "sha256": "7634bc3528723b4887d68d0d8823a62e13e19e1fc3b9f6d391b00d87f2668a69"}
431 +{"author": "Simon-Pierre Boucher", "cache_key": "ffe0892bcab0f8b7a2e984b5acc9e278", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/XOM", "fetched_utc": "2026-08-12T06:29:39Z", "first": "2014-06-25 10:42:00", "last": "2014-12-15 07:15:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2014-06-25 10:42:00", "timeframe": "1min"}, "rows": 50000, "sha256": "9fe2c7108c85de0036261f12b018efe70945f432af6e389bd4dd19dcc9479f37"}
432 +{"author": "Simon-Pierre Boucher", "cache_key": "bfec83e2b52d66306baae9d707efc95e", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/XOM", "fetched_utc": "2026-08-12T06:29:41Z", "first": "2014-12-15 07:15:00", "last": "2015-05-27 12:44:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2014-12-15 07:15:00", "timeframe": "1min"}, "rows": 50000, "sha256": "3be6fd22e7ae1e2a7e5442e709523ef7eca47d5827b686281b4b79f1c5c7f449"}
433 +{"author": "Simon-Pierre Boucher", "cache_key": "1696f08461134b57592ebed83a131e06", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/XOM", "fetched_utc": "2026-08-12T06:29:42Z", "first": "2015-05-27 12:44:00", "last": "2015-11-05 10:37:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2015-05-27 12:44:00", "timeframe": "1min"}, "rows": 50000, "sha256": "00d64e84847ee0bd2a46faaf099f11882a580c63686246c568e3f1c2ac10adee"}
434 +{"author": "Simon-Pierre Boucher", "cache_key": "130e52cab0054cf807085d3b2d6f26f7", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/XOM", "fetched_utc": "2026-08-12T06:29:43Z", "first": "2015-11-05 10:37:00", "last": "2015-12-31 18:34:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2015-11-05 10:37:00", "timeframe": "1min"}, "rows": 16518, "sha256": "369f11e6e8ad964b75ba2322b586ee81a49577e4590310d600fe6dc797f5e66b"}
435 +{"author": "Simon-Pierre Boucher", "cache_key": "cf4e6d48fb099ea12539b99f05e3c164", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/UNH", "fetched_utc": "2026-08-12T06:29:43Z", "first": "2014-01-02", "last": "2015-12-31", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2014-01-01", "timeframe": "1day"}, "rows": 504, "sha256": "68a325c76db21f9452e58ffd27e56f691b3db4104fe04c8f6844eef8dc1de8c2"}
436 +{"author": "Simon-Pierre Boucher", "cache_key": "afb5fb5ba39a88114891d3431e26f31f", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/UNH", "fetched_utc": "2026-08-12T06:29:45Z", "first": "2014-01-02 08:00:00", "last": "2014-07-03 10:56:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2014-01-01", "timeframe": "1min"}, "rows": 50000, "sha256": "50f7b2e25af083084c38f58aafc102f10596eca295323ae8a9d906aa1d0f4af9"}
437 +{"author": "Simon-Pierre Boucher", "cache_key": "2f0e8fe688189ce8337da2acd5fd7cec", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/UNH", "fetched_utc": "2026-08-12T06:29:46Z", "first": "2014-07-03 10:56:00", "last": "2015-01-06 09:40:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2014-07-03 10:56:00", "timeframe": "1min"}, "rows": 50000, "sha256": "60e5caa39dc60605d7bf1592afd3d94430683580f0bd44394bd7261a1316536e"}
438 +{"author": "Simon-Pierre Boucher", "cache_key": "975dc887d0c0e24a23dc22e1b9d87a71", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/UNH", "fetched_utc": "2026-08-12T06:29:48Z", "first": "2015-01-06 09:40:00", "last": "2015-07-07 09:42:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2015-01-06 09:40:00", "timeframe": "1min"}, "rows": 50000, "sha256": "d7a7a4500736f713f823ff6a1c660342525c382e01a2ca78a7068929a5f75d8a"}
439 +{"author": "Simon-Pierre Boucher", "cache_key": "203b874890f59bc196c2e96cbe9d1b3b", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/stock/UNH", "fetched_utc": "2026-08-12T06:29:49Z", "first": "2015-07-07 09:42:00", "last": "2015-12-31 16:04:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2015-07-07 09:42:00", "timeframe": "1min"}, "rows": 49676, "sha256": "d5ff09c576c92abee5c164a5e1fa752e631c06834642f30dc9128783ab6efefa"}
440 +{"author": "Simon-Pierre Boucher", "cache_key": "6e2bb37b3e475cc073821098b912481d", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/etf/SPY", "fetched_utc": "2026-08-12T06:29:50Z", "first": "2014-01-02", "last": "2015-12-31", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2014-01-01", "timeframe": "1day"}, "rows": 504, "sha256": "908d8bba7684cbcb5956d103c7292fd030131577b10540d3dc6b83b867a9842f"}
441 +{"author": "Simon-Pierre Boucher", "cache_key": "98e34fcbbe9e5240fb4e22b83ac311ba", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/etf/SPY", "fetched_utc": "2026-08-12T06:29:52Z", "first": "2014-01-02 04:00:00", "last": "2014-04-07 18:42:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2014-01-01", "timeframe": "1min"}, "rows": 50000, "sha256": "267a089919cb41e6e626b5ceffeeb6794f658b07820f812dccdaf7af4de777cf"}
442 +{"author": "Simon-Pierre Boucher", "cache_key": "fc6e360cbf5f2e686dbb63bb6b0f5226", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/etf/SPY", "fetched_utc": "2026-08-12T06:29:54Z", "first": "2014-04-07 18:42:00", "last": "2014-07-22 10:04:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2014-04-07 18:42:00", "timeframe": "1min"}, "rows": 50000, "sha256": "9276af3dc69a066d2929e55759a33e984cf54749d6b95c0d0beba1a10bfd29dd"}
443 +{"author": "Simon-Pierre Boucher", "cache_key": "8104772111a532d3b35aeb2c0f7f7ab0", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/etf/SPY", "fetched_utc": "2026-08-12T06:29:55Z", "first": "2014-07-22 10:04:00", "last": "2014-10-24 15:06:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2014-07-22 10:04:00", "timeframe": "1min"}, "rows": 50000, "sha256": "223cac4b394accb1ae03e11d25c5ab00d9069136d27c8bc9e18ad087eb6714ee"}
444 +{"author": "Simon-Pierre Boucher", "cache_key": "dfb8a53fe99e5a03ebc03dca6da22861", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/etf/SPY", "fetched_utc": "2026-08-12T06:29:57Z", "first": "2014-10-24 15:06:00", "last": "2015-02-02 09:20:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2014-10-24 15:06:00", "timeframe": "1min"}, "rows": 50000, "sha256": "23a2bbd4e9bd29ee2e04dd3e5664a57e5b0268c9c5d112fa8342235b51172449"}
445 +{"author": "Simon-Pierre Boucher", "cache_key": "b624177cb53d8fabd1e48a2543bb29fd", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/etf/SPY", "fetched_utc": "2026-08-12T06:29:59Z", "first": "2015-02-02 09:20:00", "last": "2015-05-11 07:46:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2015-02-02 09:20:00", "timeframe": "1min"}, "rows": 50000, "sha256": "a73d8d08b5d18ba26eafc30e1daa433f7960d37c3bfcb15dc5e5cb956f4813c1"}
446 +{"author": "Simon-Pierre Boucher", "cache_key": "2c72a179946bb3bbf29621fc69b41aa1", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/etf/SPY", "fetched_utc": "2026-08-12T06:30:00Z", "first": "2015-05-11 07:46:00", "last": "2015-08-13 10:21:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2015-05-11 07:46:00", "timeframe": "1min"}, "rows": 50000, "sha256": "7f24f081298bba11e4478f5e5e596336916bc5b0dd4a96da3f51ebc492dfe7df"}
447 +{"author": "Simon-Pierre Boucher", "cache_key": "8c3b9a3bbf1eaafdd6bfcf36a2459323", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/etf/SPY", "fetched_utc": "2026-08-12T06:30:02Z", "first": "2015-08-13 10:21:00", "last": "2015-11-10 19:15:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2015-08-13 10:21:00", "timeframe": "1min"}, "rows": 50000, "sha256": "7cc69db8dbf30f40646cc9b2534a58b50f05239be2788c7e17174b954dc4ad66"}
448 +{"author": "Simon-Pierre Boucher", "cache_key": "20137c384c35b847442461e88cc292f1", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/etf/SPY", "fetched_utc": "2026-08-12T06:30:03Z", "first": "2015-11-10 19:15:00", "last": "2015-12-31 19:59:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2015-11-10 19:15:00", "timeframe": "1min"}, "rows": 26790, "sha256": "1166efcdfe631e787b475fd61d71d2deb3422b4c34775122f5a30d72b18350ad"}
449 +{"author": "Simon-Pierre Boucher", "cache_key": "d875935deb10eb3945f3b437d89c8d36", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/etf/QQQ", "fetched_utc": "2026-08-12T06:30:03Z", "first": "2014-01-02", "last": "2015-12-31", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2014-01-01", "timeframe": "1day"}, "rows": 504, "sha256": "71c164ac7f61c97e766019e0e9a9e1ae375f08f1476a654c2a65e00da2cfd297"}
450 +{"author": "Simon-Pierre Boucher", "cache_key": "fe4640970658536fab3899db990c67a1", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/etf/QQQ", "fetched_utc": "2026-08-12T06:30:05Z", "first": "2014-01-02 04:00:00", "last": "2014-05-08 10:38:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2014-01-01", "timeframe": "1min"}, "rows": 50000, "sha256": "631a5f0abce77483fe1a1240ce7b28b3194b7288fe2e0980189533d5c33d0948"}
451 +{"author": "Simon-Pierre Boucher", "cache_key": "d31ba20a3befc6cee38b4a5cf7cd9da2", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/etf/QQQ", "fetched_utc": "2026-08-12T06:30:07Z", "first": "2014-05-08 10:38:00", "last": "2014-09-18 12:52:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2014-05-08 10:38:00", "timeframe": "1min"}, "rows": 50000, "sha256": "a82d3bf2386a5859e1315e70946f20ee30d6595eb89be1936165116a2718845e"}
452 +{"author": "Simon-Pierre Boucher", "cache_key": "49d4b46bba0d3b3c3e9bdfac5452bfc3", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/etf/QQQ", "fetched_utc": "2026-08-12T06:30:08Z", "first": "2014-09-18 12:52:00", "last": "2015-01-22 09:49:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2014-09-18 12:52:00", "timeframe": "1min"}, "rows": 50000, "sha256": "e87dafb3cf09641a326a1a9c3526fa7347b1f497581e316c1344b73e91edde5f"}
453 +{"author": "Simon-Pierre Boucher", "cache_key": "1eaea539110d9944b65941b61cff5ed2", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/etf/QQQ", "fetched_utc": "2026-08-12T06:30:10Z", "first": "2015-01-22 09:49:00", "last": "2015-06-01 12:01:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2015-01-22 09:49:00", "timeframe": "1min"}, "rows": 50000, "sha256": "d8610342038fb74f95f5843b1d3fd5fefde1d4aaf17d69ef5966c57a8cc6700f"}
454 +{"author": "Simon-Pierre Boucher", "cache_key": "2761824bd1207117f1f146ce48360f4d", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/etf/QQQ", "fetched_utc": "2026-08-12T06:30:11Z", "first": "2015-06-01 12:01:00", "last": "2015-09-30 06:41:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2015-06-01 12:01:00", "timeframe": "1min"}, "rows": 50000, "sha256": "cf9091dc4a890dce3d364f3e2653dcce351b5bcf0e8031c047e7e2942d7922c5"}
455 +{"author": "Simon-Pierre Boucher", "cache_key": "95ddc7d093d3f300b8a8e65aebf802af", "data_source": "hfmarketdata.io", "endpoint": "/v1/bars/etf/QQQ", "fetched_utc": "2026-08-12T06:30:13Z", "first": "2015-09-30 06:41:00", "last": "2015-12-31 19:59:00", "params": {"adjustment": "adj_split", "end": "2016-01-01", "limit": 50000, "order": "asc", "start": "2015-09-30 06:41:00", "timeframe": "1min"}, "rows": 36973, "sha256": "bed3247afef9ee847be9f8c7eb24a731ca73e414bf8fd3b7bdb58fc8a1184403"}
modified experiments/micro/expC_reversion_scan/README.md +1 −1
@@ -12,4 +12,4 @@ status: draft
12 12
13 13 Mean-reversion scan: variance ratios, half-life, AR tests net of the bounce null
14 14
15 Status: scaffolded 2026-08-12, not yet run.
15 +Status: **completed 2026-08-12** — 127 cells, corrected triage: 14 multi-lag-reversion cells + daily 2008-15 reversal family -> expF. Key output: the bounce-null variance-consistency lesson (taxonomy T1).
modified experiments/micro/expC_reversion_scan/analysis.md +53 −2
@@ -5,9 +5,60 @@ author: Simon-Pierre Boucher
5 5 contact: contact@spboucher.ai
6 6 data_source: hfmarketdata.io
7 7 created: 2026-08-12
8 status: draft
8 +modified: 2026-08-12
9 +status: reviewed
9 10 ---
10 11
11 12 # Analysis — expC_reversion_scan
12 13
13 *To be written after results exist. Must include the seven-field block and the evidence standard of CLAUDE.md §10 (never report an in-sample number as a finding).*
14 +Run: `results/expC_reversion_scan/20260812T062408Z/results.json` (354
15 +requests, 10.5M rows, manifest embedded; protocol pre-specified; detectors
16 +§8.1-gated). All conclusions Level 0.
17 +
18 +## 1. The scan's most valuable output is about the NULL
19 +
20 +The pre-specified bounce null (EDGE daily spread, pure Roll alternation,
21 +`-s²/4/Var(r)`) predicts intraday AC1 of −3 to −27 — outside [−1, 1],
22 +mathematically impossible. Diagnosis: the daily *effective* spread implies
23 +far more bounce variance than 1–5min bar closes contain, because consecutive
24 +intraday closes rarely flip bid/ask side (order-flow persistence). Lesson
25 +(now taxonomy T1, methodology rule): **a spread-based bounce null must be
26 +variance-consistent with the return series it is applied to** — otherwise
27 +"excess" statistics are artifacts of the null itself. The 90 positive-excess
28 +"survivors" are exactly that and are discarded.
29 +
30 +## 2. Corrected triage — MA(1)-consistent VR null
31 +
32 +Bounce (any lag-1-only process) implies VR(q) = 1 + 2·AC1·(1−1/q). Negative
33 +`VR30 − VR30_MA1` = multi-lag reversion beyond ALL lag-1 effects — a
34 +conservative null (it also absorbs any real lag-1 reversion). This
35 +correction is a documented post-hoc null fix (LOG §12 entry), computed from
36 +the same saved cells.
37 +
38 +**14 triage cells** pass FDR(vr30) with excess < −0.05:
39 +
40 +* **Daily 2008–2015 mega-cap/index reversal** — the broadest pattern:
41 + XOM AC1 −0.148 (excess_AC1 −0.133, FDR), JPM −0.104, SPY −0.079 (−0.055,
42 + FDR); median 1day VR30 excess −0.12/−0.16 across all cells. Consistent
43 + with crisis-regime multi-day reversal; likely regime-bound.
44 +* **1min multi-lag reversion in 2014–2015 liquid names**: JPM (−0.243),
45 + XOM (−0.075), NVDA (−0.061) — 30-minute-horizon reversion visible in 1min
46 + bars, *not* explained by lag-1 bounce.
47 +* Scattered 5min/30min cells (MSFT 2000–07 −0.108; illiquid names where
48 + staleness (T2) remains a live confound).
49 +
50 +## 3. Verdicts on the pre-registered clauses
51 +
52 +* **H01 (liquid intraday lag-1 reversion = 0 net of bounce): CONFIRMED**
53 + zero liquid negative-excess survivors in 2008–2015 intraday. The
54 + expected-negative held.
55 +* **Decay clause: PARTIALLY FALSIFIED** — median VR30 excess is flat at 5min
56 + across sub-periods and only mildly shrinking at 1day. Recorded as-is; the
57 + clean monotone decay narrative does not hold inside train.
58 +
59 +## 4. Hand-off
60 +
61 +The 14 triage cells + the daily-reversal family go to expF (SPA vs
62 +artifact-null benchmark, DSR with the 22-hypothesis budget) and expH
63 +(validation split). Nothing here enters the atlas. expD should reuse the
64 +MA(1)-consistency lesson for its cross-correlation nulls.
modified experiments/micro/expC_reversion_scan/benchmark.py +194 −10
@@ -1,7 +1,7 @@
1 1 # =============================================================================
2 2 # Project : anomaly-atlas
3 3 # File : experiments/micro/expC_reversion_scan/benchmark.py
4 # Purpose : Benchmark runner: Mean-reversion scan: variance ratios, half-life, AR tests net of…
4 +# Purpose : Mean-reversion scan net of the EDGE bounce null (TRAIN only)
5 5 # Author : Simon-Pierre Boucher
6 6 # Contact : contact@spboucher.ai
7 7 # Data src : hfmarketdata.io (sole data source)
@@ -10,25 +10,209 @@
10 10 # Platform : macOS / Apple Silicon (arm64)
11 11 # License : All rights reserved (research code)
12 12 # =============================================================================
13 +"""Experiment C — reversion scan (protocol pre-specified in hypothesis.md).
13 14
14 """Benchmark entry point for expC_reversion_scan.
15
16 Must embed the hardware manifest in all result output
17 (see benchmarks/hardware_manifest.py) and write results to
18 results/expC_reversion_scan/<timestamp>/. Uses hfmarketdata.io data ONLY, exclusively
19 through src/anomaly_atlas/data/hf_client.py.
15 +Every output cell is Level 0. The scan's job is triage: which cells show
16 +excess reversion beyond the bounce null after FDR — those go to the expF
17 +correction battery, nothing goes to the atlas from here.
20 18 """
21 19
20 +from __future__ import annotations
21 +
22 +import json
22 23 import sys
24 +from collections import defaultdict
25 +from datetime import UTC, datetime
23 26 from pathlib import Path
24 27
25 sys.path.insert(0, str(Path(__file__).resolve().parents[3] / "benchmarks"))
28 +import numpy as np
29 +
30 +REPO_ROOT = Path(__file__).resolve().parents[3]
31 +sys.path.insert(0, str(REPO_ROOT / "benchmarks"))
32 +sys.path.insert(0, str(REPO_ROOT / "src"))
33 +
26 34 from hardware_manifest import collect_manifest # noqa: E402
27 35
36 +from anomaly_atlas.data.hf_client import HFMarketDataClient # noqa: E402
37 +from anomaly_atlas.data.universe import ( # noqa: E402
38 + LIQUID_ETF,
39 + LIQUID_STOCK,
40 + TRAIN_SUBPERIODS,
41 + core_universe,
42 +)
43 +from anomaly_atlas.stats.bootstrap import moving_block_bootstrap, percentile_ci # noqa: E402
44 +from anomaly_atlas.stats.multiple_testing import ( # noqa: E402
45 + benjamini_hochberg,
46 + bootstrap_pvalue,
47 +)
48 +from anomaly_atlas.stats.reversion import ac1, half_life, variance_ratio # noqa: E402
49 +from anomaly_atlas.validation.artifacts import edge_spread # noqa: E402
50 +
51 +ADJ = "adj_split"
52 +BOOT_N, BOOT_SEED = 200, 42
53 +TIMEFRAMES = ["1day", "30min", "5min"]
54 +BARS_PER_DAY = {"5min": 78, "30min": 13, "1day": 1}
55 +ONE_MIN_WINDOW = ("2014-01-01", "2016-01-01") # liquid 12 only (declared)
56 +MIN_RETURNS = {"1day": 350, "30min": 2_000, "5min": 5_000, "1min": 5_000}
57 +
58 +
59 +def rth_returns_by_day(bars: list[dict], timeframe: str) -> np.ndarray:
60 + """Within-day log returns on RTH bars only (no overnight, no LOCF)."""
61 + days: dict[str, list[float]] = defaultdict(list)
62 + for b in bars:
63 + dt = b["datetime"]
64 + if timeframe == "1day":
65 + days[dt[:10]].append(np.log(b["close"]))
66 + continue
67 + if "09:30" <= dt[11:16] < "16:00":
68 + days[dt[:10]].append(np.log(b["close"]))
69 + if timeframe == "1day":
70 + allp = [v[0] for _, v in sorted(days.items())]
71 + return np.diff(allp) if len(allp) > 2 else np.array([])
72 + out = [np.diff(v) for _, v in sorted(days.items()) if len(v) >= 2]
73 + return np.concatenate(out) if out else np.array([])
74 +
75 +
76 +def daily_ohlc(bars: list[dict]) -> tuple[np.ndarray, ...]:
77 + o = np.array([b["open"] for b in bars])
78 + h = np.array([b["high"] for b in bars])
79 + lo = np.array([b["low"] for b in bars])
80 + c = np.array([b["close"] for b in bars])
81 + return o, h, lo, c
82 +
83 +
84 +def analyze_cell(r: np.ndarray, timeframe: str, spread: float) -> dict | None:
85 + if len(r) < MIN_RETURNS[timeframe]:
86 + return None
87 + var = r.var()
88 + if var == 0:
89 + return None
90 + bounce_ac1 = -(spread**2) / 4.0 / var if np.isfinite(spread) else 0.0
91 + block = max(20, BARS_PER_DAY.get(timeframe, 390) * 5)
92 + boot = moving_block_bootstrap(r, ac1, block=block, n_boot=BOOT_N, seed=BOOT_SEED)
93 + excess_boot = boot - bounce_ac1
94 + a = ac1(r)
95 + lo, hi = percentile_ci(excess_boot)
96 + boot_vr5 = moving_block_bootstrap(
97 + r, lambda x: variance_ratio(x, 5), block=block, n_boot=BOOT_N, seed=BOOT_SEED
98 + )
99 + boot_vr30 = moving_block_bootstrap(
100 + r, lambda x: variance_ratio(x, 30), block=block, n_boot=BOOT_N, seed=BOOT_SEED
101 + )
102 + return {
103 + "n": int(len(r)),
104 + "ac1": round(a, 5),
105 + "edge_spread": round(spread, 6) if np.isfinite(spread) else None,
106 + "bounce_ac1": round(bounce_ac1, 5),
107 + "excess_ac1": round(a - bounce_ac1, 5),
108 + "excess_ci95": [round(lo, 5), round(hi, 5)],
109 + "p_excess": bootstrap_pvalue(excess_boot, 0.0),
110 + "vr5": round(variance_ratio(r, 5), 4),
111 + "p_vr5": bootstrap_pvalue(boot_vr5, 1.0),
112 + "vr30": round(variance_ratio(r, 30), 4),
113 + "p_vr30": bootstrap_pvalue(boot_vr30, 1.0),
114 + }
115 +
28 116
29 117 def main() -> None:
30 collect_manifest() # embedded in results once implemented
31 raise NotImplementedError("experiment not yet implemented")
118 + run_utc = datetime.now(UTC)
119 + client = HFMarketDataClient()
120 + universe = core_universe(client.tickers("stock", timeframe="1min", adjustment=ADJ))
121 +
122 + cells: list[dict] = []
123 + for asset, ticker, bucket in universe:
124 + # daily bars per sub-period: returns for 1day cells + EDGE spread input
125 + for sub, (s, e) in TRAIN_SUBPERIODS.items():
126 + day_bars = client.get_bars(asset, ticker, "1day", ADJ, s, e)
127 + if len(day_bars) < 200:
128 + continue
129 + o, h, lo, c = daily_ohlc(day_bars)
130 + spread = edge_spread(o, h, lo, c)
131 + hl = half_life(np.log(c))
132 + for tf in TIMEFRAMES:
133 + bars = day_bars if tf == "1day" else client.get_bars(asset, ticker, tf, ADJ, s, e)
134 + r = rth_returns_by_day(bars, tf)
135 + m = analyze_cell(r, tf, spread)
136 + if m is None:
137 + continue
138 + m |= {"ticker": ticker, "bucket": bucket, "timeframe": tf, "period": sub}
139 + if tf == "1day":
140 + m["half_life_days"] = round(hl, 1) if np.isfinite(hl) else None
141 + cells.append(m)
142 + print(f"{ticker} {sub}: done ({len(cells)} cells)")
143 +
144 + # 1min cells: liquid 12, declared window
145 + for asset, ticker in [("stock", t) for t in LIQUID_STOCK] + [("etf", t) for t in LIQUID_ETF]:
146 + s, e = ONE_MIN_WINDOW
147 + day_bars = client.get_bars(asset, ticker, "1day", ADJ, s, e)
148 + if len(day_bars) < 200:
149 + continue
150 + spread = edge_spread(*daily_ohlc(day_bars))
151 + bars = client.get_bars(asset, ticker, "1min", ADJ, s, e)
152 + r = rth_returns_by_day(bars, "1min")
153 + m = analyze_cell(r, "1min", spread)
154 + if m is not None:
155 + m |= {"ticker": ticker, "bucket": "liquid", "timeframe": "1min",
156 + "period": "2014-2015"}
157 + cells.append(m)
158 + print(f"{ticker} 1min: done")
159 +
160 + # FDR within each statistic family, all cells jointly
161 + for key, pkey in [("excess_ac1", "p_excess"), ("vr5", "p_vr5"), ("vr30", "p_vr30")]:
162 + mask = benjamini_hochberg(np.array([c[pkey] for c in cells]), alpha=0.05)
163 + for c, rej in zip(cells, mask, strict=True):
164 + c[f"fdr_{key}"] = bool(rej)
165 +
166 + def survivors(key: str, sign_key: str, negative: bool) -> list[dict]:
167 + out = []
168 + for c in cells:
169 + if not c[f"fdr_{key}"]:
170 + continue
171 + v = c[sign_key] - (1.0 if sign_key.startswith("vr") else 0.0)
172 + if (v < 0) == negative:
173 + out.append({k: c[k] for k in ("ticker", "bucket", "timeframe", "period",
174 + sign_key, "edge_spread")})
175 + return out
176 +
177 + summary = {
178 + "cells_total": len(cells),
179 + "families_tested": 3,
180 + "fdr_alpha": 0.05,
181 + "excess_ac1_negative_survivors": survivors("excess_ac1", "excess_ac1", True),
182 + "excess_ac1_positive_survivors": survivors("excess_ac1", "excess_ac1", False),
183 + "vr30_below_1_survivors": len(survivors("vr30", "vr30", True)),
184 + "vr30_above_1_survivors": len(survivors("vr30", "vr30", False)),
185 + "liquid_2008_2015_intraday_negative": [
186 + c["ticker"] for c in cells
187 + if c["bucket"] == "liquid" and c["period"] == "2008-2015"
188 + and c["timeframe"] in ("5min", "30min")
189 + and c["fdr_excess_ac1"] and c["excess_ac1"] < 0
190 + ],
191 + }
192 +
193 + results = {
194 + "experiment": "expC_reversion_scan",
195 + "run_utc": run_utc.isoformat(),
196 + "author": "Simon-Pierre Boucher",
197 + "contact": "contact@spboucher.ai",
198 + "data_source": "hfmarketdata.io",
199 + "confidence_level": 0,
200 + "protocol": {
201 + "train_subperiods": TRAIN_SUBPERIODS, "adjustment": ADJ,
202 + "one_min_window": ONE_MIN_WINDOW, "boot": [BOOT_N, BOOT_SEED],
203 + "min_returns": MIN_RETURNS,
204 + },
205 + "summary": summary,
206 + "cells": cells,
207 + "client_stats": vars(client.stats) | {"refreshes": list(client.stats.refreshes)},
208 + "manifest": collect_manifest(),
209 + }
210 + out_dir = REPO_ROOT / "results" / "expC_reversion_scan" / run_utc.strftime("%Y%m%dT%H%M%SZ")
211 + out_dir.mkdir(parents=True)
212 + (out_dir / "results.json").write_text(json.dumps(results, indent=2) + "\n")
213 + print(f"\nwrote {out_dir.relative_to(REPO_ROOT)}/results.json")
214 + print(json.dumps({k: (v if not isinstance(v, list) else len(v))
215 + for k, v in summary.items()}, indent=1))
32 216
33 217
34 218 if __name__ == "__main__":
modified experiments/micro/expC_reversion_scan/hypothesis.md +57 −13
@@ -5,34 +5,78 @@ author: Simon-Pierre Boucher
5 5 contact: contact@spboucher.ai
6 6 data_source: hfmarketdata.io
7 7 created: 2026-08-12
8 status: draft
8 +modified: 2026-08-12
9 +status: final
9 10 ---
10 11
11 12 # Hypothesis — expC_reversion_scan
12 13
14 +*Pre-specified 2026-08-12 before the scan ran. New detectors (EDGE, BH-FDR,
15 +bootstrap p) passed the §8.1 gate first (6 tests). Splits declared in
16 +`data/universe.py`; scan runs on TRAIN (2000–2016) only.*
17 +
13 18 ```text
14 19 Hypothesis
15 <what we believe and why — pre-specified BEFORE looking at results>
20 + Tests H01 (liquid short-horizon reversion is zero net of bounce) and the
21 + scan half of H02 (reversal decays across sub-periods). Expectation, from
22 + the literature priors: raw AC1/VR will show heavy "reversion" that is
23 + MOSTLY bounce; excess reversion (net of the independent EDGE spread null)
24 + will be near zero for liquid names, possibly nonzero in 2000-2007 where
25 + real short-horizon reversal was still documented, and should SHRINK from
26 + the 2000-2007 to the 2008-2015 sub-period (decay).
16 27
17 28 Falsification criterion
18 <the concrete measurable outcome that would prove this wrong>
29 + H01 falsified if liquid-bucket excess reversion survives FDR(5%) with a
30 + negative sign in 2008-2015 at any intraday horizon. The decay story is
31 + falsified if excess reversion is STABLE or GROWING across sub-periods.
19 32
20 33 Artifact null(s)
21 <the fake-signal baseline(s) this must beat: bounce / staleness /
22 non-synchronous timestamps / permuted calendar / random walk>
34 + T1 bounce via the EDGE spread measured from the SAME ticker-period's
35 + DAILY OHLC bars (independent granularity — no AC1 circularity);
36 + bounce-implied AC1 = -s²/4 / Var(r_timeframe). T2 handled by trade-time
37 + returns (no LOCF) + min-data guards. Random-walk null via block bootstrap.
23 38
24 Method
25 <exact procedure, universe, split (train/validation/holdout), seeds,
26 number of hypotheses tested, correction applied>
39 +Method (grid pre-declared)
40 + Universe: the expB 42 (12 liquid + seed-42 random 30). Period: TRAIN
41 + 2000-2016, sub-periods 2000-2007 / 2008-2015.
42 + Timeframes: 1day, 30min, 5min for all tickers; 1min for the liquid 12 on
43 + 2014-2016 only (volume restriction, declared here).
44 + Intraday returns: RTH bars only (09:30-16:00), within-day diffs of log
45 + close, no overnight. Adjustment: adj_split everywhere.
46 + Statistics per cell (ticker × timeframe × sub-period): n, AC1, VR(5),
47 + VR(30), EDGE daily spread, bounce-implied AC1, excess AC1; moving-block
48 + bootstrap (block = 1 day of bars, n_boot = 200, seed = 42) for CIs and
49 + two-sided p-values (AC1_excess vs 0; VR vs 1). Half-life on daily closes.
50 + Correction: BH-FDR at 5% within each statistic family, all cells jointly.
51 + Cell count declared: ≤ (42×3×2 + 12) ≈ 264 per family.
27 52
28 53 Result
29 <filled after the run: effect size, bootstrap CIs, corrected p-values,
30 OOS status, cost-adjusted effect, credits used>
54 + Run 20260812T062408Z (354 requests, 10.5M rows). 127 analyzable cells.
55 + THE PRE-SPECIFIED BOUNCE NULL WAS MIS-SPECIFIED at intraday frequencies:
56 + EDGE daily spread + pure-Roll alternation predicts AC1 of -3 to -27
57 + (impossible; AC1 is bounded by [-1,1]) because consecutive intraday closes
58 + do not flip sides every bar. Consequence: the excess-AC1 positive family
59 + (90 "survivors") is an artifact OF THE NULL and is discarded. Corrected
60 + triage (documented post-hoc null FIX, not a hypothesis expansion — see
61 + LOG): MA(1)-consistent VR null, VR30_null = 1 + 2*AC1*(1-1/30); negative
62 + excess = multi-lag reversion beyond ANY lag-1 effect (bounce included).
63 + Triage output: 14 cells (FDR-vr30 AND excess < -0.05), incl. JPM 1min
64 + 2014-15 (-0.243), MSFT 5min 2000-07 (-0.108), XOM/NVDA 1min; daily
65 + mega-cap/index reversal 2008-15 (XOM excess_AC1 -0.133, SPY -0.055, both
66 + FDR; median 1day VR30 excess -0.12 to -0.16 across cells).
31 67
32 68 Interpretation
33 <what the numbers mean, WITH confidence level (0-3); alternative
34 explanations considered — artifact first>
69 + (Level 0 throughout.) H01 CONFIRMED at lag 1: zero liquid intraday
70 + negative-excess survivors in 2008-2015. Multi-lag daily reversion in the
71 + 2008-2015 train block is the strongest triage signal (crisis-regime
72 + index/mega-cap reversal — plausibly regime-bound). Decay clause PARTIALLY
73 + FALSIFIED: median VR30 excess is flat at 5min (-0.027 vs -0.025) and only
74 + mildly shrinking at 1day (-0.157 vs -0.122) across sub-periods — the
75 + clean monotone-decay story does not hold inside train. Methodological
76 + finding: spread-based bounce nulls must be variance-consistent; adopted
77 + into taxonomy T1 and Phase-9 methodology.
35 78
36 79 Next experiment
37 <the most informative follow-up given this result>
80 + expD (lead-lag scan) on the same universe/splits; survivors of C+D+E
81 + meet the full correction battery in expF.
38 82 ```
modified pyproject.toml +1 −0
@@ -28,6 +28,7 @@ dependencies = [
28 28 "statsmodels",
29 29 "arch",
30 30 "pyyaml",
31 + "bidask",
31 32 ]
32 33
33 34 [project.optional-dependencies]
modified research/LOG.md +25 −0
@@ -129,3 +129,28 @@ real-data effect peeking.
129 129 **Decision.** Next: expC–expE scans (consuming expB nulls), then expF
130 130 correction with the declared 22-hypothesis budget. Candidate 04 requires
131 131 crypto volume-semantics verification first (expA follow-up).
132 +
133 +## 2026-08-12 06:40 ET — expC complete: null mis-specification caught, corrected triage = 14 cells
134 +
135 +**Question.** Which reversion cells exceed the bounce null (H01, H02-scan)?
136 +
137 +**Experiment.** expC on TRAIN only (2000-2016; splits frozen in
138 +universe.py BEFORE the scan). 354 requests, 10.5M rows, 127 cells,
139 +BH-FDR per family.
140 +
141 +**Result.** The pre-specified EDGE+Roll bounce null is MIS-SPECIFIED
142 +intraday (predicts AC1 −3..−27, impossible) — the 90 positive-excess
143 +"survivors" are artifacts of the null and were DISCARDED. Post-hoc null
144 +FIX (documented here per §12; this is a null correction, not a hypothesis
145 +expansion; budget stays 22): MA(1)-consistent VR null. Corrected triage:
146 +14 cells with FDR + VR30 excess < −0.05 (JPM 1min 2014-15 −0.243; MSFT
147 +5min 2000-07; XOM/NVDA 1min) + a broad daily 2008-2015 mega-cap/index
148 +reversal family (XOM excess_AC1 −0.133 FDR, SPY −0.055 FDR).
149 +
150 +**Interpretation.** H01 CONFIRMED (liquid intraday lag-1 reversion = 0 net
151 +of bounce). Decay clause PARTIALLY FALSIFIED (flat 5min, mild 1day decay
152 +inside train). Methodological finding adopted: variance-consistency
153 +requirement for spread-based nulls (taxonomy T1 amended).
154 +
155 +**Decision.** 14 triage cells + daily-reversal family -> expF/expH. Next:
156 +expD lead-lag scan with MA(1)-consistency lesson applied.
modified research/artifact_taxonomy.md +7 −0
@@ -33,6 +33,13 @@ pre-specified universe). Detectors validated on synthetic ground truth first
33 33 * **Neutralize.** Report reversion net of the liquidity-bucket bounce null;
34 34 never average AC1 across liquidity buckets; treat Roll-undefined as
35 35 "no bounce measurable", not zero spread.
36 +* **expC amendment (measured).** A daily *effective* spread (EDGE) combined
37 + with pure Roll alternation predicts impossible intraday AC1 (−3 to −27):
38 + consecutive intraday closes do not flip sides each bar. Spread-based
39 + bounce nulls MUST be variance-consistent with the target series; for
40 + intraday scans use the MA(1)-consistent VR null
41 + (VR_null(q) = 1 + 2·AC1·(1−1/q)) — conservative, absorbs all lag-1
42 + effects.
36 43
37 44 ## T2 — Stale prices / missing minutes
38 45
added results/expC_reversion_scan/20260812T062408Z/results.json +3798 −0
@@ -0,0 +1,3798 @@
1 +{
2 + "experiment": "expC_reversion_scan",
3 + "run_utc": "2026-08-12T06:24:08.227246+00:00",
4 + "author": "Simon-Pierre Boucher",
5 + "contact": "contact@spboucher.ai",
6 + "data_source": "hfmarketdata.io",
7 + "confidence_level": 0,
8 + "protocol": {
9 + "train_subperiods": {
10 + "2000-2007": [
11 + "2000-01-01",
12 + "2008-01-01"
13 + ],
14 + "2008-2015": [
15 + "2008-01-01",
16 + "2016-01-01"
17 + ]
18 + },
19 + "adjustment": "adj_split",
20 + "one_min_window": [
21 + "2014-01-01",
22 + "2016-01-01"
23 + ],
24 + "boot": [
25 + 200,
26 + 42
27 + ],
28 + "min_returns": {
29 + "1day": 350,
30 + "30min": 2000,
31 + "5min": 5000,
32 + "1min": 5000
33 + }
34 + },
35 + "summary": {
36 + "cells_total": 127,
37 + "families_tested": 3,
38 + "fdr_alpha": 0.05,
39 + "excess_ac1_negative_survivors": [
40 + {
41 + "ticker": "XOM",
42 + "bucket": "liquid",
43 + "timeframe": "1day",
44 + "period": "2008-2015",
45 + "excess_ac1": -0.13261,
46 + "edge_spread": 0.004036
47 + },
48 + {
49 + "ticker": "SPY",
50 + "bucket": "liquid",
51 + "timeframe": "1day",
52 + "period": "2008-2015",
53 + "excess_ac1": -0.05527,
54 + "edge_spread": 0.004275
55 + }
56 + ],
57 + "excess_ac1_positive_survivors": [
58 + {
59 + "ticker": "AAPL",
60 + "bucket": "liquid",
61 + "timeframe": "30min",
62 + "period": "2000-2007",
63 + "excess_ac1": 0.48438,
64 + "edge_spread": 0.009626
65 + },
66 + {
67 + "ticker": "AAPL",
68 + "bucket": "liquid",
69 + "timeframe": "5min",
70 + "period": "2000-2007",
71 + "excess_ac1": 2.27246,
72 + "edge_spread": 0.009626
73 + },
74 + {
75 + "ticker": "AAPL",
76 + "bucket": "liquid",
77 + "timeframe": "30min",
78 + "period": "2008-2015",
79 + "excess_ac1": 0.61447,
80 + "edge_spread": 0.006635
81 + },
82 + {
83 + "ticker": "AAPL",
84 + "bucket": "liquid",
85 + "timeframe": "5min",
86 + "period": "2008-2015",
87 + "excess_ac1": 2.99416,
88 + "edge_spread": 0.006635
89 + },
90 + {
91 + "ticker": "MSFT",
92 + "bucket": "liquid",
93 + "timeframe": "30min",
94 + "period": "2000-2007",
95 + "excess_ac1": 0.18559,
96 + "edge_spread": 0.003974
97 + },
98 + {
99 + "ticker": "MSFT",
100 + "bucket": "liquid",
101 + "timeframe": "5min",
102 + "period": "2000-2007",
103 + "excess_ac1": 0.95342,
104 + "edge_spread": 0.003974
105 + },
106 + {
107 + "ticker": "MSFT",
108 + "bucket": "liquid",
109 + "timeframe": "30min",
110 + "period": "2008-2015",
111 + "excess_ac1": 0.34002,
112 + "edge_spread": 0.004179
113 + },
114 + {
115 + "ticker": "MSFT",
116 + "bucket": "liquid",
117 + "timeframe": "5min",
118 + "period": "2008-2015",
119 + "excess_ac1": 1.54388,
120 + "edge_spread": 0.004179
121 + },
122 + {
123 + "ticker": "NVDA",
124 + "bucket": "liquid",
125 + "timeframe": "30min",
126 + "period": "2000-2007",
127 + "excess_ac1": 0.09712,
128 + "edge_spread": 0.005473
129 + },
130 + {
131 + "ticker": "NVDA",
132 + "bucket": "liquid",
133 + "timeframe": "5min",
134 + "period": "2000-2007",
135 + "excess_ac1": 0.33003,
136 + "edge_spread": 0.005473
137 + },
138 + {
139 + "ticker": "NVDA",
140 + "bucket": "liquid",
141 + "timeframe": "30min",
142 + "period": "2008-2015",
143 + "excess_ac1": 0.3436,
144 + "edge_spread": 0.007052
145 + },
146 + {
147 + "ticker": "NVDA",
148 + "bucket": "liquid",
149 + "timeframe": "5min",
150 + "period": "2008-2015",
151 + "excess_ac1": 1.58317,
152 + "edge_spread": 0.007052
153 + },
154 + {
155 + "ticker": "AMZN",
156 + "bucket": "liquid",
157 + "timeframe": "30min",
158 + "period": "2000-2007",
159 + "excess_ac1": 0.37317,
160 + "edge_spread": 0.010444
161 + },
162 + {
163 + "ticker": "AMZN",
164 + "bucket": "liquid",
165 + "timeframe": "5min",
166 + "period": "2000-2007",
167 + "excess_ac1": 1.74986,
168 + "edge_spread": 0.010444
169 + },
170 + {
171 + "ticker": "AMZN",
172 + "bucket": "liquid",
173 + "timeframe": "30min",
174 + "period": "2008-2015",
175 + "excess_ac1": 0.42461,
176 + "edge_spread": 0.006712
177 + },
178 + {
179 + "ticker": "AMZN",
180 + "bucket": "liquid",
181 + "timeframe": "5min",
182 + "period": "2008-2015",
183 + "excess_ac1": 1.97971,
184 + "edge_spread": 0.006712
185 + },
186 + {
187 + "ticker": "GOOGL",
188 + "bucket": "liquid",
189 + "timeframe": "30min",
190 + "period": "2008-2015",
191 + "excess_ac1": 0.35386,
192 + "edge_spread": 0.003483
193 + },
194 + {
195 + "ticker": "GOOGL",
196 + "bucket": "liquid",
197 + "timeframe": "5min",
198 + "period": "2008-2015",
199 + "excess_ac1": 1.6664,
200 + "edge_spread": 0.003483
201 + },
202 + {
203 + "ticker": "META",
204 + "bucket": "liquid",
205 + "timeframe": "30min",
206 + "period": "2008-2015",
207 + "excess_ac1": 0.12398,
208 + "edge_spread": 0.002899
209 + },
210 + {
211 + "ticker": "META",
212 + "bucket": "liquid",
213 + "timeframe": "5min",
214 + "period": "2008-2015",
215 + "excess_ac1": 0.41549,
216 + "edge_spread": 0.002899
217 + },
218 + {
219 + "ticker": "TSLA",
220 + "bucket": "liquid",
221 + "timeframe": "30min",
222 + "period": "2008-2015",
223 + "excess_ac1": 0.26718,
224 + "edge_spread": 0.007431
225 + },
226 + {
227 + "ticker": "TSLA",
228 + "bucket": "liquid",
229 + "timeframe": "5min",
230 + "period": "2008-2015",
231 + "excess_ac1": 1.29574,
232 + "edge_spread": 0.007431
233 + },
234 + {
235 + "ticker": "JPM",
236 + "bucket": "liquid",
237 + "timeframe": "30min",
238 + "period": "2000-2007",
239 + "excess_ac1": 0.11176,
240 + "edge_spread": 0.003245
241 + },
242 + {
243 + "ticker": "JPM",
244 + "bucket": "liquid",
245 + "timeframe": "5min",
246 + "period": "2000-2007",
247 + "excess_ac1": 0.54488,
248 + "edge_spread": 0.003245
249 + },
250 + {
251 + "ticker": "JPM",
252 + "bucket": "liquid",
253 + "timeframe": "30min",
254 + "period": "2008-2015",
255 + "excess_ac1": 0.28115,
256 + "edge_spread": 0.006216
257 + },
258 + {
259 + "ticker": "JPM",
260 + "bucket": "liquid",
261 + "timeframe": "5min",
262 + "period": "2008-2015",
263 + "excess_ac1": 1.37652,
264 + "edge_spread": 0.006216
265 + },
266 + {
267 + "ticker": "XOM",
268 + "bucket": "liquid",
269 + "timeframe": "30min",
270 + "period": "2000-2007",
271 + "excess_ac1": 0.46786,
272 + "edge_spread": 0.00481
273 + },
274 + {
275 + "ticker": "XOM",
276 + "bucket": "liquid",
277 + "timeframe": "5min",
278 + "period": "2000-2007",
279 + "excess_ac1": 2.21841,
280 + "edge_spread": 0.00481
281 + },
282 + {
283 + "ticker": "XOM",
284 + "bucket": "liquid",
285 + "timeframe": "30min",
286 + "period": "2008-2015",
287 + "excess_ac1": 0.3256,
288 + "edge_spread": 0.004036
289 + },
290 + {
291 + "ticker": "XOM",
292 + "bucket": "liquid",
293 + "timeframe": "5min",
294 + "period": "2008-2015",
295 + "excess_ac1": 1.61649,
296 + "edge_spread": 0.004036
297 + },
298 + {
299 + "ticker": "UNH",
300 + "bucket": "liquid",
301 + "timeframe": "30min",
302 + "period": "2000-2007",
303 + "excess_ac1": 0.30033,
304 + "edge_spread": 0.00472
305 + },
306 + {
307 + "ticker": "UNH",
308 + "bucket": "liquid",
309 + "timeframe": "5min",
310 + "period": "2000-2007",
311 + "excess_ac1": 1.63969,
312 + "edge_spread": 0.00472
313 + },
314 + {
315 + "ticker": "UNH",
316 + "bucket": "liquid",
317 + "timeframe": "30min",
318 + "period": "2008-2015",
319 + "excess_ac1": 0.32528,
320 + "edge_spread": 0.005506
321 + },
322 + {
323 + "ticker": "UNH",
324 + "bucket": "liquid",
325 + "timeframe": "5min",
326 + "period": "2008-2015",
327 + "excess_ac1": 1.62268,
328 + "edge_spread": 0.005506
329 + },
330 + {
331 + "ticker": "SPY",
332 + "bucket": "liquid",
333 + "timeframe": "30min",
334 + "period": "2000-2007",
335 + "excess_ac1": 0.3696,
336 + "edge_spread": 0.00308
337 + },
338 + {
339 + "ticker": "SPY",
340 + "bucket": "liquid",
341 + "timeframe": "5min",
342 + "period": "2000-2007",
343 + "excess_ac1": 1.78571,
344 + "edge_spread": 0.00308
345 + },
346 + {
347 + "ticker": "SPY",
348 + "bucket": "liquid",
349 + "timeframe": "30min",
350 + "period": "2008-2015",
351 + "excess_ac1": 0.62292,
352 + "edge_spread": 0.004275
353 + },
354 + {
355 + "ticker": "SPY",
356 + "bucket": "liquid",
357 + "timeframe": "5min",
358 + "period": "2008-2015",
359 + "excess_ac1": 3.1121,
360 + "edge_spread": 0.004275
361 + },
362 + {
363 + "ticker": "QQQ",
364 + "bucket": "liquid",
365 + "timeframe": "30min",
366 + "period": "2000-2007",
367 + "excess_ac1": 0.33499,
368 + "edge_spread": 0.00543
369 + },
370 + {
371 + "ticker": "QQQ",
372 + "bucket": "liquid",
373 + "timeframe": "5min",
374 + "period": "2000-2007",
375 + "excess_ac1": 1.5881,
376 + "edge_spread": 0.00543
377 + },
378 + {
379 + "ticker": "QQQ",
380 + "bucket": "liquid",
381 + "timeframe": "30min",
382 + "period": "2008-2015",
383 + "excess_ac1": 0.34571,
384 + "edge_spread": 0.003411
385 + },
386 + {
387 + "ticker": "QQQ",
388 + "bucket": "liquid",
389 + "timeframe": "5min",
390 + "period": "2008-2015",
391 + "excess_ac1": 1.65811,
392 + "edge_spread": 0.003411
393 + },
394 + {
395 + "ticker": "ATRO",
396 + "bucket": "random",
397 + "timeframe": "1day",
398 + "period": "2000-2007",
399 + "excess_ac1": 0.09334,
400 + "edge_spread": 0.031522
401 + },
402 + {
403 + "ticker": "ATRO",
404 + "bucket": "random",
405 + "timeframe": "30min",
406 + "period": "2000-2007",
407 + "excess_ac1": 0.54467,
408 + "edge_spread": 0.031522
409 + },
410 + {
411 + "ticker": "ATRO",
412 + "bucket": "random",
413 + "timeframe": "5min",
414 + "period": "2000-2007",
415 + "excess_ac1": 0.98159,
416 + "edge_spread": 0.031522
417 + },
418 + {
419 + "ticker": "ATRO",
420 + "bucket": "random",
421 + "timeframe": "30min",
422 + "period": "2008-2015",
423 + "excess_ac1": 0.49625,
424 + "edge_spread": 0.013863
425 + },
426 + {
427 + "ticker": "ATRO",
428 + "bucket": "random",
429 + "timeframe": "5min",
430 + "period": "2008-2015",
431 + "excess_ac1": 1.4953,
432 + "edge_spread": 0.013863
433 + },
434 + {
435 + "ticker": "AXDX",
436 + "bucket": "random",
437 + "timeframe": "30min",
438 + "period": "2000-2007",
439 + "excess_ac1": 0.11828,
440 + "edge_spread": 0.021887
441 + },
442 + {
443 + "ticker": "AXDX",
444 + "bucket": "random",
445 + "timeframe": "30min",
446 + "period": "2008-2015",
447 + "excess_ac1": 0.27578,
448 + "edge_spread": 0.028145
449 + },
450 + {
451 + "ticker": "AXDX",
452 + "bucket": "random",
453 + "timeframe": "5min",
454 + "period": "2008-2015",
455 + "excess_ac1": 1.03621,
456 + "edge_spread": 0.028145
457 + },
458 + {
459 + "ticker": "BKE",
460 + "bucket": "random",
461 + "timeframe": "30min",
462 + "period": "2000-2007",
463 + "excess_ac1": 0.03391,
464 + "edge_spread": 0.002278
465 + },
466 + {
467 + "ticker": "BKE",
468 + "bucket": "random",
469 + "timeframe": "5min",
470 + "period": "2000-2007",
471 + "excess_ac1": 0.10181,
472 + "edge_spread": 0.002278
473 + },
474 + {
475 + "ticker": "BKE",
476 + "bucket": "random",
477 + "timeframe": "30min",
478 + "period": "2008-2015",
479 + "excess_ac1": 0.34394,
480 + "edge_spread": 0.006961
481 + },
482 + {
483 + "ticker": "BKE",
484 + "bucket": "random",
485 + "timeframe": "5min",
486 + "period": "2008-2015",
487 + "excess_ac1": 1.46647,
488 + "edge_spread": 0.006961
489 + },
490 + {
491 + "ticker": "CECO",
492 + "bucket": "random",
493 + "timeframe": "30min",
494 + "period": "2008-2015",
495 + "excess_ac1": 0.47573,
496 + "edge_spread": 0.015226
497 + },
498 + {
499 + "ticker": "CECO",
500 + "bucket": "random",
501 + "timeframe": "5min",
502 + "period": "2008-2015",
503 + "excess_ac1": 1.21338,
504 + "edge_spread": 0.015226
505 + },
506 + {
507 + "ticker": "HTD",
508 + "bucket": "random",
509 + "timeframe": "1day",
510 + "period": "2000-2007",
511 + "excess_ac1": 0.09563,
512 + "edge_spread": 0.003791
513 + },
514 + {
515 + "ticker": "HTD",
516 + "bucket": "random",
517 + "timeframe": "30min",
518 + "period": "2000-2007",
519 + "excess_ac1": 0.1875,
520 + "edge_spread": 0.003791
521 + },
522 + {
523 + "ticker": "HTD",
524 + "bucket": "random",
525 + "timeframe": "5min",
526 + "period": "2000-2007",
527 + "excess_ac1": 0.62107,
528 + "edge_spread": 0.003791
529 + },
530 + {
531 + "ticker": "HTD",
532 + "bucket": "random",
533 + "timeframe": "1day",
534 + "period": "2008-2015",
535 + "excess_ac1": 0.18049,
536 + "edge_spread": 0.00526
537 + },
538 + {
539 + "ticker": "HTD",
540 + "bucket": "random",
541 + "timeframe": "30min",
542 + "period": "2008-2015",
543 + "excess_ac1": 0.50234,
544 + "edge_spread": 0.00526
545 + },
546 + {
547 + "ticker": "HTD",
548 + "bucket": "random",
549 + "timeframe": "5min",
550 + "period": "2008-2015",
551 + "excess_ac1": 1.43326,
552 + "edge_spread": 0.00526
553 + },
554 + {
555 + "ticker": "ICUI",
556 + "bucket": "random",
557 + "timeframe": "30min",
558 + "period": "2000-2007",
559 + "excess_ac1": 0.57407,
560 + "edge_spread": 0.014016
561 + },
562 + {
563 + "ticker": "ICUI",
564 + "bucket": "random",
565 + "timeframe": "5min",
566 + "period": "2000-2007",
567 + "excess_ac1": 1.99662,
568 + "edge_spread": 0.014016
569 + },
570 + {
571 + "ticker": "ICUI",
572 + "bucket": "random",
573 + "timeframe": "30min",
574 + "period": "2008-2015",
575 + "excess_ac1": 0.37344,
576 + "edge_spread": 0.005495
577 + },
578 + {
579 + "ticker": "ICUI",
580 + "bucket": "random",
581 + "timeframe": "5min",
582 + "period": "2008-2015",
583 + "excess_ac1": 1.30231,
584 + "edge_spread": 0.005495
585 + },
586 + {
587 + "ticker": "PBYI",
588 + "bucket": "random",
589 + "timeframe": "30min",
590 + "period": "2008-2015",
591 + "excess_ac1": 0.462,
592 + "edge_spread": 0.013986
593 + },
594 + {
595 + "ticker": "PBYI",
596 + "bucket": "random",
597 + "timeframe": "5min",
598 + "period": "2008-2015",
599 + "excess_ac1": 1.81352,
600 + "edge_spread": 0.013986
601 + },
602 + {
603 + "ticker": "RPM",
604 + "bucket": "random",
605 + "timeframe": "30min",
606 + "period": "2000-2007",
607 + "excess_ac1": 0.65056,
608 + "edge_spread": 0.008801
609 + },
610 + {
611 + "ticker": "RPM",
612 + "bucket": "random",
613 + "timeframe": "5min",
614 + "period": "2000-2007",
615 + "excess_ac1": 2.18829,
616 + "edge_spread": 0.008801
617 + },
618 + {
619 + "ticker": "RPM",
620 + "bucket": "random",
621 + "timeframe": "30min",
622 + "period": "2008-2015",
623 + "excess_ac1": 0.39051,
624 + "edge_spread": 0.005265
625 + },
626 + {
627 + "ticker": "RPM",
628 + "bucket": "random",
629 + "timeframe": "5min",
630 + "period": "2008-2015",
631 + "excess_ac1": 1.86808,
632 + "edge_spread": 0.005265
633 + },
634 + {
635 + "ticker": "SLF",
636 + "bucket": "random",
637 + "timeframe": "30min",
638 + "period": "2000-2007",
639 + "excess_ac1": 0.29624,
640 + "edge_spread": 0.003876
641 + },
642 + {
643 + "ticker": "SLF",
644 + "bucket": "random",
645 + "timeframe": "5min",
646 + "period": "2000-2007",
647 + "excess_ac1": 1.4198,
648 + "edge_spread": 0.003876
649 + },
650 + {
651 + "ticker": "SLF",
652 + "bucket": "random",
653 + "timeframe": "30min",
654 + "period": "2008-2015",
655 + "excess_ac1": 0.17219,
656 + "edge_spread": 0.003241
657 + },
658 + {
659 + "ticker": "SLF",
660 + "bucket": "random",
661 + "timeframe": "5min",
662 + "period": "2008-2015",
663 + "excess_ac1": 0.55828,
664 + "edge_spread": 0.003241
665 + },
666 + {
667 + "ticker": "SPB",
668 + "bucket": "random",
669 + "timeframe": "30min",
670 + "period": "2008-2015",
671 + "excess_ac1": 0.35111,
672 + "edge_spread": 0.005084
673 + },
674 + {
675 + "ticker": "SPB",
676 + "bucket": "random",
677 + "timeframe": "5min",
678 + "period": "2008-2015",
679 + "excess_ac1": 1.31217,
680 + "edge_spread": 0.005084
681 + },
682 + {
683 + "ticker": "AAPL",
684 + "bucket": "liquid",
685 + "timeframe": "1min",
686 + "period": "2014-2015",
687 + "excess_ac1": 27.29272,
688 + "edge_spread": 0.006493
689 + },
690 + {
691 + "ticker": "MSFT",
692 + "bucket": "liquid",
693 + "timeframe": "1min",
694 + "period": "2014-2015",
695 + "excess_ac1": 8.01535,
696 + "edge_spread": 0.003442
697 + },
698 + {
699 + "ticker": "NVDA",
700 + "bucket": "liquid",
701 + "timeframe": "1min",
702 + "period": "2014-2015",
703 + "excess_ac1": 11.30092,
704 + "edge_spread": 0.005446
705 + },
706 + {
707 + "ticker": "AMZN",
708 + "bucket": "liquid",
709 + "timeframe": "1min",
710 + "period": "2014-2015",
711 + "excess_ac1": 10.44805,
712 + "edge_spread": 0.005161
713 + },
714 + {
715 + "ticker": "GOOGL",
716 + "bucket": "liquid",
717 + "timeframe": "1min",
718 + "period": "2014-2015",
719 + "excess_ac1": 6.92123,
720 + "edge_spread": 0.003483
721 + },
722 + {
723 + "ticker": "META",
724 + "bucket": "liquid",
725 + "timeframe": "1min",
726 + "period": "2014-2015",
727 + "excess_ac1": 3.88498,
728 + "edge_spread": 0.003368
729 + },
730 + {
731 + "ticker": "TSLA",
732 + "bucket": "liquid",
733 + "timeframe": "1min",
734 + "period": "2014-2015",
735 + "excess_ac1": 10.12632,
736 + "edge_spread": 0.007854
737 + },
738 + {
739 + "ticker": "JPM",
740 + "bucket": "liquid",
741 + "timeframe": "1min",
742 + "period": "2014-2015",
743 + "excess_ac1": 14.51574,
744 + "edge_spread": 0.005207
745 + },
746 + {
747 + "ticker": "XOM",
748 + "bucket": "liquid",
749 + "timeframe": "1min",
750 + "period": "2014-2015",
751 + "excess_ac1": 5.91807,
752 + "edge_spread": 0.002674
753 + },
754 + {
755 + "ticker": "UNH",
756 + "bucket": "liquid",
757 + "timeframe": "1min",
758 + "period": "2014-2015",
759 + "excess_ac1": 7.48124,
760 + "edge_spread": 0.003474
761 + },
762 + {
763 + "ticker": "SPY",
764 + "bucket": "liquid",
765 + "timeframe": "1min",
766 + "period": "2014-2015",
767 + "excess_ac1": 9.52572,
768 + "edge_spread": 0.002075
769 + },
770 + {
771 + "ticker": "QQQ",
772 + "bucket": "liquid",
773 + "timeframe": "1min",
774 + "period": "2014-2015",
775 + "excess_ac1": 14.02225,
776 + "edge_spread": 0.003213
777 + }
778 + ],
779 + "vr30_below_1_survivors": 38,
780 + "vr30_above_1_survivors": 1,
781 + "liquid_2008_2015_intraday_negative": []
782 + },
783 + "cells": [
784 + {
785 + "n": 2008,
786 + "ac1": -0.04063,
787 + "edge_spread": 0.009626,
788 + "bounce_ac1": -0.0196,
789 + "excess_ac1": -0.02103,
790 + "excess_ci95": [
791 + -0.05082,
792 + 0.01878
793 + ],
794 + "p_excess": 0.25870646766169153,
795 + "vr5": 0.9489,
796 + "p_vr5": 0.22885572139303484,
797 + "vr30": 1.07,
798 + "p_vr30": 0.9850746268656716,
799 + "ticker": "AAPL",
800 + "bucket": "liquid",
801 + "timeframe": "1day",
802 + "period": "2000-2007",
803 + "half_life_days": null,
804 + "fdr_excess_ac1": false,
805 + "fdr_vr5": false,
806 + "fdr_vr30": false
807 + },
808 + {
809 + "n": 24019,
810 + "ac1": -0.01417,
811 + "edge_spread": 0.009626,
812 + "bounce_ac1": -0.49855,
813 + "excess_ac1": 0.48438,
814 + "excess_ci95": [
815 + 0.46929,
816 + 0.50345
817 + ],
818 + "p_excess": 0.009950248756218905,
819 + "vr5": 0.958,
820 + "p_vr5": 0.029850746268656716,
821 + "vr30": 0.887,
822 + "p_vr30": 0.04975124378109453,
823 + "ticker": "AAPL",
824 + "bucket": "liquid",
825 + "timeframe": "30min",
826 + "period": "2000-2007",
827 + "fdr_excess_ac1": true,
828 + "fdr_vr5": false,
829 + "fdr_vr30": false
830 + },
831 + {
832 + "n": 154049,
833 + "ac1": -0.04984,
834 + "edge_spread": 0.009626,
835 + "bounce_ac1": -2.3223,
836 + "excess_ac1": 2.27246,
837 + "excess_ci95": [
838 + 2.26099,
839 + 2.28293
840 + ],
841 + "p_excess": 0.009950248756218905,
842 + "vr5": 0.8974,
843 + "p_vr5": 0.009950248756218905,
844 + "vr30": 0.8516,
845 + "p_vr30": 0.009950248756218905,
846 + "ticker": "AAPL",
847 + "bucket": "liquid",
848 + "timeframe": "5min",
849 + "period": "2000-2007",
850 + "fdr_excess_ac1": true,
851 + "fdr_vr5": true,
852 + "fdr_vr30": true
853 + },
854 + {
855 + "n": 2014,
856 + "ac1": -0.00797,
857 + "edge_spread": 0.006635,
858 + "bounce_ac1": -0.02488,
859 + "excess_ac1": 0.01692,
860 + "excess_ci95": [
861 + -0.02882,
862 + 0.05857
863 + ],
864 + "p_excess": 0.4577114427860697,
865 + "vr5": 0.9795,
866 + "p_vr5": 0.5870646766169154,
867 + "vr30": 1.0634,
868 + "p_vr30": 0.9353233830845771,
869 + "ticker": "AAPL",
870 + "bucket": "liquid",
871 + "timeframe": "1day",
872 + "period": "2008-2015",
873 + "half_life_days": 1665.2,
874 + "fdr_excess_ac1": false,
875 + "fdr_vr5": false,
876 + "fdr_vr30": false
877 + },
878 + {
879 + "n": 24177,
880 + "ac1": 0.00293,
881 + "edge_spread": 0.006635,
882 + "bounce_ac1": -0.61154,
883 + "excess_ac1": 0.61447,
884 + "excess_ci95": [
885 + 0.59109,
886 + 0.63466
887 + ],
888 + "p_excess": 0.009950248756218905,
889 + "vr5": 1.0009,
890 + "p_vr5": 0.9353233830845771,
891 + "vr30": 0.8804,
892 + "p_vr30": 0.04975124378109453,
893 + "ticker": "AAPL",
894 + "bucket": "liquid",
895 + "timeframe": "30min",
896 + "period": "2008-2015",
897 + "fdr_excess_ac1": true,
898 + "fdr_vr5": false,
899 + "fdr_vr30": false
900 + },
901 + {
902 + "n": 154995,
903 + "ac1": -0.01993,
904 + "edge_spread": 0.006635,
905 + "bounce_ac1": -3.01408,
906 + "excess_ac1": 2.99416,
907 + "excess_ci95": [
908 + 2.97999,
909 + 3.00853
910 + ],
911 + "p_excess": 0.009950248756218905,
912 + "vr5": 0.9491,
913 + "p_vr5": 0.009950248756218905,
914 + "vr30": 0.922,
915 + "p_vr30": 0.029850746268656716,
916 + "ticker": "AAPL",
917 + "bucket": "liquid",
918 + "timeframe": "5min",
919 + "period": "2008-2015",
920 + "fdr_excess_ac1": true,
921 + "fdr_vr5": true,
922 + "fdr_vr30": false
923 + },
924 + {
925 + "n": 2008,
926 + "ac1": -0.02344,
927 + "edge_spread": 0.003974,
928 + "bounce_ac1": -0.00851,
929 + "excess_ac1": -0.01492,
930 + "excess_ci95": [
931 + -0.07646,
932 + 0.04267
933 + ],
934 + "p_excess": 0.6069651741293532,
935 + "vr5": 0.9079,
936 + "p_vr5": 0.09950248756218906,
937 + "vr30": 0.8867,
938 + "p_vr30": 0.6467661691542289,
939 + "ticker": "MSFT",
940 + "bucket": "liquid",
941 + "timeframe": "1day",
942 + "period": "2000-2007",
943 + "half_life_days": 52.2,
944 + "fdr_excess_ac1": false,
945 + "fdr_vr5": false,
946 + "fdr_vr30": false
947 + },
948 + {
949 + "n": 24012,
950 + "ac1": -0.01831,
951 + "edge_spread": 0.003974,
952 + "bounce_ac1": -0.2039,
953 + "excess_ac1": 0.18559,
954 + "excess_ci95": [
955 + 0.16738,
956 + 0.20328
957 + ],
958 + "p_excess": 0.009950248756218905,
959 + "vr5": 0.9694,
960 + "p_vr5": 0.1691542288557214,
961 + "vr30": 0.9381,
962 + "p_vr30": 0.3681592039800995,
963 + "ticker": "MSFT",
964 + "bucket": "liquid",
965 + "timeframe": "30min",
966 + "period": "2000-2007",
967 + "fdr_excess_ac1": true,
968 + "fdr_vr5": false,
969 + "fdr_vr30": false
970 + },
971 + {
972 + "n": 153984,
973 + "ac1": -0.02827,
974 + "edge_spread": 0.003974,
975 + "bounce_ac1": -0.98169,
976 + "excess_ac1": 0.95342,
977 + "excess_ci95": [
978 + 0.94096,
979 + 0.96383
980 + ],
981 + "p_excess": 0.009950248756218905,
982 + "vr5": 0.9004,
983 + "p_vr5": 0.009950248756218905,
984 + "vr30": 0.8371,
985 + "p_vr30": 0.009950248756218905,
986 + "ticker": "MSFT",
987 + "bucket": "liquid",
988 + "timeframe": "5min",
989 + "period": "2000-2007",
990 + "fdr_excess_ac1": true,
991 + "fdr_vr5": true,
992 + "fdr_vr30": true
993 + },
994 + {
995 + "n": 2014,
996 + "ac1": -0.06032,
997 + "edge_spread": 0.004179,
998 + "bounce_ac1": -0.01264,
999 + "excess_ac1": -0.04768,
1000 + "excess_ci95": [
1001 + -0.10395,
1002 + 0.02185
1003 + ],
1004 + "p_excess": 0.24875621890547264,
1005 + "vr5": 0.8293,
1006 + "p_vr5": 0.029850746268656716,
1007 + "vr30": 0.6912,
1008 + "p_vr30": 0.01990049751243781,
1009 + "ticker": "MSFT",
1010 + "bucket": "liquid",
1011 + "timeframe": "1day",
1012 + "period": "2008-2015",
1013 + "half_life_days": 514.3,
1014 + "fdr_excess_ac1": false,
1015 + "fdr_vr5": false,
1016 + "fdr_vr30": false
1017 + },
1018 + {
1019 + "n": 24157,
1020 + "ac1": 0.01901,
1021 + "edge_spread": 0.004179,
1022 + "bounce_ac1": -0.32101,
1023 + "excess_ac1": 0.34002,
1024 + "excess_ci95": [
1025 + 0.3113,
1026 + 0.36835
1027 + ],
1028 + "p_excess": 0.009950248756218905,
1029 + "vr5": 1.0166,
1030 + "p_vr5": 0.6965174129353234,
1031 + "vr30": 0.8706,
1032 + "p_vr30": 0.05970149253731343,
1033 + "ticker": "MSFT",
1034 + "bucket": "liquid",
1035 + "timeframe": "30min",
1036 + "period": "2008-2015",
1037 + "fdr_excess_ac1": true,
1038 + "fdr_vr5": false,
1039 + "fdr_vr30": false
1040 + },
1041 + {
1042 + "n": 154730,
1043 + "ac1": -0.03417,
1044 + "edge_spread": 0.004179,
1045 + "bounce_ac1": -1.57806,
1046 + "excess_ac1": 1.54388,
1047 + "excess_ci95": [
1048 + 1.53203,
1049 + 1.55481
1050 + ],
1051 + "p_excess": 0.009950248756218905,
1052 + "vr5": 0.9346,
1053 + "p_vr5": 0.009950248756218905,
1054 + "vr30": 0.9346,
1055 + "p_vr30": 0.029850746268656716,
1056 + "ticker": "MSFT",
1057 + "bucket": "liquid",
1058 + "timeframe": "5min",
1059 + "period": "2008-2015",
1060 + "fdr_excess_ac1": true,
1061 + "fdr_vr5": true,
1062 + "fdr_vr30": false
1063 + },
1064 + {
1065 + "n": 2008,
1066 + "ac1": 0.022,
1067 + "edge_spread": 0.005473,
1068 + "bounce_ac1": -0.00328,
1069 + "excess_ac1": 0.02528,
1070 + "excess_ci95": [
1071 + -0.01626,
1072 + 0.0678
1073 + ],
1074 + "p_excess": 0.3383084577114428,
1075 + "vr5": 1.0343,
1076 + "p_vr5": 0.5870646766169154,
1077 + "vr30": 1.0224,
1078 + "p_vr30": 0.7263681592039801,
1079 + "ticker": "NVDA",
1080 + "bucket": "liquid",
1081 + "timeframe": "1day",
1082 + "period": "2000-2007",
1083 + "half_life_days": 253.0,
1084 + "fdr_excess_ac1": false,
1085 + "fdr_vr5": false,
1086 + "fdr_vr30": false
1087 + },
1088 + {
1089 + "n": 24013,
1090 + "ac1": 0.01941,
1091 + "edge_spread": 0.005473,
1092 + "bounce_ac1": -0.07772,
1093 + "excess_ac1": 0.09712,
1094 + "excess_ci95": [
1095 + 0.06956,
1096 + 0.11993
1097 + ],
1098 + "p_excess": 0.009950248756218905,
1099 + "vr5": 1.0086,
1100 + "p_vr5": 0.6766169154228856,
1101 + "vr30": 0.9766,
1102 + "p_vr30": 0.7960199004975125,
1103 + "ticker": "NVDA",
1104 + "bucket": "liquid",
1105 + "timeframe": "30min",
1106 + "period": "2000-2007",
1107 + "fdr_excess_ac1": true,
1108 + "fdr_vr5": false,
1109 + "fdr_vr30": false
1110 + },
1111 + {
1112 + "n": 153787,
1113 + "ac1": -0.03337,
1114 + "edge_spread": 0.005473,
1115 + "bounce_ac1": -0.3634,
1116 + "excess_ac1": 0.33003,
1117 + "excess_ci95": [
1118 + 0.31116,
1119 + 0.34477
1120 + ],
1121 + "p_excess": 0.009950248756218905,
1122 + "vr5": 0.9322,
1123 + "p_vr5": 0.009950248756218905,
1124 + "vr30": 0.919,
1125 + "p_vr30": 0.009950248756218905,
1126 + "ticker": "NVDA",
1127 + "bucket": "liquid",
1128 + "timeframe": "5min",
1129 + "period": "2000-2007",
1130 + "fdr_excess_ac1": true,
1131 + "fdr_vr5": true,
1132 + "fdr_vr30": true
1133 + },
1134 + {
1135 + "n": 2014,
1136 + "ac1": 0.00675,
1137 + "edge_spread": 0.007052,
1138 + "bounce_ac1": -0.01292,
1139 + "excess_ac1": 0.01966,
1140 + "excess_ci95": [
1141 + -0.03569,
1142 + 0.06265
1143 + ],
1144 + "p_excess": 0.6766169154228856,
1145 + "vr5": 1.0087,
1146 + "p_vr5": 0.9950248756218906,
1147 + "vr30": 1.0101,
1148 + "p_vr30": 0.8258706467661692,
1149 + "ticker": "NVDA",
1150 + "bucket": "liquid",
1151 + "timeframe": "1day",
1152 + "period": "2008-2015",
1153 + "half_life_days": 133.0,
1154 + "fdr_excess_ac1": false,
1155 + "fdr_vr5": false,
1156 + "fdr_vr30": false
1157 + },
1158 + {
1159 + "n": 24117,
1160 + "ac1": -0.00759,
1161 + "edge_spread": 0.007052,
1162 + "bounce_ac1": -0.35119,
1163 + "excess_ac1": 0.3436,
1164 + "excess_ci95": [
1165 + 0.32485,
1166 + 0.36213
1167 + ],
1168 + "p_excess": 0.009950248756218905,
1169 + "vr5": 0.9818,
1170 + "p_vr5": 0.2885572139303483,
1171 + "vr30": 0.9781,
1172 + "p_vr30": 0.5970149253731343,
1173 + "ticker": "NVDA",
1174 + "bucket": "liquid",
1175 + "timeframe": "30min",
1176 + "period": "2008-2015",
1177 + "fdr_excess_ac1": true,
1178 + "fdr_vr5": false,
1179 + "fdr_vr30": false
1180 + },
1181 + {
1182 + "n": 154624,
1183 + "ac1": -0.03359,
1184 + "edge_spread": 0.007052,
1185 + "bounce_ac1": -1.61677,
1186 + "excess_ac1": 1.58317,
1187 + "excess_ci95": [
1188 + 1.57061,
1189 + 1.59518
1190 + ],
1191 + "p_excess": 0.009950248756218905,
1192 + "vr5": 0.9355,
1193 + "p_vr5": 0.009950248756218905,
1194 + "vr30": 0.9139,
1195 + "p_vr30": 0.01990049751243781,
1196 + "ticker": "NVDA",
1197 + "bucket": "liquid",
1198 + "timeframe": "5min",
1199 + "period": "2008-2015",
1200 + "fdr_excess_ac1": true,
1201 + "fdr_vr5": true,
1202 + "fdr_vr30": false
1203 + },
1204 + {
1205 + "n": 2008,
1206 + "ac1": 0.00993,
1207 + "edge_spread": 0.010444,
1208 + "bounce_ac1": -0.01501,
1209 + "excess_ac1": 0.02493,
1210 + "excess_ci95": [
1211 + -0.03171,
1212 + 0.0746
1213 + ],
1214 + "p_excess": 0.3383084577114428,
1215 + "vr5": 0.961,
1216 + "p_vr5": 0.7164179104477612,
1217 + "vr30": 0.7792,
1218 + "p_vr30": 0.3681592039800995,
1219 + "ticker": "AMZN",
1220 + "bucket": "liquid",
1221 + "timeframe": "1day",
1222 + "period": "2000-2007",
1223 + "half_life_days": 279.7,
1224 + "fdr_excess_ac1": false,
1225 + "fdr_vr5": false,
1226 + "fdr_vr30": false
1227 + },
1228 + {
1229 + "n": 24015,
1230 + "ac1": 0.02573,
1231 + "edge_spread": 0.010444,
1232 + "bounce_ac1": -0.34744,
1233 + "excess_ac1": 0.37317,
1234 + "excess_ci95": [
1235 + 0.34961,
1236 + 0.39878
1237 + ],
1238 + "p_excess": 0.009950248756218905,
1239 + "vr5": 1.048,
1240 + "p_vr5": 0.14925373134328357,
1241 + "vr30": 0.9883,
1242 + "p_vr30": 0.8159203980099502,
1243 + "ticker": "AMZN",
1244 + "bucket": "liquid",
1245 + "timeframe": "30min",
1246 + "period": "2000-2007",
1247 + "fdr_excess_ac1": true,
1248 + "fdr_vr5": false,
1249 + "fdr_vr30": false
1250 + },
1251 + {
1252 + "n": 154009,
1253 + "ac1": -0.0093,
1254 + "edge_spread": 0.010444,
1255 + "bounce_ac1": -1.75917,
1256 + "excess_ac1": 1.74986,
1257 + "excess_ci95": [
1258 + 1.73794,
1259 + 1.76811
1260 + ],
1261 + "p_excess": 0.009950248756218905,
1262 + "vr5": 0.9888,
1263 + "p_vr5": 0.5870646766169154,
1264 + "vr30": 0.9954,
1265 + "p_vr30": 0.8955223880597015,
1266 + "ticker": "AMZN",
1267 + "bucket": "liquid",
1268 + "timeframe": "5min",
1269 + "period": "2000-2007",
1270 + "fdr_excess_ac1": true,
1271 + "fdr_vr5": false,
1272 + "fdr_vr30": false
1273 + },
1274 + {
1275 + "n": 2014,
1276 + "ac1": -0.02083,
1277 + "edge_spread": 0.006712,
1278 + "bounce_ac1": -0.01711,
1279 + "excess_ac1": -0.00372,
1280 + "excess_ci95": [
1281 + -0.05607,
1282 + 0.04496
1283 + ],
1284 + "p_excess": 0.9751243781094527,
1285 + "vr5": 0.8913,
1286 + "p_vr5": 0.04975124378109453,
1287 + "vr30": 0.791,
1288 + "p_vr30": 0.11940298507462686,
1289 + "ticker": "AMZN",
1290 + "bucket": "liquid",
1291 + "timeframe": "1day",
1292 + "period": "2008-2015",
1293 + "half_life_days": 8997.9,
1294 + "fdr_excess_ac1": false,
1295 + "fdr_vr5": false,
1296 + "fdr_vr30": false
1297 + },
1298 + {
1299 + "n": 24152,
1300 + "ac1": -2e-05,
1301 + "edge_spread": 0.006712,
1302 + "bounce_ac1": -0.42463,
1303 + "excess_ac1": 0.42461,
1304 + "excess_ci95": [
1305 + 0.39735,
1306 + 0.45
1307 + ],
1308 + "p_excess": 0.009950248756218905,
1309 + "vr5": 0.9885,
1310 + "p_vr5": 0.6666666666666666,
1311 + "vr30": 0.8564,
1312 + "p_vr30": 0.01990049751243781,
1313 + "ticker": "AMZN",
1314 + "bucket": "liquid",
1315 + "timeframe": "30min",
1316 + "period": "2008-2015",
1317 + "fdr_excess_ac1": true,
1318 + "fdr_vr5": false,
1319 + "fdr_vr30": false
1320 + },
1321 + {
1322 + "n": 154737,
1323 + "ac1": -0.02629,
1324 + "edge_spread": 0.006712,
1325 + "bounce_ac1": -2.006,
1326 + "excess_ac1": 1.97971,
1327 + "excess_ci95": [
1328 + 1.97089,
1329 + 1.98835
1330 + ],
1331 + "p_excess": 0.009950248756218905,
1332 + "vr5": 0.9272,
1333 + "p_vr5": 0.009950248756218905,
1334 + "vr30": 0.9038,
1335 + "p_vr30": 0.009950248756218905,
1336 + "ticker": "AMZN",
1337 + "bucket": "liquid",
1338 + "timeframe": "5min",
1339 + "period": "2008-2015",
1340 + "fdr_excess_ac1": true,
1341 + "fdr_vr5": true,
1342 + "fdr_vr30": true
1343 + },
1344 + {
1345 + "n": 440,
1346 + "ac1": 0.08422,
1347 + "edge_spread": 0.003483,
1348 + "bounce_ac1": -0.01183,
1349 + "excess_ac1": 0.09606,
1350 + "excess_ci95": [
1351 + -0.01307,
1352 + 0.1589
1353 + ],
1354 + "p_excess": 0.12935323383084577,
1355 + "vr5": 1.0157,
1356 + "p_vr5": 0.5572139303482587,
1357 + "vr30": 0.7967,
1358 + "p_vr30": 0.3383084577114428,
1359 + "ticker": "GOOGL",
1360 + "bucket": "liquid",
1361 + "timeframe": "1day",
1362 + "period": "2008-2015",
1363 + "half_life_days": 211.2,
1364 + "fdr_excess_ac1": false,
1365 + "fdr_vr5": false,
1366 + "fdr_vr30": false
1367 + },
1368 + {
1369 + "n": 5272,
1370 + "ac1": 0.00185,
1371 + "edge_spread": 0.003483,
1372 + "bounce_ac1": -0.35201,
1373 + "excess_ac1": 0.35386,
1374 + "excess_ci95": [
1375 + 0.31908,
1376 + 0.38192
1377 + ],
1378 + "p_excess": 0.009950248756218905,
1379 + "vr5": 0.996,
1380 + "p_vr5": 0.7661691542288557,
1381 + "vr30": 0.9835,
1382 + "p_vr30": 0.8059701492537313,
1383 + "ticker": "GOOGL",
1384 + "bucket": "liquid",
1385 + "timeframe": "30min",
1386 + "period": "2008-2015",
1387 + "fdr_excess_ac1": true,
1388 + "fdr_vr5": false,
1389 + "fdr_vr30": false
1390 + },
1391 + {
1392 + "n": 33811,
1393 + "ac1": -0.01448,
1394 + "edge_spread": 0.003483,
1395 + "bounce_ac1": -1.68087,
1396 + "excess_ac1": 1.6664,
1397 + "excess_ci95": [
1398 + 1.64752,
1399 + 1.67824
1400 + ],
1401 + "p_excess": 0.009950248756218905,
1402 + "vr5": 0.9424,
1403 + "p_vr5": 0.009950248756218905,
1404 + "vr30": 0.9386,
1405 + "p_vr30": 0.029850746268656716,
1406 + "ticker": "GOOGL",
1407 + "bucket": "liquid",
1408 + "timeframe": "5min",
1409 + "period": "2008-2015",
1410 + "fdr_excess_ac1": true,
1411 + "fdr_vr5": true,
1412 + "fdr_vr30": false
1413 + },
1414 + {
1415 + "n": 909,
1416 + "ac1": 0.007,
1417 + "edge_spread": 0.002899,
1418 + "bounce_ac1": -0.00306,
1419 + "excess_ac1": 0.01006,
1420 + "excess_ci95": [
1421 + -0.05945,
1422 + 0.06705
1423 + ],
1424 + "p_excess": 0.835820895522388,
1425 + "vr5": 1.021,
1426 + "p_vr5": 0.8756218905472637,
1427 + "vr30": 1.1455,
1428 + "p_vr30": 0.8756218905472637,
1429 + "ticker": "META",
1430 + "bucket": "liquid",
1431 + "timeframe": "1day",
1432 + "period": "2008-2015",
1433 + "half_life_days": 1377.2,
1434 + "fdr_excess_ac1": false,
1435 + "fdr_vr5": false,
1436 + "fdr_vr30": false
1437 + },
1438 + {
1439 + "n": 10917,
1440 + "ac1": 0.02387,
1441 + "edge_spread": 0.002899,
1442 + "bounce_ac1": -0.1001,
1443 + "excess_ac1": 0.12398,
1444 + "excess_ci95": [
1445 + 0.10006,
1446 + 0.14159
1447 + ],
1448 + "p_excess": 0.009950248756218905,
1449 + "vr5": 1.0539,
1450 + "p_vr5": 0.10945273631840796,
1451 + "vr30": 0.9636,
1452 + "p_vr30": 0.7960199004975125,
1453 + "ticker": "META",
1454 + "bucket": "liquid",
1455 + "timeframe": "30min",
1456 + "period": "2008-2015",
1457 + "fdr_excess_ac1": true,
1458 + "fdr_vr5": false,
1459 + "fdr_vr30": false
1460 + },
1461 + {
1462 + "n": 69926,
1463 + "ac1": -0.02888,
1464 + "edge_spread": 0.002899,
1465 + "bounce_ac1": -0.44437,
1466 + "excess_ac1": 0.41549,
1467 + "excess_ci95": [
1468 + 0.39977,
1469 + 0.43014
1470 + ],
1471 + "p_excess": 0.009950248756218905,
1472 + "vr5": 0.927,
1473 + "p_vr5": 0.009950248756218905,
1474 + "vr30": 0.9537,
1475 + "p_vr30": 0.15920398009950248,
1476 + "ticker": "META",
1477 + "bucket": "liquid",
1478 + "timeframe": "5min",
1479 + "period": "2008-2015",
1480 + "fdr_excess_ac1": true,
1481 + "fdr_vr5": true,
1482 + "fdr_vr30": false
1483 + },
1484 + {
1485 + "n": 1386,
1486 + "ac1": 0.01021,
1487 + "edge_spread": 0.007431,
1488 + "bounce_ac1": -0.01171,
1489 + "excess_ac1": 0.02192,
1490 + "excess_ci95": [
1491 + -0.07368,
1492 + 0.05986
1493 + ],
1494 + "p_excess": 0.9950248756218906,
1495 + "vr5": 0.8997,
1496 + "p_vr5": 0.15920398009950248,
1497 + "vr30": 0.9938,
1498 + "p_vr30": 0.6268656716417911,
1499 + "ticker": "TSLA",
1500 + "bucket": "liquid",
1501 + "timeframe": "1day",
1502 + "period": "2008-2015",
1503 + "half_life_days": 1300.1,
1504 + "fdr_excess_ac1": false,
1505 + "fdr_vr5": false,
1506 + "fdr_vr30": false
1507 + },
1508 + {
1509 + "n": 16611,
1510 + "ac1": -0.02376,
1511 + "edge_spread": 0.007431,
1512 + "bounce_ac1": -0.29095,
1513 + "excess_ac1": 0.26718,
1514 + "excess_ci95": [
1515 + 0.22584,
1516 + 0.29094
1517 + ],
1518 + "p_excess": 0.009950248756218905,
1519 + "vr5": 0.9678,
1520 + "p_vr5": 0.08955223880597014,
1521 + "vr30": 0.9828,
1522 + "p_vr30": 0.6169154228855721,
1523 + "ticker": "TSLA",
1524 + "bucket": "liquid",
1525 + "timeframe": "30min",
1526 + "period": "2008-2015",
1527 + "fdr_excess_ac1": true,
1528 + "fdr_vr5": false,
1529 + "fdr_vr30": false
1530 + },
1531 + {
1532 + "n": 106412,
1533 + "ac1": -0.03296,
1534 + "edge_spread": 0.007431,
1535 + "bounce_ac1": -1.3287,
1536 + "excess_ac1": 1.29574,
1537 + "excess_ci95": [
1538 + 1.28399,
1539 + 1.31241
1540 + ],
1541 + "p_excess": 0.009950248756218905,
1542 + "vr5": 0.919,
1543 + "p_vr5": 0.009950248756218905,
1544 + "vr30": 0.8886,
1545 + "p_vr30": 0.01990049751243781,
1546 + "ticker": "TSLA",
1547 + "bucket": "liquid",
1548 + "timeframe": "5min",
1549 + "period": "2008-2015",
1550 + "fdr_excess_ac1": true,
1551 + "fdr_vr5": true,
1552 + "fdr_vr30": false
1553 + },
1554 + {
1555 + "n": 1898,
1556 + "ac1": -0.03573,
1557 + "edge_spread": 0.003245,
1558 + "bounce_ac1": -0.00582,
1559 + "excess_ac1": -0.02992,
1560 + "excess_ci95": [
1561 + -0.08,
1562 + 0.03869
1563 + ],
1564 + "p_excess": 0.44776119402985076,
1565 + "vr5": 0.9464,
1566 + "p_vr5": 0.46766169154228854,
1567 + "vr30": 0.9767,
1568 + "p_vr30": 0.7860696517412935,
1569 + "ticker": "JPM",
1570 + "bucket": "liquid",
1571 + "timeframe": "1day",
1572 + "period": "2000-2007",
1573 + "half_life_days": 143.2,
1574 + "fdr_excess_ac1": false,
1575 + "fdr_vr5": false,
1576 + "fdr_vr30": false
1577 + },
1578 + {
1579 + "n": 22691,
1580 + "ac1": -0.00101,
1581 + "edge_spread": 0.003245,
1582 + "bounce_ac1": -0.11277,
1583 + "excess_ac1": 0.11176,
1584 + "excess_ci95": [
1585 + 0.09242,
1586 + 0.1388
1587 + ],
1588 + "p_excess": 0.009950248756218905,
1589 + "vr5": 1.0037,
1590 + "p_vr5": 0.9950248756218906,
1591 + "vr30": 0.862,
1592 + "p_vr30": 0.05970149253731343,
1593 + "ticker": "JPM",
1594 + "bucket": "liquid",
1595 + "timeframe": "30min",
1596 + "period": "2000-2007",
1597 + "fdr_excess_ac1": true,
1598 + "fdr_vr5": false,
1599 + "fdr_vr30": false
1600 + },
1601 + {
1602 + "n": 145465,
1603 + "ac1": -0.02691,
1604 + "edge_spread": 0.003245,
1605 + "bounce_ac1": -0.57179,
1606 + "excess_ac1": 0.54488,
1607 + "excess_ci95": [
1608 + 0.5245,
1609 + 0.56868
1610 + ],
1611 + "p_excess": 0.009950248756218905,
1612 + "vr5": 0.9445,
1613 + "p_vr5": 0.009950248756218905,
1614 + "vr30": 0.968,
1615 + "p_vr30": 0.3880597014925373,
1616 + "ticker": "JPM",
1617 + "bucket": "liquid",
1618 + "timeframe": "5min",
1619 + "period": "2000-2007",
1620 + "fdr_excess_ac1": true,
1621 + "fdr_vr5": true,
1622 + "fdr_vr30": false
1623 + },
1624 + {
1625 + "n": 2014,
1626 + "ac1": -0.10347,
1627 + "edge_spread": 0.006216,
1628 + "bounce_ac1": -0.01085,
1629 + "excess_ac1": -0.09261,
1630 + "excess_ci95": [
1631 + -0.16916,
1632 + 0.01241
1633 + ],
1634 + "p_excess": 0.07960199004975124,
1635 + "vr5": 0.753,
1636 + "p_vr5": 0.03980099502487562,
1637 + "vr30": 0.503,
1638 + "p_vr30": 0.01990049751243781,
1639 + "ticker": "JPM",
1640 + "bucket": "liquid",
1641 + "timeframe": "1day",
1642 + "period": "2008-2015",
1643 + "half_life_days": 99.8,
1644 + "fdr_excess_ac1": false,
1645 + "fdr_vr5": false,
1646 + "fdr_vr30": false
1647 + },
1648 + {
1649 + "n": 24152,
1650 + "ac1": -0.00491,
1651 + "edge_spread": 0.006216,
1652 + "bounce_ac1": -0.28605,
1653 + "excess_ac1": 0.28115,
1654 + "excess_ci95": [
1655 + 0.25169,
1656 + 0.31062
1657 + ],
1658 + "p_excess": 0.009950248756218905,
1659 + "vr5": 0.9923,
1660 + "p_vr5": 0.7562189054726368,
1661 + "vr30": 0.8974,
1662 + "p_vr30": 0.1791044776119403,
1663 + "ticker": "JPM",
1664 + "bucket": "liquid",
1665 + "timeframe": "30min",
1666 + "period": "2008-2015",
1667 + "fdr_excess_ac1": true,
1668 + "fdr_vr5": false,
1669 + "fdr_vr30": false
1670 + },
1671 + {
1672 + "n": 154727,
1673 + "ac1": -0.03364,
1674 + "edge_spread": 0.006216,
1675 + "bounce_ac1": -1.41016,
1676 + "excess_ac1": 1.37652,
1677 + "excess_ci95": [
1678 + 1.36108,
1679 + 1.39298
1680 + ],
1681 + "p_excess": 0.009950248756218905,
1682 + "vr5": 0.9312,
1683 + "p_vr5": 0.009950248756218905,
1684 + "vr30": 0.9202,
1685 + "p_vr30": 0.11940298507462686,
1686 + "ticker": "JPM",
1687 + "bucket": "liquid",
1688 + "timeframe": "5min",
1689 + "period": "2008-2015",
1690 + "fdr_excess_ac1": true,
1691 + "fdr_vr5": true,
1692 + "fdr_vr30": false
1693 + },
1694 + {
1695 + "n": 2008,
1696 + "ac1": -0.05777,
1697 + "edge_spread": 0.00481,
1698 + "bounce_ac1": -0.02505,
1699 + "excess_ac1": -0.03272,
1700 + "excess_ci95": [
1701 + -0.09897,
1702 + 0.02703
1703 + ],
1704 + "p_excess": 0.2885572139303483,
1705 + "vr5": 0.7974,
1706 + "p_vr5": 0.009950248756218905,
1707 + "vr30": 0.5697,
1708 + "p_vr30": 0.03980099502487562,
1709 + "ticker": "XOM",
1710 + "bucket": "liquid",
1711 + "timeframe": "1day",
1712 + "period": "2000-2007",
1713 + "half_life_days": 2279.9,
1714 + "fdr_excess_ac1": false,
1715 + "fdr_vr5": true,
1716 + "fdr_vr30": false
1717 + },
1718 + {
1719 + "n": 24010,
1720 + "ac1": -0.01749,
1721 + "edge_spread": 0.00481,
1722 + "bounce_ac1": -0.48535,
1723 + "excess_ac1": 0.46786,
1724 + "excess_ci95": [
1725 + 0.44739,
1726 + 0.48716
1727 + ],
1728 + "p_excess": 0.009950248756218905,
1729 + "vr5": 0.9816,
1730 + "p_vr5": 0.3582089552238806,
1731 + "vr30": 0.9534,
1732 + "p_vr30": 0.4079601990049751,
1733 + "ticker": "XOM",
1734 + "bucket": "liquid",
1735 + "timeframe": "30min",
1736 + "period": "2000-2007",
1737 + "fdr_excess_ac1": true,
1738 + "fdr_vr5": false,
1739 + "fdr_vr30": false
1740 + },
1741 + {
1742 + "n": 153910,
1743 + "ac1": -0.05839,
1744 + "edge_spread": 0.00481,
1745 + "bounce_ac1": -2.2768,
1746 + "excess_ac1": 2.21841,
1747 + "excess_ci95": [
1748 + 2.20746,
1749 + 2.23067
1750 + ],
1751 + "p_excess": 0.009950248756218905,
1752 + "vr5": 0.8769,
1753 + "p_vr5": 0.009950248756218905,
1754 + "vr30": 0.837,
1755 + "p_vr30": 0.009950248756218905,
1756 + "ticker": "XOM",
1757 + "bucket": "liquid",
1758 + "timeframe": "5min",
1759 + "period": "2000-2007",
1760 + "fdr_excess_ac1": true,
1761 + "fdr_vr5": true,
1762 + "fdr_vr30": true
1763 + },
1764 + {
1765 + "n": 2014,
1766 + "ac1": -0.14763,
1767 + "edge_spread": 0.004036,
1768 + "bounce_ac1": -0.01501,
1769 + "excess_ac1": -0.13261,
1770 + "excess_ci95": [
1771 + -0.18995,
1772 + -0.0296
1773 + ],
1774 + "p_excess": 0.009950248756218905,
1775 + "vr5": 0.6833,
1776 + "p_vr5": 0.009950248756218905,
1777 + "vr30": 0.4637,
1778 + "p_vr30": 0.01990049751243781,
1779 + "ticker": "XOM",
1780 + "bucket": "liquid",
1781 + "timeframe": "1day",
1782 + "period": "2008-2015",
1783 + "half_life_days": 88.5,
1784 + "fdr_excess_ac1": true,
1785 + "fdr_vr5": true,
1786 + "fdr_vr30": false
1787 + },
1788 + {
1789 + "n": 24151,
1790 + "ac1": 0.01053,
1791 + "edge_spread": 0.004036,
1792 + "bounce_ac1": -0.31506,
1793 + "excess_ac1": 0.3256,
1794 + "excess_ci95": [
1795 + 0.28371,
1796 + 0.36676
1797 + ],
1798 + "p_excess": 0.009950248756218905,
1799 + "vr5": 0.9791,
1800 + "p_vr5": 0.5074626865671642,
1801 + "vr30": 0.7897,
1802 + "p_vr30": 0.04975124378109453,
1803 + "ticker": "XOM",
1804 + "bucket": "liquid",
1805 + "timeframe": "30min",
1806 + "period": "2008-2015",
1807 + "fdr_excess_ac1": true,
1808 + "fdr_vr5": false,
1809 + "fdr_vr30": false
1810 + },
1811 + {
1812 + "n": 154716,
1813 + "ac1": -0.04671,
1814 + "edge_spread": 0.004036,
1815 + "bounce_ac1": -1.66319,
1816 + "excess_ac1": 1.61649,
1817 + "excess_ci95": [
1818 + 1.60157,
1819 + 1.6306
1820 + ],
1821 + "p_excess": 0.009950248756218905,
1822 + "vr5": 0.9111,
1823 + "p_vr5": 0.009950248756218905,
1824 + "vr30": 0.8721,
1825 + "p_vr30": 0.009950248756218905,
1826 + "ticker": "XOM",
1827 + "bucket": "liquid",
1828 + "timeframe": "5min",
1829 + "period": "2008-2015",
1830 + "fdr_excess_ac1": true,
1831 + "fdr_vr5": true,
1832 + "fdr_vr30": true
1833 + },
1834 + {
1835 + "n": 2008,
1836 + "ac1": 0.01309,
1837 + "edge_spread": 0.00472,
1838 + "bounce_ac1": -0.01731,
1839 + "excess_ac1": 0.0304,
1840 + "excess_ci95": [
1841 + -0.01357,
1842 + 0.0929
1843 + ],
1844 + "p_excess": 0.30845771144278605,
1845 + "vr5": 0.9382,
1846 + "p_vr5": 0.3880597014925373,
1847 + "vr30": 0.6322,
1848 + "p_vr30": 0.029850746268656716,
1849 + "ticker": "UNH",
1850 + "bucket": "liquid",
1851 + "timeframe": "1day",
1852 + "period": "2000-2007",
1853 + "half_life_days": 448.0,
1854 + "fdr_excess_ac1": false,
1855 + "fdr_vr5": false,
1856 + "fdr_vr30": false
1857 + },
1858 + {
1859 + "n": 24003,
1860 + "ac1": -0.02069,
1861 + "edge_spread": 0.00472,
1862 + "bounce_ac1": -0.32102,
1863 + "excess_ac1": 0.30033,
1864 + "excess_ci95": [
1865 + 0.27785,
1866 + 0.32073
1867 + ],
1868 + "p_excess": 0.009950248756218905,
1869 + "vr5": 0.9576,
1870 + "p_vr5": 0.029850746268656716,
1871 + "vr30": 0.9746,
1872 + "p_vr30": 0.46766169154228854,
1873 + "ticker": "UNH",
1874 + "bucket": "liquid",
1875 + "timeframe": "30min",
1876 + "period": "2000-2007",
1877 + "fdr_excess_ac1": true,
1878 + "fdr_vr5": false,
1879 + "fdr_vr30": false
1880 + },
1881 + {
1882 + "n": 153475,
1883 + "ac1": 0.01425,
1884 + "edge_spread": 0.00472,
1885 + "bounce_ac1": -1.62544,
1886 + "excess_ac1": 1.63969,
1887 + "excess_ci95": [
1888 + 1.63036,
1889 + 1.65002
1890 + ],
1891 + "p_excess": 0.009950248756218905,
1892 + "vr5": 1.0262,
1893 + "p_vr5": 0.029850746268656716,
1894 + "vr30": 1.0124,
1895 + "p_vr30": 0.6268656716417911,
1896 + "ticker": "UNH",
1897 + "bucket": "liquid",
1898 + "timeframe": "5min",
1899 + "period": "2000-2007",
1900 + "fdr_excess_ac1": true,
1901 + "fdr_vr5": false,
1902 + "fdr_vr30": false
1903 + },
1904 + {
1905 + "n": 2014,
1906 + "ac1": -0.0351,
1907 + "edge_spread": 0.005506,
1908 + "bounce_ac1": -0.01394,
1909 + "excess_ac1": -0.02116,
1910 + "excess_ci95": [
1911 + -0.08337,
1912 + 0.05499
1913 + ],
1914 + "p_excess": 0.6766169154228856,
1915 + "vr5": 0.9837,
1916 + "p_vr5": 0.7960199004975125,
1917 + "vr30": 0.81,
1918 + "p_vr30": 0.6865671641791045,
1919 + "ticker": "UNH",
1920 + "bucket": "liquid",
1921 + "timeframe": "1day",
1922 + "period": "2008-2015",
1923 + "half_life_days": 1806.5,
1924 + "fdr_excess_ac1": false,
1925 + "fdr_vr5": false,
1926 + "fdr_vr30": false
1927 + },
1928 + {
1929 + "n": 24104,
1930 + "ac1": -0.01321,
1931 + "edge_spread": 0.005506,
1932 + "bounce_ac1": -0.33849,
1933 + "excess_ac1": 0.32528,
1934 + "excess_ci95": [
1935 + 0.2986,
1936 + 0.35495
1937 + ],
1938 + "p_excess": 0.009950248756218905,
1939 + "vr5": 0.9717,
1940 + "p_vr5": 0.30845771144278605,
1941 + "vr30": 0.8428,
1942 + "p_vr30": 0.03980099502487562,
1943 + "ticker": "UNH",
1944 + "bucket": "liquid",
1945 + "timeframe": "30min",
1946 + "period": "2008-2015",
1947 + "fdr_excess_ac1": true,
1948 + "fdr_vr5": false,
1949 + "fdr_vr30": false
1950 + },
1951 + {
1952 + "n": 154571,
1953 + "ac1": 0.01121,
1954 + "edge_spread": 0.005506,
1955 + "bounce_ac1": -1.61146,
1956 + "excess_ac1": 1.62268,
1957 + "excess_ci95": [
1958 + 1.60058,
1959 + 1.64456
1960 + ],
1961 + "p_excess": 0.009950248756218905,
1962 + "vr5": 1.0071,
1963 + "p_vr5": 0.6865671641791045,
1964 + "vr30": 1.023,
1965 + "p_vr30": 0.736318407960199,
1966 + "ticker": "UNH",
1967 + "bucket": "liquid",
1968 + "timeframe": "5min",
1969 + "period": "2008-2015",
1970 + "fdr_excess_ac1": true,
1971 + "fdr_vr5": false,
1972 + "fdr_vr30": false
1973 + },
1974 + {
1975 + "n": 2009,
1976 + "ac1": -0.03942,
1977 + "edge_spread": 0.00308,
1978 + "bounce_ac1": -0.01829,
1979 + "excess_ac1": -0.02113,
1980 + "excess_ci95": [
1981 + -0.06996,
1982 + 0.02872
1983 + ],
1984 + "p_excess": 0.4975124378109453,
1985 + "vr5": 0.8637,
1986 + "p_vr5": 0.01990049751243781,
1987 + "vr30": 0.7125,
1988 + "p_vr30": 0.03980099502487562,
1989 + "ticker": "SPY",
1990 + "bucket": "liquid",
1991 + "timeframe": "1day",
1992 + "period": "2000-2007",
1993 + "half_life_days": 267.0,
1994 + "fdr_excess_ac1": false,
1995 + "fdr_vr5": true,
1996 + "fdr_vr30": false
1997 + },
1998 + {
1999 + "n": 24035,
2000 + "ac1": 0.00115,
2001 + "edge_spread": 0.00308,
2002 + "bounce_ac1": -0.36845,
2003 + "excess_ac1": 0.3696,
2004 + "excess_ci95": [
2005 + 0.3469,
2006 + 0.38743
2007 + ],
2008 + "p_excess": 0.009950248756218905,
2009 + "vr5": 1.0306,
2010 + "p_vr5": 0.21890547263681592,
2011 + "vr30": 1.0115,
2012 + "p_vr30": 0.6169154228855721,
2013 + "ticker": "SPY",
2014 + "bucket": "liquid",
2015 + "timeframe": "30min",
2016 + "period": "2000-2007",
2017 + "fdr_excess_ac1": true,
2018 + "fdr_vr5": false,
2019 + "fdr_vr30": false
2020 + },
2021 + {
2022 + "n": 154150,
2023 + "ac1": -0.05764,
2024 + "edge_spread": 0.00308,
2025 + "bounce_ac1": -1.84335,
2026 + "excess_ac1": 1.78571,
2027 + "excess_ci95": [
2028 + 1.77486,
2029 + 1.79538
2030 + ],
2031 + "p_excess": 0.009950248756218905,
2032 + "vr5": 0.8864,
2033 + "p_vr5": 0.009950248756218905,
2034 + "vr30": 0.8906,
2035 + "p_vr30": 0.009950248756218905,
2036 + "ticker": "SPY",
2037 + "bucket": "liquid",
2038 + "timeframe": "5min",
2039 + "period": "2000-2007",
2040 + "fdr_excess_ac1": true,
2041 + "fdr_vr5": true,
2042 + "fdr_vr30": true
2043 + },
2044 + {
2045 + "n": 2014,
2046 + "ac1": -0.07874,
2047 + "edge_spread": 0.004275,
2048 + "bounce_ac1": -0.02347,
2049 + "excess_ac1": -0.05527,
2050 + "excess_ci95": [
2051 + -0.09725,
2052 + -0.00594
2053 + ],
2054 + "p_excess": 0.029850746268656716,
2055 + "vr5": 0.7926,
2056 + "p_vr5": 0.009950248756218905,
2057 + "vr30": 0.6838,
2058 + "p_vr30": 0.05970149253731343,
2059 + "ticker": "SPY",
2060 + "bucket": "liquid",
2061 + "timeframe": "1day",
2062 + "period": "2008-2015",
2063 + "half_life_days": 784.1,
2064 + "fdr_excess_ac1": true,
2065 + "fdr_vr5": true,
2066 + "fdr_vr30": false
2067 + },
2068 + {
2069 + "n": 24180,
2070 + "ac1": 0.05182,
2071 + "edge_spread": 0.004275,
2072 + "bounce_ac1": -0.57111,
2073 + "excess_ac1": 0.62292,
2074 + "excess_ci95": [
2075 + 0.59263,
2076 + 0.65482
2077 + ],
2078 + "p_excess": 0.009950248756218905,
2079 + "vr5": 1.0758,
2080 + "p_vr5": 0.009950248756218905,
2081 + "vr30": 0.8984,
2082 + "p_vr30": 0.2885572139303483,
2083 + "ticker": "SPY",
2084 + "bucket": "liquid",
2085 + "timeframe": "30min",
2086 + "period": "2008-2015",
2087 + "fdr_excess_ac1": true,
2088 + "fdr_vr5": true,
2089 + "fdr_vr30": false
2090 + },
2091 + {
2092 + "n": 155072,
2093 + "ac1": -0.02324,
2094 + "edge_spread": 0.004275,
2095 + "bounce_ac1": -3.13533,
2096 + "excess_ac1": 3.1121,
2097 + "excess_ci95": [
2098 + 3.10057,
2099 + 3.12395
2100 + ],
2101 + "p_excess": 0.009950248756218905,
2102 + "vr5": 0.9578,
2103 + "p_vr5": 0.009950248756218905,
2104 + "vr30": 1.0034,
2105 + "p_vr30": 0.845771144278607,
2106 + "ticker": "SPY",
2107 + "bucket": "liquid",
2108 + "timeframe": "5min",
2109 + "period": "2008-2015",
2110 + "fdr_excess_ac1": true,
2111 + "fdr_vr5": true,
2112 + "fdr_vr30": false
2113 + },
2114 + {
2115 + "n": 1972,
2116 + "ac1": -0.02101,
2117 + "edge_spread": 0.00543,
2118 + "bounce_ac1": -0.01593,
2119 + "excess_ac1": -0.00508,
2120 + "excess_ci95": [
2121 + -0.04816,
2122 + 0.04358
2123 + ],
2124 + "p_excess": 0.6965174129353234,
2125 + "vr5": 0.857,
2126 + "p_vr5": 0.009950248756218905,
2127 + "vr30": 0.8025,
2128 + "p_vr30": 0.11940298507462686,
2129 + "ticker": "QQQ",
2130 + "bucket": "liquid",
2131 + "timeframe": "1day",
2132 + "period": "2000-2007",
2133 + "half_life_days": 179.2,
2134 + "fdr_excess_ac1": false,
2135 + "fdr_vr5": true,
2136 + "fdr_vr30": false
2137 + },
2138 + {
2139 + "n": 24032,
2140 + "ac1": 0.02054,
2141 + "edge_spread": 0.00543,
2142 + "bounce_ac1": -0.31445,
2143 + "excess_ac1": 0.33499,
2144 + "excess_ci95": [
2145 + 0.31092,
2146 + 0.3558
2147 + ],
2148 + "p_excess": 0.009950248756218905,
2149 + "vr5": 1.0496,
2150 + "p_vr5": 0.009950248756218905,
2151 + "vr30": 0.9476,
2152 + "p_vr30": 0.6666666666666666,
2153 + "ticker": "QQQ",
2154 + "bucket": "liquid",
2155 + "timeframe": "30min",
2156 + "period": "2000-2007",
2157 + "fdr_excess_ac1": true,
2158 + "fdr_vr5": true,
2159 + "fdr_vr30": false
2160 + },
2161 + {
2162 + "n": 154141,
2163 + "ac1": -0.01539,
2164 + "edge_spread": 0.00543,
2165 + "bounce_ac1": -1.60349,
2166 + "excess_ac1": 1.5881,
2167 + "excess_ci95": [
2168 + 1.57679,
2169 + 1.60008
2170 + ],
2171 + "p_excess": 0.009950248756218905,
2172 + "vr5": 0.9372,
2173 + "p_vr5": 0.009950248756218905,
2174 + "vr30": 0.9354,
2175 + "p_vr30": 0.009950248756218905,
2176 + "ticker": "QQQ",
2177 + "bucket": "liquid",
2178 + "timeframe": "5min",
2179 + "period": "2000-2007",
2180 + "fdr_excess_ac1": true,
2181 + "fdr_vr5": true,
2182 + "fdr_vr30": true
2183 + },
2184 + {
2185 + "n": 2014,
2186 + "ac1": -0.05154,
2187 + "edge_spread": 0.003411,
2188 + "bounce_ac1": -0.01435,
2189 + "excess_ac1": -0.03719,
2190 + "excess_ci95": [
2191 + -0.07594,
2192 + 0.01499
2193 + ],
2194 + "p_excess": 0.15920398009950248,
2195 + "vr5": 0.857,
2196 + "p_vr5": 0.01990049751243781,
2197 + "vr30": 0.8166,
2198 + "p_vr30": 0.1791044776119403,
2199 + "ticker": "QQQ",
2200 + "bucket": "liquid",
2201 + "timeframe": "1day",
2202 + "period": "2008-2015",
2203 + "half_life_days": 4834.8,
2204 + "fdr_excess_ac1": false,
2205 + "fdr_vr5": true,
2206 + "fdr_vr30": false
2207 + },
2208 + {
2209 + "n": 24170,
2210 + "ac1": 0.03325,
2211 + "edge_spread": 0.003411,
2212 + "bounce_ac1": -0.31245,
2213 + "excess_ac1": 0.34571,
2214 + "excess_ci95": [
2215 + 0.31733,
2216 + 0.37215
2217 + ],
2218 + "p_excess": 0.009950248756218905,
2219 + "vr5": 1.0505,
2220 + "p_vr5": 0.05970149253731343,
2221 + "vr30": 0.8987,
2222 + "p_vr30": 0.15920398009950248,
2223 + "ticker": "QQQ",
2224 + "bucket": "liquid",
2225 + "timeframe": "30min",
2226 + "period": "2008-2015",
2227 + "fdr_excess_ac1": true,
2228 + "fdr_vr5": false,
2229 + "fdr_vr30": false
2230 + },
2231 + {
2232 + "n": 154874,
2233 + "ac1": -0.01025,
2234 + "edge_spread": 0.003411,
2235 + "bounce_ac1": -1.66836,
2236 + "excess_ac1": 1.65811,
2237 + "excess_ci95": [
2238 + 1.64713,
2239 + 1.66888
2240 + ],
2241 + "p_excess": 0.009950248756218905,
2242 + "vr5": 0.977,
2243 + "p_vr5": 0.05970149253731343,
2244 + "vr30": 0.9981,
2245 + "p_vr30": 0.9353233830845771,
2246 + "ticker": "QQQ",
2247 + "bucket": "liquid",
2248 + "timeframe": "5min",
2249 + "period": "2008-2015",
2250 + "fdr_excess_ac1": true,
2251 + "fdr_vr5": false,
2252 + "fdr_vr30": false
2253 + },
2254 + {
2255 + "n": 1971,
2256 + "ac1": -0.12027,
2257 + "edge_spread": 0.031522,
2258 + "bounce_ac1": -0.21362,
2259 + "excess_ac1": 0.09334,
2260 + "excess_ci95": [
2261 + 0.04433,
2262 + 0.15419
2263 + ],
2264 + "p_excess": 0.009950248756218905,
2265 + "vr5": 0.8042,
2266 + "p_vr5": 0.009950248756218905,
2267 + "vr30": 0.7266,
2268 + "p_vr30": 0.06965174129353234,
2269 + "ticker": "ATRO",
2270 + "bucket": "random",
2271 + "timeframe": "1day",
2272 + "period": "2000-2007",
2273 + "half_life_days": 6373.3,
2274 + "fdr_excess_ac1": true,
2275 + "fdr_vr5": true,
2276 + "fdr_vr30": false
2277 + },
2278 + {
2279 + "n": 11036,
2280 + "ac1": -0.19237,
2281 + "edge_spread": 0.031522,
2282 + "bounce_ac1": -0.73704,
2283 + "excess_ac1": 0.54467,
2284 + "excess_ci95": [
2285 + 0.5141,
2286 + 0.57691
2287 + ],
2288 + "p_excess": 0.009950248756218905,
2289 + "vr5": 0.6636,
2290 + "p_vr5": 0.009950248756218905,
2291 + "vr30": 0.5993,
2292 + "p_vr30": 0.009950248756218905,
2293 + "ticker": "ATRO",
2294 + "bucket": "random",
2295 + "timeframe": "30min",
2296 + "period": "2000-2007",
2297 + "fdr_excess_ac1": true,
2298 + "fdr_vr5": true,
2299 + "fdr_vr30": true
2300 + },
2301 + {
2302 + "n": 27212,
2303 + "ac1": -0.2513,
2304 + "edge_spread": 0.031522,
2305 + "bounce_ac1": -1.23289,
2306 + "excess_ac1": 0.98159,
2307 + "excess_ci95": [
2308 + 0.95253,
2309 + 1.00711
2310 + ],
2311 + "p_excess": 0.009950248756218905,
2312 + "vr5": 0.58,
2313 + "p_vr5": 0.009950248756218905,
2314 + "vr30": 0.4872,
2315 + "p_vr30": 0.009950248756218905,
2316 + "ticker": "ATRO",
2317 + "bucket": "random",
2318 + "timeframe": "5min",
2319 + "period": "2000-2007",
2320 + "fdr_excess_ac1": true,
2321 + "fdr_vr5": true,
2322 + "fdr_vr30": true
2323 + },
2324 + {
2325 + "n": 2014,
2326 + "ac1": 0.01576,
2327 + "edge_spread": 0.013863,
2328 + "bounce_ac1": -0.04118,
2329 + "excess_ac1": 0.05694,
2330 + "excess_ci95": [
2331 + -0.02316,
2332 + 0.13695
2333 + ],
2334 + "p_excess": 0.15920398009950248,
2335 + "vr5": 1.0658,
2336 + "p_vr5": 0.47761194029850745,
2337 + "vr30": 1.1814,
2338 + "p_vr30": 0.43781094527363185,
2339 + "ticker": "ATRO",
2340 + "bucket": "random",
2341 + "timeframe": "1day",
2342 + "period": "2008-2015",
2343 + "half_life_days": 1278.9,
2344 + "fdr_excess_ac1": false,
2345 + "fdr_vr5": false,
2346 + "fdr_vr30": false
2347 + },
2348 + {
2349 + "n": 23074,
2350 + "ac1": -0.0971,
2351 + "edge_spread": 0.013863,
2352 + "bounce_ac1": -0.59335,
2353 + "excess_ac1": 0.49625,
2354 + "excess_ci95": [
2355 + 0.46857,
2356 + 0.52587
2357 + ],
2358 + "p_excess": 0.009950248756218905,
2359 + "vr5": 0.8385,
2360 + "p_vr5": 0.009950248756218905,
2361 + "vr30": 0.8589,
2362 + "p_vr30": 0.029850746268656716,
2363 + "ticker": "ATRO",
2364 + "bucket": "random",
2365 + "timeframe": "30min",
2366 + "period": "2008-2015",
2367 + "fdr_excess_ac1": true,
2368 + "fdr_vr5": true,
2369 + "fdr_vr30": false
2370 + },
2371 + {
2372 + "n": 102140,
2373 + "ac1": -0.15266,
2374 + "edge_spread": 0.013863,
2375 + "bounce_ac1": -1.64795,
2376 + "excess_ac1": 1.4953,
2377 + "excess_ci95": [
2378 + 1.47649,
2379 + 1.51968
2380 + ],
2381 + "p_excess": 0.009950248756218905,
2382 + "vr5": 0.7319,
2383 + "p_vr5": 0.009950248756218905,
2384 + "vr30": 0.6477,
2385 + "p_vr30": 0.009950248756218905,
2386 + "ticker": "ATRO",
2387 + "bucket": "random",
2388 + "timeframe": "5min",
2389 + "period": "2008-2015",
2390 + "fdr_excess_ac1": true,
2391 + "fdr_vr5": true,
2392 + "fdr_vr30": true
2393 + },
2394 + {
2395 + "n": 1010,
2396 + "ac1": -0.11654,
2397 + "edge_spread": 0.021887,
2398 + "bounce_ac1": -0.06141,
2399 + "excess_ac1": -0.05513,
2400 + "excess_ci95": [
2401 + -0.13561,
2402 + 0.04288
2403 + ],
2404 + "p_excess": 0.3582089552238806,
2405 + "vr5": 0.8085,
2406 + "p_vr5": 0.01990049751243781,
2407 + "vr30": 0.5734,
2408 + "p_vr30": 0.06965174129353234,
2409 + "ticker": "AXDX",
2410 + "bucket": "random",
2411 + "timeframe": "1day",
2412 + "period": "2000-2007",
2413 + "half_life_days": 31.7,
2414 + "fdr_excess_ac1": false,
2415 + "fdr_vr5": true,
2416 + "fdr_vr30": false
2417 + },
2418 + {
2419 + "n": 3089,
2420 + "ac1": -0.06794,
2421 + "edge_spread": 0.021887,
2422 + "bounce_ac1": -0.18622,
2423 + "excess_ac1": 0.11828,
2424 + "excess_ci95": [
2425 + 0.08388,
2426 + 0.16319
2427 + ],
2428 + "p_excess": 0.009950248756218905,
2429 + "vr5": 0.8316,
2430 + "p_vr5": 0.009950248756218905,
2431 + "vr30": 0.6595,
2432 + "p_vr30": 0.009950248756218905,
2433 + "ticker": "AXDX",
2434 + "bucket": "random",
2435 + "timeframe": "30min",
2436 + "period": "2000-2007",
2437 + "fdr_excess_ac1": true,
2438 + "fdr_vr5": true,
2439 + "fdr_vr30": true
2440 + },
2441 + {
2442 + "n": 1966,
2443 + "ac1": -0.00783,
2444 + "edge_spread": 0.028145,
2445 + "bounce_ac1": -0.05534,
2446 + "excess_ac1": 0.04751,
2447 + "excess_ci95": [
2448 + -0.01392,
2449 + 0.11117
2450 + ],
2451 + "p_excess": 0.15920398009950248,
2452 + "vr5": 0.9719,
2453 + "p_vr5": 0.736318407960199,
2454 + "vr30": 0.9285,
2455 + "p_vr30": 0.5174129353233831,
2456 + "ticker": "AXDX",
2457 + "bucket": "random",
2458 + "timeframe": "1day",
2459 + "period": "2008-2015",
2460 + "half_life_days": 744.7,
2461 + "fdr_excess_ac1": false,
2462 + "fdr_vr5": false,
2463 + "fdr_vr30": false
2464 + },
2465 + {
2466 + "n": 15487,
2467 + "ac1": -0.14529,
2468 + "edge_spread": 0.028145,
2469 + "bounce_ac1": -0.42107,
2470 + "excess_ac1": 0.27578,
2471 + "excess_ci95": [
2472 + 0.24507,
2473 + 0.31067
2474 + ],
2475 + "p_excess": 0.009950248756218905,
2476 + "vr5": 0.7594,
2477 + "p_vr5": 0.009950248756218905,
2478 + "vr30": 0.7418,
2479 + "p_vr30": 0.009950248756218905,
2480 + "ticker": "AXDX",
2481 + "bucket": "random",
2482 + "timeframe": "30min",
2483 + "period": "2008-2015",
2484 + "fdr_excess_ac1": true,
2485 + "fdr_vr5": true,
2486 + "fdr_vr30": true
2487 + },
2488 + {
2489 + "n": 61440,
2490 + "ac1": -0.17307,
2491 + "edge_spread": 0.028145,
2492 + "bounce_ac1": -1.20928,
2493 + "excess_ac1": 1.03621,
2494 + "excess_ci95": [
2495 + 1.01246,
2496 + 1.06547
2497 + ],
2498 + "p_excess": 0.009950248756218905,
2499 + "vr5": 0.7046,
2500 + "p_vr5": 0.009950248756218905,
2501 + "vr30": 0.6709,
2502 + "p_vr30": 0.009950248756218905,
2503 + "ticker": "AXDX",
2504 + "bucket": "random",
2505 + "timeframe": "5min",
2506 + "period": "2008-2015",
2507 + "fdr_excess_ac1": true,
2508 + "fdr_vr5": true,
2509 + "fdr_vr30": true
2510 + },
2511 + {
2512 + "n": 2008,
2513 + "ac1": -0.04731,
2514 + "edge_spread": 0.002278,
2515 + "bounce_ac1": -0.00266,
2516 + "excess_ac1": -0.04465,
2517 + "excess_ci95": [
2518 + -0.09936,
2519 + 0.01975
2520 + ],
2521 + "p_excess": 0.22885572139303484,
2522 + "vr5": 0.9682,
2523 + "p_vr5": 0.736318407960199,
2524 + "vr30": 0.8367,
2525 + "p_vr30": 0.5870646766169154,
2526 + "ticker": "BKE",
2527 + "bucket": "random",
2528 + "timeframe": "1day",
2529 + "period": "2000-2007",
2530 + "half_life_days": 596.2,
2531 + "fdr_excess_ac1": false,
2532 + "fdr_vr5": false,
2533 + "fdr_vr30": false
2534 + },
2535 + {
2536 + "n": 20854,
2537 + "ac1": -0.00834,
2538 + "edge_spread": 0.002278,
2539 + "bounce_ac1": -0.04225,
2540 + "excess_ac1": 0.03391,
2541 + "excess_ci95": [
2542 + 0.01824,
2543 + 0.05446
2544 + ],
2545 + "p_excess": 0.009950248756218905,
2546 + "vr5": 1.0016,
2547 + "p_vr5": 0.8855721393034826,
2548 + "vr30": 1.01,
2549 + "p_vr30": 0.8756218905472637,
2550 + "ticker": "BKE",
2551 + "bucket": "random",
2552 + "timeframe": "30min",
2553 + "period": "2000-2007",
2554 + "fdr_excess_ac1": true,
2555 + "fdr_vr5": false,
2556 + "fdr_vr30": false
2557 + },
2558 + {
2559 + "n": 82446,
2560 + "ac1": -0.03602,
2561 + "edge_spread": 0.002278,
2562 + "bounce_ac1": -0.13783,
2563 + "excess_ac1": 0.10181,
2564 + "excess_ci95": [
2565 + 0.0867,
2566 + 0.11898
2567 + ],
2568 + "p_excess": 0.009950248756218905,
2569 + "vr5": 0.9772,
2570 + "p_vr5": 0.1890547263681592,
2571 + "vr30": 1.0285,
2572 + "p_vr30": 0.5074626865671642,
2573 + "ticker": "BKE",
2574 + "bucket": "random",
2575 + "timeframe": "5min",
2576 + "period": "2000-2007",
2577 + "fdr_excess_ac1": true,
2578 + "fdr_vr5": false,
2579 + "fdr_vr30": false
2580 + },
2581 + {
2582 + "n": 2014,
2583 + "ac1": -0.04692,
2584 + "edge_spread": 0.006961,
2585 + "bounce_ac1": -0.01747,
2586 + "excess_ac1": -0.02945,
2587 + "excess_ci95": [
2588 + -0.08747,
2589 + 0.03639
2590 + ],
2591 + "p_excess": 0.29850746268656714,
2592 + "vr5": 0.9127,
2593 + "p_vr5": 0.08955223880597014,
2594 + "vr30": 0.8767,
2595 + "p_vr30": 0.30845771144278605,
2596 + "ticker": "BKE",
2597 + "bucket": "random",
2598 + "timeframe": "1day",
2599 + "period": "2008-2015",
2600 + "half_life_days": 95.1,
2601 + "fdr_excess_ac1": false,
2602 + "fdr_vr5": false,
2603 + "fdr_vr30": false
2604 + },
2605 + {
2606 + "n": 24094,
2607 + "ac1": -0.01144,
2608 + "edge_spread": 0.006961,
2609 + "bounce_ac1": -0.35538,
2610 + "excess_ac1": 0.34394,
2611 + "excess_ci95": [
2612 + 0.32341,
2613 + 0.37467
2614 + ],
2615 + "p_excess": 0.009950248756218905,
2616 + "vr5": 0.9251,
2617 + "p_vr5": 0.009950248756218905,
2618 + "vr30": 0.7195,
2619 + "p_vr30": 0.009950248756218905,
2620 + "ticker": "BKE",
2621 + "bucket": "random",
2622 + "timeframe": "30min",
2623 + "period": "2008-2015",
2624 + "fdr_excess_ac1": true,
2625 + "fdr_vr5": true,
2626 + "fdr_vr30": true
2627 + },
2628 + {
2629 + "n": 153321,
2630 + "ac1": -0.03411,
2631 + "edge_spread": 0.006961,
2632 + "bounce_ac1": -1.50058,
2633 + "excess_ac1": 1.46647,
2634 + "excess_ci95": [
2635 + 1.45443,
2636 + 1.48129
2637 + ],
2638 + "p_excess": 0.009950248756218905,
2639 + "vr5": 0.9278,
2640 + "p_vr5": 0.009950248756218905,
2641 + "vr30": 0.8455,
2642 + "p_vr30": 0.009950248756218905,
2643 + "ticker": "BKE",
2644 + "bucket": "random",
2645 + "timeframe": "5min",
2646 + "period": "2008-2015",
2647 + "fdr_excess_ac1": true,
2648 + "fdr_vr5": true,
2649 + "fdr_vr30": true
2650 + },
2651 + {
2652 + "n": 2014,
2653 + "ac1": -0.02107,
2654 + "edge_spread": 0.015226,
2655 + "bounce_ac1": -0.04828,
2656 + "excess_ac1": 0.02721,
2657 + "excess_ci95": [
2658 + -0.05932,
2659 + 0.10067
2660 + ],
2661 + "p_excess": 0.5174129353233831,
2662 + "vr5": 0.9165,
2663 + "p_vr5": 0.25870646766169153,
2664 + "vr30": 0.7399,
2665 + "p_vr30": 0.25870646766169153,
2666 + "ticker": "CECO",
2667 + "bucket": "random",
2668 + "timeframe": "1day",
2669 + "period": "2008-2015",
2670 + "half_life_days": 309.8,
2671 + "fdr_excess_ac1": false,
2672 + "fdr_vr5": false,
2673 + "fdr_vr30": false
2674 + },
2675 + {
2676 + "n": 21122,
2677 + "ac1": -0.08226,
2678 + "edge_spread": 0.015226,
2679 + "bounce_ac1": -0.55799,
2680 + "excess_ac1": 0.47573,
2681 + "excess_ci95": [
2682 + 0.45915,
2683 + 0.50098
2684 + ],
2685 + "p_excess": 0.009950248756218905,
2686 + "vr5": 0.8662,
2687 + "p_vr5": 0.009950248756218905,
2688 + "vr30": 0.8414,
2689 + "p_vr30": 0.009950248756218905,
2690 + "ticker": "CECO",
2691 + "bucket": "random",
2692 + "timeframe": "30min",
2693 + "period": "2008-2015",
2694 + "fdr_excess_ac1": true,
2695 + "fdr_vr5": true,
2696 + "fdr_vr30": true
2697 + },
2698 + {
2699 + "n": 83777,
2700 + "ac1": -0.1666,
2701 + "edge_spread": 0.015226,
2702 + "bounce_ac1": -1.37998,
2703 + "excess_ac1": 1.21338,
2704 + "excess_ci95": [
2705 + 1.19603,
2706 + 1.23802
2707 + ],
2708 + "p_excess": 0.009950248756218905,
2709 + "vr5": 0.704,
2710 + "p_vr5": 0.009950248756218905,
2711 + "vr30": 0.6372,
2712 + "p_vr30": 0.009950248756218905,
2713 + "ticker": "CECO",
2714 + "bucket": "random",
2715 + "timeframe": "5min",
2716 + "period": "2008-2015",
2717 + "fdr_excess_ac1": true,
2718 + "fdr_vr5": true,
2719 + "fdr_vr30": true
2720 + },
2721 + {
2722 + "n": 808,
2723 + "ac1": 0.00579,
2724 + "edge_spread": 0.011374,
2725 + "bounce_ac1": -0.02856,
2726 + "excess_ac1": 0.03435,
2727 + "excess_ci95": [
2728 + -0.08501,
2729 + 0.14453
2730 + ],
2731 + "p_excess": 0.5373134328358209,
2732 + "vr5": 1.0341,
2733 + "p_vr5": 0.7960199004975125,
2734 + "vr30": 0.7351,
2735 + "p_vr30": 0.43781094527363185,
2736 + "ticker": "CKX",
2737 + "bucket": "random",
2738 + "timeframe": "1day",
2739 + "period": "2000-2007",
2740 + "half_life_days": 44.1,
2741 + "fdr_excess_ac1": false,
2742 + "fdr_vr5": false,
2743 + "fdr_vr30": false
2744 + },
2745 + {
2746 + "n": 1170,
2747 + "ac1": -0.24271,
2748 + "edge_spread": 0.024876,
2749 + "bounce_ac1": -0.12797,
2750 + "excess_ac1": -0.11474,
2751 + "excess_ci95": [
2752 + -0.177,
2753 + 0.00246
2754 + ],
2755 + "p_excess": 0.08955223880597014,
2756 + "vr5": 0.5534,
2757 + "p_vr5": 0.009950248756218905,
2758 + "vr30": 0.2717,
2759 + "p_vr30": 0.009950248756218905,
2760 + "ticker": "CKX",
2761 + "bucket": "random",
2762 + "timeframe": "1day",
2763 + "period": "2008-2015",
2764 + "half_life_days": 17.2,
2765 + "fdr_excess_ac1": false,
2766 + "fdr_vr5": true,
2767 + "fdr_vr30": true
2768 + },
2769 + {
2770 + "n": 968,
2771 + "ac1": 0.05627,
2772 + "edge_spread": 0.003791,
2773 + "bounce_ac1": -0.03935,
2774 + "excess_ac1": 0.09563,
2775 + "excess_ci95": [
2776 + 0.02234,
2777 + 0.16159
2778 + ],
2779 + "p_excess": 0.029850746268656716,
2780 + "vr5": 1.0491,
2781 + "p_vr5": 0.47761194029850745,
2782 + "vr30": 0.8951,
2783 + "p_vr30": 0.47761194029850745,
2784 + "ticker": "HTD",
2785 + "bucket": "random",
2786 + "timeframe": "1day",
2787 + "period": "2000-2007",
2788 + "half_life_days": 59.4,
2789 + "fdr_excess_ac1": true,
2790 + "fdr_vr5": false,
2791 + "fdr_vr30": false
2792 + },
2793 + {
2794 + "n": 11495,
2795 + "ac1": -0.19366,
2796 + "edge_spread": 0.003791,
2797 + "bounce_ac1": -0.38116,
2798 + "excess_ac1": 0.1875,
2799 + "excess_ci95": [
2800 + 0.14716,
2801 + 0.23214
2802 + ],
2803 + "p_excess": 0.009950248756218905,
2804 + "vr5": 0.7033,
2805 + "p_vr5": 0.009950248756218905,
2806 + "vr30": 0.6253,
2807 + "p_vr30": 0.009950248756218905,
2808 + "ticker": "HTD",
2809 + "bucket": "random",
2810 + "timeframe": "30min",
2811 + "period": "2000-2007",
2812 + "fdr_excess_ac1": true,
2813 + "fdr_vr5": true,
2814 + "fdr_vr30": true
2815 + },
2816 + {
2817 + "n": 53443,
2818 + "ac1": -0.26176,
2819 + "edge_spread": 0.003791,
2820 + "bounce_ac1": -0.88283,
2821 + "excess_ac1": 0.62107,
2822 + "excess_ci95": [
2823 + 0.59411,
2824 + 0.64582
2825 + ],
2826 + "p_excess": 0.009950248756218905,
2827 + "vr5": 0.5323,
2828 + "p_vr5": 0.009950248756218905,
2829 + "vr30": 0.4046,
2830 + "p_vr30": 0.009950248756218905,
2831 + "ticker": "HTD",
2832 + "bucket": "random",
2833 + "timeframe": "5min",
2834 + "period": "2000-2007",
2835 + "fdr_excess_ac1": true,
2836 + "fdr_vr5": true,
2837 + "fdr_vr30": true
2838 + },
2839 + {
2840 + "n": 2014,
2841 + "ac1": 0.15337,
2842 + "edge_spread": 0.00526,
2843 + "bounce_ac1": -0.02712,
2844 + "excess_ac1": 0.18049,
2845 + "excess_ci95": [
2846 + 0.05057,
2847 + 0.25044
2848 + ],
2849 + "p_excess": 0.009950248756218905,
2850 + "vr5": 1.2826,
2851 + "p_vr5": 0.05970149253731343,
2852 + "vr30": 1.1662,
2853 + "p_vr30": 0.5572139303482587,
2854 + "ticker": "HTD",
2855 + "bucket": "random",
2856 + "timeframe": "1day",
2857 + "period": "2008-2015",
2858 + "half_life_days": 394.7,
2859 + "fdr_excess_ac1": true,
2860 + "fdr_vr5": false,
2861 + "fdr_vr30": false
2862 + },
2863 + {
2864 + "n": 23962,
2865 + "ac1": -0.00905,
2866 + "edge_spread": 0.00526,
2867 + "bounce_ac1": -0.5114,
2868 + "excess_ac1": 0.50234,
2869 + "excess_ci95": [
2870 + 0.44887,
2871 + 0.55768
2872 + ],
2873 + "p_excess": 0.009950248756218905,
2874 + "vr5": 0.992,
2875 + "p_vr5": 0.8656716417910447,
2876 + "vr30": 1.0113,
2877 + "p_vr30": 0.945273631840796,
2878 + "ticker": "HTD",
2879 + "bucket": "random",
2880 + "timeframe": "30min",
2881 + "period": "2008-2015",
2882 + "fdr_excess_ac1": true,
2883 + "fdr_vr5": false,
2884 + "fdr_vr30": false
2885 + },
2886 + {
2887 + "n": 118705,
2888 + "ac1": -0.14041,
2889 + "edge_spread": 0.00526,
2890 + "bounce_ac1": -1.57368,
2891 + "excess_ac1": 1.43326,
2892 + "excess_ci95": [
2893 + 1.41096,
2894 + 1.45894
2895 + ],
2896 + "p_excess": 0.009950248756218905,
2897 + "vr5": 0.7953,
2898 + "p_vr5": 0.009950248756218905,
2899 + "vr30": 0.8202,
2900 + "p_vr30": 0.009950248756218905,
2901 + "ticker": "HTD",
2902 + "bucket": "random",
2903 + "timeframe": "5min",
2904 + "period": "2008-2015",
2905 + "fdr_excess_ac1": true,
2906 + "fdr_vr5": true,
2907 + "fdr_vr30": true
2908 + },
2909 + {
2910 + "n": 2008,
2911 + "ac1": -0.0306,
2912 + "edge_spread": 0.014016,
2913 + "bounce_ac1": -0.07129,
2914 + "excess_ac1": 0.04069,
2915 + "excess_ci95": [
2916 + -0.00273,
2917 + 0.09977
2918 + ],
2919 + "p_excess": 0.07960199004975124,
2920 + "vr5": 1.0223,
2921 + "p_vr5": 0.5671641791044776,
2922 + "vr30": 0.7916,
2923 + "p_vr30": 0.5870646766169154,
2924 + "ticker": "ICUI",
2925 + "bucket": "random",
2926 + "timeframe": "1day",
2927 + "period": "2000-2007",
2928 + "half_life_days": 117.2,
2929 + "fdr_excess_ac1": false,
2930 + "fdr_vr5": false,
2931 + "fdr_vr30": false
2932 + },
2933 + {
2934 + "n": 22735,
2935 + "ac1": -0.13753,
2936 + "edge_spread": 0.014016,
2937 + "bounce_ac1": -0.7116,
2938 + "excess_ac1": 0.57407,
2939 + "excess_ci95": [
2940 + 0.55412,
2941 + 0.61176
2942 + ],
2943 + "p_excess": 0.009950248756218905,
2944 + "vr5": 0.7682,
2945 + "p_vr5": 0.009950248756218905,
2946 + "vr30": 0.77,
2947 + "p_vr30": 0.009950248756218905,
2948 + "ticker": "ICUI",
2949 + "bucket": "random",
2950 + "timeframe": "30min",
2951 + "period": "2000-2007",
2952 + "fdr_excess_ac1": true,
2953 + "fdr_vr5": true,
2954 + "fdr_vr30": true
2955 + },
2956 + {
2957 + "n": 112562,
2958 + "ac1": -0.19945,
2959 + "edge_spread": 0.014016,
2960 + "bounce_ac1": -2.19607,
2961 + "excess_ac1": 1.99662,
2962 + "excess_ci95": [
2963 + 1.98058,
2964 + 2.02169
2965 + ],
2966 + "p_excess": 0.009950248756218905,
2967 + "vr5": 0.6417,
2968 + "p_vr5": 0.009950248756218905,
2969 + "vr30": 0.5688,
2970 + "p_vr30": 0.009950248756218905,
2971 + "ticker": "ICUI",
2972 + "bucket": "random",
2973 + "timeframe": "5min",
2974 + "period": "2000-2007",
2975 + "fdr_excess_ac1": true,
2976 + "fdr_vr5": true,
2977 + "fdr_vr30": true
2978 + },
2979 + {
2980 + "n": 2014,
2981 + "ac1": 0.00275,
2982 + "edge_spread": 0.005495,
2983 + "bounce_ac1": -0.01913,
2984 + "excess_ac1": 0.02187,
2985 + "excess_ci95": [
2986 + -0.05592,
2987 + 0.08576
2988 + ],
2989 + "p_excess": 0.5771144278606966,
2990 + "vr5": 0.8953,
2991 + "p_vr5": 0.06965174129353234,
2992 + "vr30": 0.6223,
2993 + "p_vr30": 0.04975124378109453,
2994 + "ticker": "ICUI",
2995 + "bucket": "random",
2996 + "timeframe": "1day",
2997 + "period": "2008-2015",
2998 + "half_life_days": 2402.1,
2999 + "fdr_excess_ac1": false,
3000 + "fdr_vr5": false,
3001 + "fdr_vr30": false
3002 + },
3003 + {
3004 + "n": 24063,
3005 + "ac1": -0.03333,
3006 + "edge_spread": 0.005495,
3007 + "bounce_ac1": -0.40677,
3008 + "excess_ac1": 0.37344,
3009 + "excess_ci95": [
3010 + 0.35115,
3011 + 0.39408
3012 + ],
3013 + "p_excess": 0.009950248756218905,
3014 + "vr5": 0.9403,
3015 + "p_vr5": 0.029850746268656716,
3016 + "vr30": 0.895,
3017 + "p_vr30": 0.06965174129353234,
3018 + "ticker": "ICUI",
3019 + "bucket": "random",
3020 + "timeframe": "30min",
3021 + "period": "2008-2015",
3022 + "fdr_excess_ac1": true,
3023 + "fdr_vr5": false,
3024 + "fdr_vr30": false
3025 + },
3026 + {
3027 + "n": 134649,
3028 + "ac1": -0.08127,
3029 + "edge_spread": 0.005495,
3030 + "bounce_ac1": -1.38358,
3031 + "excess_ac1": 1.30231,
3032 + "excess_ci95": [
3033 + 1.29136,
3034 + 1.31528
3035 + ],
3036 + "p_excess": 0.009950248756218905,
3037 + "vr5": 0.8377,
3038 + "p_vr5": 0.009950248756218905,
3039 + "vr30": 0.7883,
3040 + "p_vr30": 0.009950248756218905,
3041 + "ticker": "ICUI",
3042 + "bucket": "random",
3043 + "timeframe": "5min",
3044 + "period": "2008-2015",
3045 + "fdr_excess_ac1": true,
3046 + "fdr_vr5": true,
3047 + "fdr_vr30": true
3048 + },
3049 + {
3050 + "n": 897,
3051 + "ac1": -0.02276,
3052 + "edge_spread": 0.013986,
3053 + "bounce_ac1": -0.01142,
3054 + "excess_ac1": -0.01134,
3055 + "excess_ci95": [
3056 + -0.04691,
3057 + 0.09568
3058 + ],
3059 + "p_excess": 0.9950248756218906,
3060 + "vr5": 0.9095,
3061 + "p_vr5": 0.42786069651741293,
3062 + "vr30": 1.0679,
3063 + "p_vr30": 0.6069651741293532,
3064 + "ticker": "PBYI",
3065 + "bucket": "random",
3066 + "timeframe": "1day",
3067 + "period": "2008-2015",
3068 + "half_life_days": 170.0,
3069 + "fdr_excess_ac1": false,
3070 + "fdr_vr5": false,
3071 + "fdr_vr30": false
3072 + },
3073 + {
3074 + "n": 9711,
3075 + "ac1": -0.01205,
3076 + "edge_spread": 0.013986,
3077 + "bounce_ac1": -0.47405,
3078 + "excess_ac1": 0.462,
3079 + "excess_ci95": [
3080 + 0.40668,
3081 + 0.53431
3082 + ],
3083 + "p_excess": 0.009950248756218905,
3084 + "vr5": 1.0073,
3085 + "p_vr5": 0.9552238805970149,
3086 + "vr30": 0.9996,
3087 + "p_vr30": 0.7064676616915423,
3088 + "ticker": "PBYI",
3089 + "bucket": "random",
3090 + "timeframe": "30min",
3091 + "period": "2008-2015",
3092 + "fdr_excess_ac1": true,
3093 + "fdr_vr5": false,
3094 + "fdr_vr30": false
3095 + },
3096 + {
3097 + "n": 57338,
3098 + "ac1": -0.11535,
3099 + "edge_spread": 0.013986,
3100 + "bounce_ac1": -1.92887,
3101 + "excess_ac1": 1.81352,
3102 + "excess_ci95": [
3103 + 1.77873,
3104 + 1.87535
3105 + ],
3106 + "p_excess": 0.009950248756218905,
3107 + "vr5": 0.8548,
3108 + "p_vr5": 0.009950248756218905,
3109 + "vr30": 0.9018,
3110 + "p_vr30": 0.27860696517412936,
3111 + "ticker": "PBYI",
3112 + "bucket": "random",
3113 + "timeframe": "5min",
3114 + "period": "2008-2015",
3115 + "fdr_excess_ac1": true,
3116 + "fdr_vr5": true,
3117 + "fdr_vr30": false
3118 + },
3119 + {
3120 + "n": 2008,
3121 + "ac1": -0.09312,
3122 + "edge_spread": 0.008801,
3123 + "bounce_ac1": -0.04333,
3124 + "excess_ac1": -0.04979,
3125 + "excess_ci95": [
3126 + -0.13188,
3127 + 0.02304
3128 + ],
3129 + "p_excess": 0.1791044776119403,
3130 + "vr5": 0.8361,
3131 + "p_vr5": 0.009950248756218905,
3132 + "vr30": 0.6788,
3133 + "p_vr30": 0.06965174129353234,
3134 + "ticker": "RPM",
3135 + "bucket": "random",
3136 + "timeframe": "1day",
3137 + "period": "2000-2007",
3138 + "half_life_days": 248.3,
3139 + "fdr_excess_ac1": false,
3140 + "fdr_vr5": true,
3141 + "fdr_vr30": false
3142 + },
3143 + {
3144 + "n": 23991,
3145 + "ac1": -0.04494,
3146 + "edge_spread": 0.008801,
3147 + "bounce_ac1": -0.6955,
3148 + "excess_ac1": 0.65056,
3149 + "excess_ci95": [
3150 + 0.61865,
3151 + 0.68741
3152 + ],
3153 + "p_excess": 0.009950248756218905,
3154 + "vr5": 0.9473,
3155 + "p_vr5": 0.29850746268656714,
3156 + "vr30": 0.9671,
3157 + "p_vr30": 0.7263681592039801,
3158 + "ticker": "RPM",
3159 + "bucket": "random",
3160 + "timeframe": "30min",
3161 + "period": "2000-2007",
3162 + "fdr_excess_ac1": true,
3163 + "fdr_vr5": false,
3164 + "fdr_vr30": false
3165 + },
3166 + {
3167 + "n": 147306,
3168 + "ac1": -0.1954,
3169 + "edge_spread": 0.008801,
3170 + "bounce_ac1": -2.38369,
3171 + "excess_ac1": 2.18829,
3172 + "excess_ci95": [
3173 + 2.16896,
3174 + 2.21443
3175 + ],
3176 + "p_excess": 0.009950248756218905,
3177 + "vr5": 0.6678,
3178 + "p_vr5": 0.009950248756218905,
3179 + "vr30": 0.5994,
3180 + "p_vr30": 0.009950248756218905,
3181 + "ticker": "RPM",
3182 + "bucket": "random",
3183 + "timeframe": "5min",
3184 + "period": "2000-2007",
3185 + "fdr_excess_ac1": true,
3186 + "fdr_vr5": true,
3187 + "fdr_vr30": true
3188 + },
3189 + {
3190 + "n": 2014,
3191 + "ac1": -0.0404,
3192 + "edge_spread": 0.005265,
3193 + "bounce_ac1": -0.0189,
3194 + "excess_ac1": -0.0215,
3195 + "excess_ci95": [
3196 + -0.0644,
3197 + 0.02612
3198 + ],
3199 + "p_excess": 0.39800995024875624,
3200 + "vr5": 0.938,
3201 + "p_vr5": 0.30845771144278605,
3202 + "vr30": 0.8597,
3203 + "p_vr30": 0.6069651741293532,
3204 + "ticker": "RPM",
3205 + "bucket": "random",
3206 + "timeframe": "1day",
3207 + "period": "2008-2015",
3208 + "half_life_days": 823.9,
3209 + "fdr_excess_ac1": false,
3210 + "fdr_vr5": false,
3211 + "fdr_vr30": false
3212 + },
3213 + {
3214 + "n": 24092,
3215 + "ac1": -0.01143,
3216 + "edge_spread": 0.005265,
3217 + "bounce_ac1": -0.40194,
3218 + "excess_ac1": 0.39051,
3219 + "excess_ci95": [
3220 + 0.36992,
3221 + 0.41188
3222 + ],
3223 + "p_excess": 0.009950248756218905,
3224 + "vr5": 0.9933,
3225 + "p_vr5": 0.835820895522388,
3226 + "vr30": 0.9851,
3227 + "p_vr30": 0.7263681592039801,
3228 + "ticker": "RPM",
3229 + "bucket": "random",
3230 + "timeframe": "30min",
3231 + "period": "2008-2015",
3232 + "fdr_excess_ac1": true,
3233 + "fdr_vr5": false,
3234 + "fdr_vr30": false
3235 + },
3236 + {
3237 + "n": 154432,
3238 + "ac1": -0.04298,
3239 + "edge_spread": 0.005265,
3240 + "bounce_ac1": -1.91106,
3241 + "excess_ac1": 1.86808,
3242 + "excess_ci95": [
3243 + 1.85617,
3244 + 1.88291
3245 + ],
3246 + "p_excess": 0.009950248756218905,
3247 + "vr5": 0.9136,
3248 + "p_vr5": 0.009950248756218905,
3249 + "vr30": 0.8882,
3250 + "p_vr30": 0.009950248756218905,
3251 + "ticker": "RPM",
3252 + "bucket": "random",
3253 + "timeframe": "5min",
3254 + "period": "2008-2015",
3255 + "fdr_excess_ac1": true,
3256 + "fdr_vr5": true,
3257 + "fdr_vr30": true
3258 + },
3259 + {
3260 + "n": 1288,
3261 + "ac1": -0.00419,
3262 + "edge_spread": 0.003876,
3263 + "bounce_ac1": -0.02479,
3264 + "excess_ac1": 0.02059,
3265 + "excess_ci95": [
3266 + -0.02961,
3267 + 0.06597
3268 + ],
3269 + "p_excess": 0.417910447761194,
3270 + "vr5": 0.9312,
3271 + "p_vr5": 0.2885572139303483,
3272 + "vr30": 0.5272,
3273 + "p_vr30": 0.04975124378109453,
3274 + "ticker": "SLF",
3275 + "bucket": "random",
3276 + "timeframe": "1day",
3277 + "period": "2000-2007",
3278 + "half_life_days": 549.7,
3279 + "fdr_excess_ac1": false,
3280 + "fdr_vr5": false,
3281 + "fdr_vr30": false
3282 + },
3283 + {
3284 + "n": 15389,
3285 + "ac1": -0.08792,
3286 + "edge_spread": 0.003876,
3287 + "bounce_ac1": -0.38416,
3288 + "excess_ac1": 0.29624,
3289 + "excess_ci95": [
3290 + 0.27889,
3291 + 0.31898
3292 + ],
3293 + "p_excess": 0.009950248756218905,
3294 + "vr5": 0.8676,
3295 + "p_vr5": 0.009950248756218905,
3296 + "vr30": 0.8314,
3297 + "p_vr30": 0.009950248756218905,
3298 + "ticker": "SLF",
3299 + "bucket": "random",
3300 + "timeframe": "30min",
3301 + "period": "2000-2007",
3302 + "fdr_excess_ac1": true,
3303 + "fdr_vr5": true,
3304 + "fdr_vr30": true
3305 + },
3306 + {
3307 + "n": 90078,
3308 + "ac1": -0.07742,
3309 + "edge_spread": 0.003876,
3310 + "bounce_ac1": -1.49722,
3311 + "excess_ac1": 1.4198,
3312 + "excess_ci95": [
3313 + 1.40901,
3314 + 1.43129
3315 + ],
3316 + "p_excess": 0.009950248756218905,
3317 + "vr5": 0.8284,
3318 + "p_vr5": 0.009950248756218905,
3319 + "vr30": 0.7249,
3320 + "p_vr30": 0.009950248756218905,
3321 + "ticker": "SLF",
3322 + "bucket": "random",
3323 + "timeframe": "5min",
3324 + "period": "2000-2007",
3325 + "fdr_excess_ac1": true,
3326 + "fdr_vr5": true,
3327 + "fdr_vr30": true
3328 + },
3329 + {
3330 + "n": 2014,
3331 + "ac1": -0.03809,
3332 + "edge_spread": 0.003241,
3333 + "bounce_ac1": -0.0044,
3334 + "excess_ac1": -0.0337,
3335 + "excess_ci95": [
3336 + -0.0969,
3337 + 0.02414
3338 + ],
3339 + "p_excess": 0.25870646766169153,
3340 + "vr5": 0.9786,
3341 + "p_vr5": 0.6169154228855721,
3342 + "vr30": 0.8347,
3343 + "p_vr30": 0.31840796019900497,
3344 + "ticker": "SLF",
3345 + "bucket": "random",
3346 + "timeframe": "1day",
3347 + "period": "2008-2015",
3348 + "half_life_days": 89.8,
3349 + "fdr_excess_ac1": false,
3350 + "fdr_vr5": false,
3351 + "fdr_vr30": false
3352 + },
3353 + {
3354 + "n": 24096,
3355 + "ac1": 0.06209,
3356 + "edge_spread": 0.003241,
3357 + "bounce_ac1": -0.1101,
3358 + "excess_ac1": 0.17219,
3359 + "excess_ci95": [
3360 + 0.14099,
3361 + 0.20545
3362 + ],
3363 + "p_excess": 0.009950248756218905,
3364 + "vr5": 1.0941,
3365 + "p_vr5": 0.029850746268656716,
3366 + "vr30": 1.0324,
3367 + "p_vr30": 0.48756218905472637,
3368 + "ticker": "SLF",
3369 + "bucket": "random",
3370 + "timeframe": "30min",
3371 + "period": "2008-2015",
3372 + "fdr_excess_ac1": true,
3373 + "fdr_vr5": false,
3374 + "fdr_vr30": false
3375 + },
3376 + {
3377 + "n": 153545,
3378 + "ac1": 0.00655,
3379 + "edge_spread": 0.003241,
3380 + "bounce_ac1": -0.55173,
3381 + "excess_ac1": 0.55828,
3382 + "excess_ci95": [
3383 + 0.5397,
3384 + 0.5781
3385 + ],
3386 + "p_excess": 0.009950248756218905,
3387 + "vr5": 1.0266,
3388 + "p_vr5": 0.23880597014925373,
3389 + "vr30": 1.1126,
3390 + "p_vr30": 0.009950248756218905,
3391 + "ticker": "SLF",
3392 + "bucket": "random",
3393 + "timeframe": "5min",
3394 + "period": "2008-2015",
3395 + "fdr_excess_ac1": true,
3396 + "fdr_vr5": false,
3397 + "fdr_vr30": true
3398 + },
3399 + {
3400 + "n": 1458,
3401 + "ac1": 0.05274,
3402 + "edge_spread": 0.005084,
3403 + "bounce_ac1": -0.02174,
3404 + "excess_ac1": 0.07448,
3405 + "excess_ci95": [
3406 + -0.01304,
3407 + 0.13141
3408 + ],
3409 + "p_excess": 0.08955223880597014,
3410 + "vr5": 1.1269,
3411 + "p_vr5": 0.11940298507462686,
3412 + "vr30": 0.884,
3413 + "p_vr30": 0.7860696517412935,
3414 + "ticker": "SPB",
3415 + "bucket": "random",
3416 + "timeframe": "1day",
3417 + "period": "2008-2015",
3418 + "half_life_days": 1642.1,
3419 + "fdr_excess_ac1": false,
3420 + "fdr_vr5": false,
3421 + "fdr_vr30": false
3422 + },
3423 + {
3424 + "n": 17322,
3425 + "ac1": -0.02473,
3426 + "edge_spread": 0.005084,
3427 + "bounce_ac1": -0.37584,
3428 + "excess_ac1": 0.35111,
3429 + "excess_ci95": [
3430 + 0.31869,
3431 + 0.3804
3432 + ],
3433 + "p_excess": 0.009950248756218905,
3434 + "vr5": 0.9753,
3435 + "p_vr5": 0.43781094527363185,
3436 + "vr30": 0.9819,
3437 + "p_vr30": 0.6666666666666666,
3438 + "ticker": "SPB",
3439 + "bucket": "random",
3440 + "timeframe": "30min",
3441 + "period": "2008-2015",
3442 + "fdr_excess_ac1": true,
3443 + "fdr_vr5": false,
3444 + "fdr_vr30": false
3445 + },
3446 + {
3447 + "n": 101860,
3448 + "ac1": -0.09133,
3449 + "edge_spread": 0.005084,
3450 + "bounce_ac1": -1.4035,
3451 + "excess_ac1": 1.31217,
3452 + "excess_ci95": [
3453 + 1.29791,
3454 + 1.33242
3455 + ],
3456 + "p_excess": 0.009950248756218905,
3457 + "vr5": 0.8384,
3458 + "p_vr5": 0.009950248756218905,
3459 + "vr30": 0.7901,
3460 + "p_vr30": 0.009950248756218905,
3461 + "ticker": "SPB",
3462 + "bucket": "random",
3463 + "timeframe": "5min",
3464 + "period": "2008-2015",
3465 + "fdr_excess_ac1": true,
3466 + "fdr_vr5": true,
3467 + "fdr_vr30": true
3468 + },
3469 + {
3470 + "n": 195553,
3471 + "ac1": -0.01408,
3472 + "edge_spread": 0.006493,
3473 + "bounce_ac1": -27.30679,
3474 + "excess_ac1": 27.29272,
3475 + "excess_ci95": [
3476 + 27.27405,
3477 + 27.31105
3478 + ],
3479 + "p_excess": 0.009950248756218905,
3480 + "vr5": 0.9797,
3481 + "p_vr5": 0.4079601990049751,
3482 + "vr30": 0.9559,
3483 + "p_vr30": 0.1890547263681592,
3484 + "ticker": "AAPL",
3485 + "bucket": "liquid",
3486 + "timeframe": "1min",
3487 + "period": "2014-2015",
3488 + "fdr_excess_ac1": true,
3489 + "fdr_vr5": false,
3490 + "fdr_vr30": false
3491 + },
3492 + {
3493 + "n": 195226,
3494 + "ac1": -0.04782,
3495 + "edge_spread": 0.003442,
3496 + "bounce_ac1": -8.06316,
3497 + "excess_ac1": 8.01535,
3498 + "excess_ci95": [
3499 + 8.00556,
3500 + 8.02413
3501 + ],
3502 + "p_excess": 0.009950248756218905,
3503 + "vr5": 0.9085,
3504 + "p_vr5": 0.009950248756218905,
3505 + "vr30": 0.8708,
3506 + "p_vr30": 0.009950248756218905,
3507 + "ticker": "MSFT",
3508 + "bucket": "liquid",
3509 + "timeframe": "1min",
3510 + "period": "2014-2015",
3511 + "fdr_excess_ac1": true,
3512 + "fdr_vr5": true,
3513 + "fdr_vr30": true
3514 + },
3515 + {
3516 + "n": 194531,
3517 + "ac1": -0.05787,
3518 + "edge_spread": 0.005446,
3519 + "bounce_ac1": -11.3588,
3520 + "excess_ac1": 11.30092,
3521 + "excess_ci95": [
3522 + 11.28548,
3523 + 11.31357
3524 + ],
3525 + "p_excess": 0.009950248756218905,
3526 + "vr5": 0.8934,
3527 + "p_vr5": 0.009950248756218905,
3528 + "vr30": 0.8274,
3529 + "p_vr30": 0.009950248756218905,
3530 + "ticker": "NVDA",
3531 + "bucket": "liquid",
3532 + "timeframe": "1min",
3533 + "period": "2014-2015",
3534 + "fdr_excess_ac1": true,
3535 + "fdr_vr5": true,
3536 + "fdr_vr30": true
3537 + },
3538 + {
3539 + "n": 194661,
3540 + "ac1": -0.0591,
3541 + "edge_spread": 0.005161,
3542 + "bounce_ac1": -10.50715,
3543 + "excess_ac1": 10.44805,
3544 + "excess_ci95": [
3545 + 10.43531,
3546 + 10.46076
3547 + ],
3548 + "p_excess": 0.009950248756218905,
3549 + "vr5": 0.9081,
3550 + "p_vr5": 0.009950248756218905,
3551 + "vr30": 0.8388,
3552 + "p_vr30": 0.009950248756218905,
3553 + "ticker": "AMZN",
3554 + "bucket": "liquid",
3555 + "timeframe": "1min",
3556 + "period": "2014-2015",
3557 + "fdr_excess_ac1": true,
3558 + "fdr_vr5": true,
3559 + "fdr_vr30": true
3560 + },
3561 + {
3562 + "n": 168487,
3563 + "ac1": -0.06985,
3564 + "edge_spread": 0.003483,
3565 + "bounce_ac1": -6.99107,
3566 + "excess_ac1": 6.92123,
3567 + "excess_ci95": [
3568 + 6.90669,
3569 + 6.93334
3570 + ],
3571 + "p_excess": 0.009950248756218905,
3572 + "vr5": 0.8989,
3573 + "p_vr5": 0.009950248756218905,
3574 + "vr30": 0.8505,
3575 + "p_vr30": 0.009950248756218905,
3576 + "ticker": "GOOGL",
3577 + "bucket": "liquid",
3578 + "timeframe": "1min",
3579 + "period": "2014-2015",
3580 + "fdr_excess_ac1": true,
3581 + "fdr_vr5": true,
3582 + "fdr_vr30": true
3583 + },
3584 + {
3585 + "n": 195427,
3586 + "ac1": -0.04263,
3587 + "edge_spread": 0.003368,
3588 + "bounce_ac1": -3.92761,
3589 + "excess_ac1": 3.88498,
3590 + "excess_ci95": [
3591 + 3.87262,
3592 + 3.89669
3593 + ],
3594 + "p_excess": 0.009950248756218905,
3595 + "vr5": 0.9375,
3596 + "p_vr5": 0.009950248756218905,
3597 + "vr30": 0.8971,
3598 + "p_vr30": 0.009950248756218905,
3599 + "ticker": "META",
3600 + "bucket": "liquid",
3601 + "timeframe": "1min",
3602 + "period": "2014-2015",
3603 + "fdr_excess_ac1": true,
3604 + "fdr_vr5": true,
3605 + "fdr_vr30": true
3606 + },
3607 + {
3608 + "n": 194916,
3609 + "ac1": -0.07509,
3610 + "edge_spread": 0.007854,
3611 + "bounce_ac1": -10.20141,
3612 + "excess_ac1": 10.12632,
3613 + "excess_ci95": [
3614 + 10.11157,
3615 + 10.14111
3616 + ],
3617 + "p_excess": 0.009950248756218905,
3618 + "vr5": 0.8984,
3619 + "p_vr5": 0.009950248756218905,
3620 + "vr30": 0.8903,
3621 + "p_vr30": 0.029850746268656716,
3622 + "ticker": "TSLA",
3623 + "bucket": "liquid",
3624 + "timeframe": "1min",
3625 + "period": "2014-2015",
3626 + "fdr_excess_ac1": true,
3627 + "fdr_vr5": true,
3628 + "fdr_vr30": false
3629 + },
3630 + {
3631 + "n": 195148,
3632 + "ac1": -0.09287,
3633 + "edge_spread": 0.005207,
3634 + "bounce_ac1": -14.6086,
3635 + "excess_ac1": 14.51574,
3636 + "excess_ci95": [
3637 + 14.4742,
3638 + 14.58371
3639 + ],
3640 + "p_excess": 0.009950248756218905,
3641 + "vr5": 0.7516,
3642 + "p_vr5": 0.009950248756218905,
3643 + "vr30": 0.5772,
3644 + "p_vr30": 0.009950248756218905,
3645 + "ticker": "JPM",
3646 + "bucket": "liquid",
3647 + "timeframe": "1min",
3648 + "period": "2014-2015",
3649 + "fdr_excess_ac1": true,
3650 + "fdr_vr5": true,
3651 + "fdr_vr30": true
3652 + },
3653 + {
3654 + "n": 195198,
3655 + "ac1": -0.02424,
3656 + "edge_spread": 0.002674,
3657 + "bounce_ac1": -5.94231,
3658 + "excess_ac1": 5.91807,
3659 + "excess_ci95": [
3660 + 5.90435,
3661 + 5.93032
3662 + ],
3663 + "p_excess": 0.009950248756218905,
3664 + "vr5": 0.9317,
3665 + "p_vr5": 0.009950248756218905,
3666 + "vr30": 0.8777,
3667 + "p_vr30": 0.009950248756218905,
3668 + "ticker": "XOM",
3669 + "bucket": "liquid",
3670 + "timeframe": "1min",
3671 + "period": "2014-2015",
3672 + "fdr_excess_ac1": true,
3673 + "fdr_vr5": true,
3674 + "fdr_vr30": true
3675 + },
3676 + {
3677 + "n": 194988,
3678 + "ac1": 0.00776,
3679 + "edge_spread": 0.003474,
3680 + "bounce_ac1": -7.47347,
3681 + "excess_ac1": 7.48124,
3682 + "excess_ci95": [
3683 + 7.43924,
3684 + 7.5334
3685 + ],
3686 + "p_excess": 0.009950248756218905,
3687 + "vr5": 0.9921,
3688 + "p_vr5": 0.6368159203980099,
3689 + "vr30": 1.0417,
3690 + "p_vr30": 0.7860696517412935,
3691 + "ticker": "UNH",
3692 + "bucket": "liquid",
3693 + "timeframe": "1min",
3694 + "period": "2014-2015",
3695 + "fdr_excess_ac1": true,
3696 + "fdr_vr5": false,
3697 + "fdr_vr30": false
3698 + },
3699 + {
3700 + "n": 195658,
3701 + "ac1": -0.01934,
3702 + "edge_spread": 0.002075,
3703 + "bounce_ac1": -9.54506,
3704 + "excess_ac1": 9.52572,
3705 + "excess_ci95": [
3706 + 9.51317,
3707 + 9.53836
3708 + ],
3709 + "p_excess": 0.009950248756218905,
3710 + "vr5": 0.9606,
3711 + "p_vr5": 0.06965174129353234,
3712 + "vr30": 0.9217,
3713 + "p_vr30": 0.009950248756218905,
3714 + "ticker": "SPY",
3715 + "bucket": "liquid",
3716 + "timeframe": "1min",
3717 + "period": "2014-2015",
3718 + "fdr_excess_ac1": true,
3719 + "fdr_vr5": false,
3720 + "fdr_vr30": true
3721 + },
3722 + {
3723 + "n": 195381,
3724 + "ac1": -0.01526,
3725 + "edge_spread": 0.003213,
3726 + "bounce_ac1": -14.03751,
3727 + "excess_ac1": 14.02225,
3728 + "excess_ci95": [
3729 + 13.974,
3730 + 14.0736
3731 + ],
3732 + "p_excess": 0.009950248756218905,
3733 + "vr5": 1.0197,
3734 + "p_vr5": 0.8557213930348259,
3735 + "vr30": 1.1045,
3736 + "p_vr30": 0.7661691542288557,
3737 + "ticker": "QQQ",
3738 + "bucket": "liquid",
3739 + "timeframe": "1min",
3740 + "period": "2014-2015",
3741 + "fdr_excess_ac1": true,
3742 + "fdr_vr5": false,
3743 + "fdr_vr30": false
3744 + }
3745 + ],
3746 + "client_stats": {
3747 + "network_requests": 354,
3748 + "cache_hits": 1,
3749 + "rows_fetched": 10510837,
3750 + "seconds_waiting": 3.415340832995204,
3751 + "errors_retried": 0,
3752 + "refreshes": []
3753 + },
3754 + "manifest": {
3755 + "author": "Simon-Pierre Boucher",
3756 + "contact": "contact@spboucher.ai",
3757 + "project": "anomaly-atlas",
3758 + "data_source": "hfmarketdata.io",
3759 + "collected_utc": "2026-08-12T06:30:13.600964+00:00",
3760 + "chip": {
3761 + "brand": "Apple M5 Max",
3762 + "arch": "arm64",
3763 + "cores_total": 18,
3764 + "cores_performance": 6,
3765 + "cores_efficiency": 12,
3766 + "gpu_cores": 40
3767 + },
3768 + "memory": {
3769 + "unified_bytes": 51539607552,
3770 + "unified_gb": 48.0,
3771 + "pagesize": 16384
3772 + },
3773 + "ssd": {
3774 + "model": "APPLE SSD AP2048Z",
3775 + "size": "2 TB",
3776 + "smart_status": "Verified"
3777 + },
3778 + "os": {
3779 + "product": "macOS",
3780 + "version": "27.0",
3781 + "build": "26A5388g",
3782 + "kernel": "27.0.0"
3783 + },
3784 + "software": {
3785 + "python": "3.14.4",
3786 + "numpy": "2.5.2",
3787 + "pandas": "3.0.5",
3788 + "polars": "1.43.2",
3789 + "duckdb": "1.5.5",
3790 + "statsmodels": "0.14.6",
3791 + "arch": "8.0.0"
3792 + },
3793 + "git": {
3794 + "commit": "4ac7a8b41318d843607ca99cf98ebec2993c2973",
3795 + "dirty_tree": true
3796 + }
3797 + }
3798 +}
modified src/anomaly_atlas/stats/multiple_testing.py +55 −3
@@ -1,7 +1,7 @@
1 1 # =============================================================================
2 2 # Project : anomaly-atlas
3 3 # File : src/anomaly_atlas/stats/multiple_testing.py
4 # Purpose : FDR/Bonferroni, White reality check, SPA, deflated Sharpe
4 +# Purpose : FDR/Bonferroni corrections (White RC / SPA / DSR arrive in expF)
5 5 # Author : Simon-Pierre Boucher
6 6 # Contact : contact@spboucher.ai
7 7 # Data src : hfmarketdata.io (sole data source)
@@ -10,7 +10,59 @@
10 10 # Platform : macOS / Apple Silicon (arm64)
11 11 # License : All rights reserved (research code)
12 12 # =============================================================================
13 """FDR/Bonferroni, White reality check, SPA, deflated Sharpe.
13 +"""Multiple-testing corrections for the scan stage (Level-0 triage).
14 14
15 Stub scaffolded 2026-08-12; implemented in later phases (see CLAUDE.md).
15 +Scans use Benjamini–Hochberg FDR (the right error rate when a controlled
16 +fraction of false leads into the next stage is acceptable). Level-1
17 +promotion uses SPA/StepM against artifact nulls — implemented with expF.
18 +Validated on synthetic ground truth (§8.1 gate).
16 19 """
20 +
21 +from __future__ import annotations
22 +
23 +import numpy as np
24 +
25 +
26 +def benjamini_hochberg(pvals: np.ndarray, alpha: float = 0.05) -> np.ndarray:
27 + """BH step-up FDR procedure. Returns a boolean rejection mask.
28 +
29 + NaN p-values are never rejected but still COUNT toward m (conservative:
30 + an unevaluable test is a spent test, not a free one).
31 + """
32 + p = np.asarray(pvals, dtype=float)
33 + m = len(p)
34 + if m == 0:
35 + return np.zeros(0, dtype=bool)
36 + finite = np.where(np.isfinite(p))[0]
37 + reject = np.zeros(m, dtype=bool)
38 + if len(finite) == 0:
39 + return reject
40 + order = finite[np.argsort(p[finite])]
41 + thresholds = alpha * (np.arange(1, len(order) + 1) / m)
42 + passed = np.where(p[order] <= thresholds)[0]
43 + if len(passed):
44 + reject[order[: passed.max() + 1]] = True
45 + return reject
46 +
47 +
48 +def bonferroni(pvals: np.ndarray, alpha: float = 0.05) -> np.ndarray:
49 + """Bonferroni FWE mask (reported alongside FDR for reference)."""
50 + p = np.asarray(pvals, dtype=float)
51 + return np.isfinite(p) & (p <= alpha / max(len(p), 1))
52 +
53 +
54 +def bootstrap_pvalue(samples: np.ndarray, null_value: float = 0.0) -> float:
55 + """Two-sided percentile-bootstrap p-value of a statistic vs a null value.
56 +
57 + p = 2 * min(P(boot <= null), P(boot >= null)), with the +1/(B+1)
58 + correction so p is never exactly 0. Triage-grade inference for scans —
59 + Level-1 promotion re-tests with SPA machinery.
60 + """
61 + s = np.asarray(samples, dtype=float)
62 + s = s[np.isfinite(s)]
63 + b = len(s)
64 + if b < 50:
65 + return float("nan")
66 + lo = (np.sum(s <= null_value) + 1) / (b + 1)
67 + hi = (np.sum(s >= null_value) + 1) / (b + 1)
68 + return float(min(1.0, 2.0 * min(lo, hi)))
modified src/anomaly_atlas/validation/artifacts.py +22 −0
@@ -74,6 +74,28 @@ def excess_reversion(returns: np.ndarray, rel_spread: float) -> float:
74 74 return float(ac1(r) - bounce_ac1)
75 75
76 76
77 +def edge_spread(
78 + opens: np.ndarray, highs: np.ndarray, lows: np.ndarray, closes: np.ndarray
79 +) -> float:
80 + """EDGE relative effective spread (Ardia, Guidotti & Kroencke 2024) from
81 + OHLC bars, via the authors' `bidask` implementation.
82 +
83 + Independent of 1min AC1 (uses O/H/L/C geometry), so it can serve as the
84 + independent spread input to `excess_reversion` without circularity.
85 + Returns NaN when the estimator is undefined for the sample.
86 + """
87 + from bidask import edge
88 +
89 + try:
90 + est = edge(
91 + np.asarray(opens, float), np.asarray(highs, float),
92 + np.asarray(lows, float), np.asarray(closes, float),
93 + )
94 + except Exception:
95 + return float("nan")
96 + return float(est) if np.isfinite(est) else float("nan")
97 +
98 +
77 99 def staleness_ratio(observed_mask: np.ndarray) -> float:
78 100 """Fraction of grid slots WITHOUT a fresh print (0 = fully fresh)."""
79 101 m = np.asarray(observed_mask, dtype=bool)
80 102