J-Quants Local-first PWA v7e-alpha37

1.12GBレスキューSQLiteをCloudflare側OPFSへストリーミングImportし、公式SQLite-WASMで直接開く実機PoC。

J-Quants APIキー

このページ内のJ-Quants取得処理すべてで共通利用します。セッション中だけ保持し、SQLite/localStorageには保存しません。

未入力

v7e-alpha37 起動確認

JavaScript起動: PASS(ボタンが反応すれば正常)
日付エンジン確認中…

Web版 DataLake

J-Quants DataLake

普段はここだけ使えばOKです。

日次更新

未実行

データの抜け確認・自動補完

未実行
①のチェック後に利用できます

①は全ての年別Shardを確認します。②は候補日だけJ-Quantsへ照会し、実際の取引日だけ補完します。祝日・休場日は0件として除外します。

② 銘柄マスター Shard

日足テクニカルの次のDataLake層です。J-Quants V2 /equities/master を基準日指定で取得し、/jq_equities_master_v1.sqlite に保存します。

APIキーはページ最上部の共通入力欄を使います。

未実行

③ 銘柄マスター PC/Web Parity

PC版 screening_candidates.csv の候補銘柄について、Web Masterの会社名・市場・業種17/33・信用区分を突合します。

未実行

④ 財務サマリー Shard

J-Quants V2 /fins/summary の開示データを日次保存します。まずraw JSONを完全保持し、PC版の財務列Parity後に正規化列を固定します。

未実行

⑤ 決算予定 Shard

J-Quants V2 /equities/earnings-calendar を日次保存します。決算跨ぎ除外・カタリスト管理の基礎層です。

未実行

⑥ 市場基礎 Shard(TOPIX + 営業日)

PC版の相対強度・市場状態判定に必要な基礎層です。初回は既存DataLakeと同じ2016-08-30から一括構築できます。

未実行
未実行
未実行

⑦ Standard需給 Shard 5種

信用残・日々公表信用・空売り比率・空売り報告・投資部門別を独立Shardで保持します。API仕様に合わせ、信用残は週次date走査、日々公表信用は営業日date走査、空売り報告は開示日範囲、その他はrange取得します。Plan差で取得不能な項目があっても他項目は継続します。

未実行
未実行
未実行
未実行
未実行
未実行

Web版 Screening Core 1

正式Screening移植の第1段階です。日足だけで再現できる価格・出来高系のCore指標をCatalog + Shardから計算します。

未実行

Core 1では、MA5/25/75、乖離率、5日/20日騰落率、RSI14、出来高20日比、20日/60日レンジ位置を監査対象にします。仮ランキングは表示確認用で、正式な銘柄選定ロジックにはまだ使用しません。

マイ銘柄

自分の保有・管理銘柄をこの端末のprivate DBへ登録します。追加・更新・削除できます。

未実行

PC版 portfolio.csv から登録

未実行
未実行

保存先は /jq_private_v1.sqlite。市場DataLakeとは分離します。同じコード+口座は追加ではなく更新になります。


マイ銘柄を分析

未実行

マイ銘柄:PC / Web 突合

PC版JQPの technical_snapshot.csv を読み込み、登録済みマイ銘柄の同一基準日テクニカルを比較します。

未実行

新規発掘 Screening:PC / Web 計算値突合

PC版で選ばれた候補の screening_candidates.csv を使い、その候補銘柄についてWeb側のテクニカル計算値が一致するか検証します。※候補選定ロジックそのものの一致テストではありません。

未実行

比較対象: Close / MA5 / MA25 / MA75 / MA25・75乖離率 / Return5D / Return20D / RSI14 / 最新出来高20日比 / High・Low 20D・60D。不一致だけ下に表示します。

現在の本番DataLake導線です。Catalog + Shards方式で、必要な小型DBだけを使います。旧巨大DataLake操作は開発者診断へ移しました。
未実行

未実行

未実行

年別Shard移行

最新年を既定値として、1暦年分の日足を専用Shardへ移します。
未実行

過去年を一括Shard化

Legacy DataLakeに実在する年を自動検出し、未移行年を新しい順に1年ずつ検証しながらShard化します。
未実行

未実行

未実行

不足期間をJ-Quantsから直接補完

旧巨大DataLakeを作り直さず、実機PASS済みの date=YYYYMMDD 取得方式で 2020〜2025年を日ごとに取得し、年別Shardへ直接保存します。 途中停止してもUPSERTなので同じ期間を再実行できます。
未実行

未実行

未実行
安全設計: 土日を自動スキップ / 祝日・休場日はAPI 0件としてスキップ / 1日ごとに取得→年別ShardへCommit / 年完了ごとにquick_check→Catalog ready登録 / Legacy DataLakeは未使用・未変更。

SAH Pool 緊急診断

固定Storage identity: origin=https://jquants-pwa-test.pages.dev / pool=jq-sahpool / directory=.jq-sahpool-v7c-r5
DataLakeを書き換えず、まずPoolの論理ファイル一覧を確認します。次に候補名をread-onlyで1つずつ開きます。
未実行

未実行

未実行

J-Quants DataLake 更新

普段はこちらだけ使います。J-Quants V2 APIキーはセッション中だけ利用し保存しません。 日次更新と過去データ穴埋めは、既存DataLakeへ日付単位で直接Commitします。
未実行

未実行

未実行

未実行

高速バックフィル v7e-alpha37

書込みを1行ごとの db.exec から prepared statement 再利用へ変更しました。 祝日ではなく「実際に株価データがある欠損営業日」を自動で探し、API取得+SQLite書込みを1日分実測してから大量穴埋めを開始します。
未実行

未実行
開発者診断(通常は開かなくてOK)

本番 日次更新

J-Quants V2の日足を取得し、bars_recent+当年Shardへ同時保存します。旧巨大DataLakeは使いません。

未実行
未実行

保存先: jq_bars_recent_v1.sqlite(直近30取引日)+ jq_bars_YYYY_v1.sqlite。両方を検証後Catalogを更新します。

DataLake 読み取り / Catalog

日付範囲を渡すとCatalogが必要な年別Shardだけを選び、利用側からは1つのDataLakeとして読み取ります。

未実行
未実行

年をまたぐ場合も自動で複数Shardを解決します。年別Shardを優先し、bars_recentは年Shardが無い場合だけfallbackします。

日足Gap 自動補完

Catalog監査で見つかった長期GapをJ-Quants V2から日ごとに取得し、該当年Shardへ直接UPSERTします。旧巨大DataLakeは使いません。

未実行
未実行

土日はAPIを呼ばずスキップ。平日の祝日・休場日はAPI 0件としてスキップ。1日ごとに取得→該当年ShardへCommit→日次行数+quick_checkを検証します。再実行はUPSERTなので安全です。

正式バックアップ / 復元

Catalog+年別ShardをiPhoneのFilesなどブラウザ外へ保存します。 SAH Pool内だけのコピーではなく、Safariのサイトデータ消失にも備える正式バックアップです。

長時間バックフィル実行中はバックアップしないでください。2020〜2025の補完がPASSしてから実行してください。
未実行
未実行
未実行
Safariが複数ダウンロードを止める場合は、下の選択式で1ファイルずつ保存できます。
未実行

外部バックアップから復元

保存した jq_catalog_v1.sqlite / jq_bars_YYYY_v1.sqlite 等を複数選択できます。 各ファイルはStreaming Import後に quick_check を実行します。

未実行
未実行
旧・同一ブラウザ内スナップショット

Legacy巨大DataLake向けの旧機能です。外部バックアップの代わりにはなりません。

未実行
未実行
旧sql.jsのようにDB全体をRAMへ読み込みません。レスキューSQLiteはストリームでOPFSへコピーし、 SQLite-WASMはWorkerからOPFS上のDBを直接開きます。
Import先はCloudflare Pages側OPFSの jq_market_v7c.sqlite です。 GitHub Pages側の元DBや、Filesに保存したレスキューSQLiteは変更しません。

自動連続バックフィル v7e-alpha37

穴を再検出しながら連続処理。日付単位Commitなので安全停止・再開できます。Safariは前面表示のままにしてください。

未実行

1. v7c前提チェック

Cloudflare配信条件とOPFS容量見積りを確認します。
未実行

2. レスキューSQLiteをストリーミングImport(Direct Open前に必須)

Filesから1.12GBのレスキューSQLiteを選択。4MB前後のチャンク単位でOPFSへコピーし、全体をRAMには載せません。
未実行

3. SQLite-WASM同一オリジン配信チェック

Cloudflare Pages Function経由で index.mjs / sqlite3.wasm を pages.dev 同一オリジンから取得できるか確認します。
未実行

4. SQLite-WASM初期化テスト(opfs-sahpool)

DBをまだ開かず、SQLite 3.53の新しい opfs-sahpool VFSだけを有効化して初期化します。opfs-sahpoolは意図的に無効化します。
未実行

5. SAH Pool基本動作テスト(小型DB)

巨大DBの前に、小型SQLiteを作成→INSERT→Worker終了→別Workerで再Open→SELECTし、永続化を確認します。
未実行

6. 公式SQLite-WASMで直接Open(opfs-sahpool)

Worker内で公式 @sqlite.org/sqlite-wasm を起動し、SQLite 3.53の opfs-sahpool VFSへ1.12GB DBをストリーミングImportし、read-onlyで直接開きます。
未実行

7. 整合性チェック(任意・重め)

PRAGMA quick_checkを実行します。1GB超DBを走査するため時間がかかる可能性があります。
未実行

7. v7e-alpha37総合判定

未判定

v7e-alpha37 実運用同期エンジン前段テスト

既存1.12GB DataLakeの実スキーマを検査し、日付単位Transaction → Commit → Checkpoint → Worker再起動後Resumeを同じSQLiteへ直接書き込みます。DB全体RAM展開・db.export()は使いません。
未実行

未実行

未実行

v7e-alpha37 J-Quants 実データ同期

J-Quantsの日足をブラウザから取得し、既存1.12GB DataLakeへ日付単位で直接Commitします。 認証情報はこの画面のメモリ内だけで使用し、SQLite・localStorage・GitHubには保存しません。
未実行

未実行

未実行

v7e-alpha37 自動Catch-up Sync

DataLakeの最終取得日と専用Checkpointを自動判定し、その翌日から指定日まで順番に同期します。 土日はAPI呼出しを省略。祝日などAPIが0件の日も「確認済み」としてCheckpointを進めます。 iPhoneでは前景実行のため、このカードの同期中はSafariを閉じないでください。
未実行

未実行

未実行

10. 更新履歴 / Build情報

正式な更新履歴は CHANGELOG.md / release_history.json / このUIの3層で管理します。
Version: v7e-alpha37 Build date: 2026-09-01 Schema version: catalog-shards-v1 Migration version: history-4

本番 日次更新

J-Quants V2の日足を取得し、bars_recent+当年Shardへ同時保存します。旧巨大DataLakeは使いません。

未実行
未実行

保存先: jq_bars_recent_v1.sqlite(直近30取引日)+ jq_bars_YYYY_v1.sqlite。両方を検証後Catalogを更新します。

DataLake 読み取り / Catalog

日付範囲を渡すとCatalogが必要な年別Shardだけを選び、利用側からは1つのDataLakeとして読み取ります。

未実行
未実行

年をまたぐ場合も自動で複数Shardを解決します。年別Shardを優先し、bars_recentは年Shardが無い場合だけfallbackします。

日足Gap 自動補完

Catalog監査で見つかった長期GapをJ-Quants V2から日ごとに取得し、該当年Shardへ直接UPSERTします。旧巨大DataLakeは使いません。

未実行
未実行

土日はAPIを呼ばずスキップ。平日の祝日・休場日はAPI 0件としてスキップ。1日ごとに取得→該当年ShardへCommit→日次行数+quick_checkを検証します。再実行はUPSERTなので安全です。

正式バックアップ / 復元

Catalog+年別ShardをiPhoneのFilesなどブラウザ外へ保存します。 SAH Pool内だけのコピーではなく、Safariのサイトデータ消失にも備える正式バックアップです。

長時間バックフィル実行中はバックアップしないでください。2020〜2025の補完がPASSしてから実行してください。
未実行
未実行
未実行
Safariが複数ダウンロードを止める場合は、下の選択式で1ファイルずつ保存できます。
未実行

外部バックアップから復元

保存した jq_catalog_v1.sqlite / jq_bars_YYYY_v1.sqlite 等を複数選択できます。 各ファイルはStreaming Import後に quick_check を実行します。

未実行
未実行
旧・同一ブラウザ内スナップショット

Legacy巨大DataLake向けの旧機能です。外部バックアップの代わりにはなりません。

未実行
未実行
旧sql.jsのようにDB全体をRAMへ読み込みません。レスキューSQLiteはストリームでOPFSへコピーし、 SQLite-WASMはWorkerからOPFS上のDBを直接開きます。
Import先はCloudflare Pages側OPFSの jq_market_v7c.sqlite です。 GitHub Pages側の元DBや、Filesに保存したレスキューSQLiteは変更しません。

自動連続バックフィル v7e-alpha37

穴を再検出しながら連続処理。日付単位Commitなので安全停止・再開できます。Safariは前面表示のままにしてください。

未実行

1. v7c前提チェック

Cloudflare配信条件とOPFS容量見積りを確認します。
未実行

2. レスキューSQLiteをストリーミングImport(Direct Open前に必須)

Filesから1.12GBのレスキューSQLiteを選択。4MB前後のチャンク単位でOPFSへコピーし、全体をRAMには載せません。
未実行

3. SQLite-WASM同一オリジン配信チェック

Cloudflare Pages Function経由で index.mjs / sqlite3.wasm を pages.dev 同一オリジンから取得できるか確認します。
未実行

4. SQLite-WASM初期化テスト(opfs-sahpool)

DBをまだ開かず、SQLite 3.53の新しい opfs-sahpool VFSだけを有効化して初期化します。opfs-sahpoolは意図的に無効化します。
未実行

5. SAH Pool基本動作テスト(小型DB)

巨大DBの前に、小型SQLiteを作成→INSERT→Worker終了→別Workerで再Open→SELECTし、永続化を確認します。
未実行

6. 公式SQLite-WASMで直接Open(opfs-sahpool)

Worker内で公式 @sqlite.org/sqlite-wasm を起動し、SQLite 3.53の opfs-sahpool VFSへ1.12GB DBをストリーミングImportし、read-onlyで直接開きます。
未実行

7. 整合性チェック(任意・重め)

PRAGMA quick_checkを実行します。1GB超DBを走査するため時間がかかる可能性があります。
未実行

7. v7e-alpha37総合判定

未判定

v7e-alpha37 実運用同期エンジン前段テスト

既存1.12GB DataLakeの実スキーマを検査し、日付単位Transaction → Commit → Checkpoint → Worker再起動後Resumeを同じSQLiteへ直接書き込みます。DB全体RAM展開・db.export()は使いません。
未実行

未実行

未実行

v7e-alpha37 J-Quants 実データ同期

J-Quantsの日足をブラウザから取得し、既存1.12GB DataLakeへ日付単位で直接Commitします。 認証情報はこの画面のメモリ内だけで使用し、SQLite・localStorage・GitHubには保存しません。
未実行

未実行

未実行

v7e-alpha37 自動Catch-up Sync

DataLakeの最終取得日と専用Checkpointを自動判定し、その翌日から指定日まで順番に同期します。 土日はAPI呼出しを省略。祝日などAPIが0件の日も「確認済み」としてCheckpointを進めます。 iPhoneでは前景実行のため、このカードの同期中はSafariを閉じないでください。
未実行

未実行

未実行

10. 更新履歴 / Build情報

正式な更新履歴は CHANGELOG.md / release_history.json / このUIの3層で管理します。
Version: v7e-alpha37 Build date: 2026-09-01 Schema version: catalog-shards-v1 Migration version: history-4