ohlcvault 0.2.0__tar.gz → 0.2.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. {ohlcvault-0.2.0 → ohlcvault-0.2.1}/PKG-INFO +7 -6
  2. {ohlcvault-0.2.0 → ohlcvault-0.2.1}/README.md +6 -5
  3. {ohlcvault-0.2.0 → ohlcvault-0.2.1}/pyproject.toml +1 -1
  4. {ohlcvault-0.2.0 → ohlcvault-0.2.1}/.gitignore +0 -0
  5. {ohlcvault-0.2.0 → ohlcvault-0.2.1}/LICENSE +0 -0
  6. {ohlcvault-0.2.0 → ohlcvault-0.2.1}/SPEC.md +0 -0
  7. {ohlcvault-0.2.0 → ohlcvault-0.2.1}/ohlcvault/__init__.py +0 -0
  8. {ohlcvault-0.2.0 → ohlcvault-0.2.1}/ohlcvault/adjust.py +0 -0
  9. {ohlcvault-0.2.0 → ohlcvault-0.2.1}/ohlcvault/client.py +0 -0
  10. {ohlcvault-0.2.0 → ohlcvault-0.2.1}/ohlcvault/codes.py +0 -0
  11. {ohlcvault-0.2.0 → ohlcvault-0.2.1}/ohlcvault/config.py +0 -0
  12. {ohlcvault-0.2.0 → ohlcvault-0.2.1}/ohlcvault/errors.py +0 -0
  13. {ohlcvault-0.2.0 → ohlcvault-0.2.1}/ohlcvault/net.py +0 -0
  14. {ohlcvault-0.2.0 → ohlcvault-0.2.1}/ohlcvault/sql.py +0 -0
  15. {ohlcvault-0.2.0 → ohlcvault-0.2.1}/ohlcvault/store.py +0 -0
  16. {ohlcvault-0.2.0 → ohlcvault-0.2.1}/schema/example-calendar.json +0 -0
  17. {ohlcvault-0.2.0 → ohlcvault-0.2.1}/schema/example-idx-monthly.json +0 -0
  18. {ohlcvault-0.2.0 → ohlcvault-0.2.1}/schema/example-latest.json +0 -0
  19. {ohlcvault-0.2.0 → ohlcvault-0.2.1}/schema/example-manifest.json +0 -0
  20. {ohlcvault-0.2.0 → ohlcvault-0.2.1}/schema/example-monthly.json +0 -0
  21. {ohlcvault-0.2.0 → ohlcvault-0.2.1}/schema/example-snapshot.json +0 -0
  22. {ohlcvault-0.2.0 → ohlcvault-0.2.1}/schema/example-symbols.json +0 -0
  23. {ohlcvault-0.2.0 → ohlcvault-0.2.1}/tests/conftest.py +0 -0
  24. {ohlcvault-0.2.0 → ohlcvault-0.2.1}/tests/test_adjust.py +0 -0
  25. {ohlcvault-0.2.0 → ohlcvault-0.2.1}/tests/test_client.py +0 -0
  26. {ohlcvault-0.2.0 → ohlcvault-0.2.1}/tests/test_perf.py +0 -0
  27. {ohlcvault-0.2.0 → ohlcvault-0.2.1}/tests/test_store.py +0 -0
  28. {ohlcvault-0.2.0 → ohlcvault-0.2.1}/tests/test_symbols.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: ohlcvault
3
- Version: 0.2.0
3
+ Version: 0.2.1
4
4
  Summary: Reproducible, checksummed daily OHLCV data for A-share, HK and US markets — static files, content-addressed snapshots, zero API keys.
5
5
  Project-URL: Homepage, https://helpquant.com
6
6
  Project-URL: Documentation, https://github.com/helpquant/ohlcvault#readme
@@ -144,7 +144,7 @@ the caller.
144
144
  | No silently-corrupted data | Every file verified against the snapshot's `sha256` |
145
145
  | No silently-changed history | Sealed months are never rewritten |
146
146
  | No unverifiable numbers | Missing adjustment factors raise, instead of returning raw prices |
147
- | No hidden survivorship bias | Delisted stocks are kept in the universe and in the data |
147
+ | No hidden survivorship bias | Delisted stocks are kept in the universe and in the data (`cn`; see coverage table for `hk`/`us` limits) |
148
148
  | Byte-for-byte reproduction | Fixed-point integers, `gzip` with `MTIME=0`, no wall-clock timestamps |
149
149
 
150
150
  **Delisted stocks matter.** If your backtest universe only contains companies that
@@ -159,12 +159,13 @@ Coverage is declared explicitly in `meta/symbols/{market}.json` under `coverage`
159
159
 
160
160
  | Market | Status | Gaps |
161
161
  |---|---|---|
162
- | `cn` | Daily bars + indices, 2000→present | **No Beijing Stock Exchange** (upstream source doesn't provide it) |
163
- | `hk` | Symbol list only | No daily bars yet; **list is current listings only** |
164
- | `us` | Symbol list only | No daily bars yet; **list is current listings only** |
162
+ | `cn` | Daily bars 1990-12→present (A-shares incl. 1,187 delisted) + 461 indices | **No Beijing Stock Exchange** (upstream source doesn't provide it); trade calendar starts 2000-01 (upstream boundary — earlier trading days must be inferred from bar dates); ETF/bond lists included, bars not collected |
163
+ | `hk` | Daily bars 2,806 stocks + HSI index (index history from 2013-08) | **List is current listings only** (survivorship bias, no IPO dates); calendar & index history start 2013-08 (free index source boundary) |
164
+ | `us` | Daily bars 7,513 stocks + SPX index (index history from 2004-01) | **List is current listings only** (survivorship bias, no IPO dates); 5,733 ETFs listed but bars not collected; calendar & index history start 2004-01 (free index source boundary) |
165
165
 
166
166
  `hk` / `us` symbol lists carry **survivorship bias** (the upstream source only returns
167
- currently-listed securities) and have no IPO dates. Their daily bars are pending.
167
+ currently-listed securities) and have no IPO dates. `cn` is unaffected: 1,187 delisted
168
+ stocks are in the list and their full history (e.g. `600001.SH` from 1998) is in the data.
168
169
 
169
170
  An honest data project states its gaps. A dataset that quietly omits them is worse
170
171
  than one that is merely incomplete.
@@ -112,7 +112,7 @@ the caller.
112
112
  | No silently-corrupted data | Every file verified against the snapshot's `sha256` |
113
113
  | No silently-changed history | Sealed months are never rewritten |
114
114
  | No unverifiable numbers | Missing adjustment factors raise, instead of returning raw prices |
115
- | No hidden survivorship bias | Delisted stocks are kept in the universe and in the data |
115
+ | No hidden survivorship bias | Delisted stocks are kept in the universe and in the data (`cn`; see coverage table for `hk`/`us` limits) |
116
116
  | Byte-for-byte reproduction | Fixed-point integers, `gzip` with `MTIME=0`, no wall-clock timestamps |
117
117
 
118
118
  **Delisted stocks matter.** If your backtest universe only contains companies that
@@ -127,12 +127,13 @@ Coverage is declared explicitly in `meta/symbols/{market}.json` under `coverage`
127
127
 
128
128
  | Market | Status | Gaps |
129
129
  |---|---|---|
130
- | `cn` | Daily bars + indices, 2000→present | **No Beijing Stock Exchange** (upstream source doesn't provide it) |
131
- | `hk` | Symbol list only | No daily bars yet; **list is current listings only** |
132
- | `us` | Symbol list only | No daily bars yet; **list is current listings only** |
130
+ | `cn` | Daily bars 1990-12→present (A-shares incl. 1,187 delisted) + 461 indices | **No Beijing Stock Exchange** (upstream source doesn't provide it); trade calendar starts 2000-01 (upstream boundary — earlier trading days must be inferred from bar dates); ETF/bond lists included, bars not collected |
131
+ | `hk` | Daily bars 2,806 stocks + HSI index (index history from 2013-08) | **List is current listings only** (survivorship bias, no IPO dates); calendar & index history start 2013-08 (free index source boundary) |
132
+ | `us` | Daily bars 7,513 stocks + SPX index (index history from 2004-01) | **List is current listings only** (survivorship bias, no IPO dates); 5,733 ETFs listed but bars not collected; calendar & index history start 2004-01 (free index source boundary) |
133
133
 
134
134
  `hk` / `us` symbol lists carry **survivorship bias** (the upstream source only returns
135
- currently-listed securities) and have no IPO dates. Their daily bars are pending.
135
+ currently-listed securities) and have no IPO dates. `cn` is unaffected: 1,187 delisted
136
+ stocks are in the list and their full history (e.g. `600001.SH` from 1998) is in the data.
136
137
 
137
138
  An honest data project states its gaps. A dataset that quietly omits them is worse
138
139
  than one that is merely incomplete.
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "ohlcvault"
7
- version = "0.2.0"
7
+ version = "0.2.1"
8
8
  description = "Reproducible, checksummed daily OHLCV data for A-share, HK and US markets — static files, content-addressed snapshots, zero API keys."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes