|
🧪 弱いファクターや失敗した戦略案も含め、調査の全経路を確認したいですか? |
データ → 仮説 → シグナル → バックテスト → 検証 → 記録された知見
📣 スナップショット · 🧪 トラック · 🏆 結果 · ⚡ インストール · 🚀 再現 · 📐 手法 · 🗂 データ · 📂 構成 · 📌 制約
English · 简体中文 · Español · Deutsch · 日本語 · Русский · Português · 한국어
| 項目 | 現在のリポジトリの状態 |
|---|---|
| 形式 | 保存済み出力を含む主要Jupyter Notebook 6冊 |
| 調査トラック | 中国A株ファクター、BTC/USDTタイミング、XGBoostシグナル |
| 中国A株スナップショット | 2023-01-03から2026-03-27 |
| 暗号資産スナップショット | 2026-03-28までの日次・時間足データ |
| 実行範囲 | バックテストと探索的分析のみ |
| 本番運用層 | ライブ取引モジュール、CLI、パッケージ、テストスイート、CIワークフローなし |
このリポジトリは、フィルター、コスト、頻度、モデルを追加して検証するにつれ、結論がどう変化したかを記録しています。否定的な結果も調査履歴の一部として残しています。
| トラック | 中心となる問い | 主な成果物 |
|---|---|---|
| 🇨🇳 中国A株ファクター | モメンタム、リバーサル、売買回転率、ROEはクロスセクションリターンを説明できるか? | IC検定、合成ファクター、リスク管理バックテスト、リターンアトリビューション |
| ₿ BTCタイミング | トレンド、センチメント、資金調達率、ストップルールでBTC/USDTタイミング戦略を改善できるか? | パラメーター探索、ウォークフォワード検証、コスト推定、失敗した拡張案 |
| 🤖 機械学習 | XGBoostは将来のリターン目標またはボラティリティ局面を分類できるか? | 日次・時間足分類、リスクフィルター、手数料影響の実験 |
flowchart LR
A([データスナップショット])
A --> B[中国A株ファクター] --> E[IC検定] --> F[アトリビューション] --> L([記録された知見])
A --> C[BTCタイミング] --> G[パラメーター探索] --> H[ウォークフォワード] --> I[コスト検証] --> L
A --> D[XGBoostシグナル] --> J[方向モデル] --> K[ボラティリティモデル] --> L
style A fill:#FEF3C7,stroke:#F59E0B,stroke-width:2px,color:#000,font-size:12px
style B fill:#DBEAFE,stroke:#3B82F6,stroke-width:2px,color:#000,font-size:12px
style C fill:#DBEAFE,stroke:#3B82F6,stroke-width:2px,color:#000,font-size:12px
style D fill:#DBEAFE,stroke:#3B82F6,stroke-width:2px,color:#000,font-size:12px
style E fill:#F1F5F9,stroke:#64748B,stroke-width:1px,color:#000,font-size:12px
style F fill:#F1F5F9,stroke:#64748B,stroke-width:1px,color:#000,font-size:12px
style G fill:#EDE9FE,stroke:#8B5CF6,stroke-width:1px,color:#000,font-size:12px
style H fill:#EDE9FE,stroke:#8B5CF6,stroke-width:1px,color:#000,font-size:12px
style I fill:#FEF2F2,stroke:#EF4444,stroke-width:1px,color:#000,font-size:12px
style J fill:#F1F5F9,stroke:#64748B,stroke-width:1px,color:#000,font-size:12px
style K fill:#F1F5F9,stroke:#64748B,stroke-width:1px,color:#000,font-size:12px
style L fill:#DCFCE7,stroke:#22C55E,stroke-width:2px,color:#000,font-size:12px
以下の数値は、現在のリポジトリスナップショットに保存されたNotebook出力です。下記の前提条件に基づく過去の実験を示しています。
記録に採用した参照用の全サンプル版は、MACD(16,35,9)、80未満のFear & Greedフィルター、日次3%ストップのシミュレーションを組み合わせています。Notebookには、より厳しい1%と2%のクリッピング閾値による+1335.98%と+612.25%も記録されており、この簡略モデルではストップ選択への感応度が非常に高くなっています。
| 指標 | 記録値 | 解釈 |
|---|---|---|
| サンプル | 2023-01-01 → 2026-03-28 | BTC/USDT日次スナップショット |
| グロス累積リターン | +423.22% |
最終取引コスト推定前 |
| コスト控除後の推定リターン | +383.97% |
シグナル変更1回につき0.1%を使用 |
| バイ・アンド・ホールドのリターン | +301.59% |
同じ日次バックテスト期間 |
| 推定コスト控除後最大ドローダウン | -16.25% |
日次ストップでリターンを切り詰めた最終コスト推定セル |
| 報告Sharpe | 1.7001 |
ストップと手数料調整前のシグナルリターンから算出 |
| 年間平均シグナル変更回数 | 約21回 |
Notebookでは年間約2.13%の手数料影響を推定 |
報告Sharpeとコスト控除後リターンには異なるリターン系列が使われています。コスト控除後Sharpeは改めて正確に再計算する必要があります。
| 検証 | 記録結果 | 読み方 |
|---|---|---|
| 最終BTCワークフロー、検証Sharpe平均 | 0.6224 |
全サンプル結果より低く、パラメーターの安定性は限定的 |
| 以前のMACD単独ウォークフォワード、検証Sharpe平均 | 0.4348 |
平均はプラスだが、fold間の変動が大きい |
| 実験 | 記録結果 | 状態 |
|---|---|---|
| BTC MACD+センチメント+3%ストップ | 参照用の全サンプル日次結果 | このスナップショット内では有望。ストップ閾値への感応度が高い |
| 中国A株タイミング単独のアトリビューション | +65.28%、Sharpe 1.1479 |
銘柄選択部分より強い |
| 中国A株3ファクター選択 | +8.56%、Sharpe 0.2423 |
弱い |
| BTCマルチタイムフレームの一致 | +199.01%、Sharpe 1.4897 |
単純なフルポジション戦略を下回る |
| BTCロング・ショート版 | Sharpe 0.9833~1.1150 |
ロングのみのタイミングを下回る |
| 日次リターン目標XGBoost | 正解率約51% |
ランダムに近い |
| 時間足ボラティリティ分類器 | 正解率約67% |
探索段階。ラベル構築に全サンプル情報が漏れている |
| 時間足MACD+ML、コスト控除後 | +48.42%、Sharpe 1.1212 |
手数料の影響でコスト控除前の結果が大きく低下 |
| ファクター | IC平均 | ICIR | 読み方 |
|---|---|---|---|
| 20日モメンタム | -0.0023 |
-0.0112 |
このサンプルでは有用なシグナルなし |
| 5日リバーサル | 0.0062 |
0.0323 |
このサンプルでは有用なシグナルなし |
| 売買回転率 | 0.0290 |
0.1089 |
弱い |
| 3ファクター合成 | 0.0328 |
0.2237 |
弱い |
| ROE | — | 0.0097 |
弱く、データも限定的 |
| 戦略部分 | 累積リターン | Sharpe | 最大ドローダウン |
|---|---|---|---|
| 3ファクター選択 | +8.56% |
0.2423 |
-22.73% |
| タイミングとリスク管理 | +65.28% |
1.1479 |
-11.97% |
| 20%ポジションの選択+リスク管理 | +16.75% |
0.4341 |
-15.06% |
このアトリビューションでは、実験における過去のパフォーマンスの主な源泉がタイミングであることが示されています。構成銘柄の作成には現在のCSI 300リストを使っているため、中国A株研究には生存者バイアスが含まれる可能性があります。
| 段階 | 累積リターン | Sharpe | 最大ドローダウン |
|---|---|---|---|
既定MACD 12,26,9 |
+135.44% |
0.9987 |
-32.10% |
最適化MACD 16,35,9 |
+338.95% |
1.6079 |
-21.65% |
| MACD+Fear & Greed+3%ストップ | グロス+423.22% |
コスト控除前系列1.7001 |
シミュレーション-15.66% |
| 最終コスト推定 | ネット+383.97% |
再計算待ち | -16.25% |
追加実験には、資金調達率フィルター、オンチェーンのアクティブアドレス、出来高、マルチタイムフレーム確認、ショート、動的ポジションサイジングが含まれます。パフォーマンスが低下した分岐もNotebookに残しています。
| 予測対象 | 頻度 | サンプル数 | 正解率 | 読み方 |
|---|---|---|---|---|
| 5日リターンが1%超 | 日次 | 1,123 |
51% |
ランダムに近い |
| 10日リターンがプラス | 日次 | 1,123 |
45% |
ランダム以下 |
| 24時間価格方向 | 時間足 | 28,217 |
47% |
ランダムに近い |
| 24時間ボラティリティ水準 | 時間足 | 28,217 |
67% |
探索段階。閾値に全サンプルを使用 |
ボラティリティ分類器はリスクフィルターとしても検証されました。分類スコアは比較的高かったものの、高頻度戦略の手数料問題は解消されませんでした。
保存されたNotebookは最後にPython 3.13.5カーネルで実行されています。
git clone https://github.com/okht/quant-research.git
cd quant-research
python -m venv .venv
source .venv/bin/activate
python -m pip install jupyterlab pandas numpy matplotlib akshare ccxt requests xgboost scikit-learn
jupyter labWindows PowerShellでは、次のコマンドで環境を有効化します。
.\.venv\Scripts\Activate.ps1このリポジトリにはロックファイルも自動環境チェックもありません。パッケージの動作はバージョンによって異なる場合があります。
推奨する閲覧・実行順序:
| 順序 | Notebook | 目的 |
|---|---|---|
| 1 | 01_data/01_data_cleaning.ipynb |
中国A株データの取得、クリーニング、最初のファクター検証 |
| 2 | 02_factors/02_factor_ictest.ipynb |
モメンタム、リバーサル、売買回転率、合成ファクターのIC検定 |
| 3 | 03_backtest/03_backtest.ipynb |
中国A株バックテスト、リスク管理、ポジションサイジング、アトリビューション |
| 4 | 03_backtest/03_roe_factor.ipynb |
ROEデータ実験 |
| 5 | 04_crypto/01_crypto_data.ipynb |
暗号資産データ、タイミング戦略、検証、コスト確認 |
| 6 | 02_factors/04_ml_factor.ipynb |
暗号資産データスナップショットを使うXGBoost実験 |
一部のセルはコミット済みCSVスナップショットを読み込み、他のセルは公開市場データのエンドポイントを呼び出します。Binance資金調達率セクションを更新する際、現在は127.0.0.1:7897のローカルプロキシを前提としています。別の環境で再実行する前に、このプロキシ設定を削除または調整してください。
Notebookには連続した探索的セルが含まれます。カーネルを再起動して慎重に実行し、後続セルが引き継ぐ変数とデータ期間を確認してください。
| 項目 | 現在の実装 |
|---|---|
| シグナルのタイミング | 戦略シグナルは通常、リターンへ適用する前に1期間シフト |
| BTC取引コスト | 最終推定ではシグナル変更時に0.1%を控除 |
| スリッページとスプレッド | 未考慮 |
| ストップロス | 日次戦略リターンを選択した閾値で切り詰めてシミュレーション |
| パラメーター探索 | 複数のMACDグリッドを検証し、全サンプルとウォークフォワードの両結果を保持 |
| 中国A株ユニバース | 現在のCSI 300構成銘柄を取得して構築し、生存者バイアスの可能性あり |
| MLボラティリティラベル | 全サンプルの中央値閾値を使い、テスト期間の情報が漏れている |
| 再現性 | データスナップショットと出力をコミット。依存関係のバージョンは固定していない |
これらの前提は結果に大きく影響します。本番品質の評価には、ポイント・イン・タイムのユニバース、明確な学習・検証・テスト境界、スリッページ、執行制約、コスト控除後リスク指標、独立した再実行が必要です。
| ファイル | 行数 | 対象期間または用途 |
|---|---|---|
03_backtest/close_data.csv |
781 × 296銘柄 |
中国A株終値パネル |
03_backtest/volume_data.csv |
781 × 296銘柄 |
中国A株売買回転率パネル |
03_backtest/roe_data.csv |
781 × 46銘柄 |
部分的なROEパネル |
04_crypto/btc_daily.csv |
1,183 |
BTC/USDT日次、2023-01-01 → 2026-03-28 |
04_crypto/btc_1h.csv |
28,385 |
BTC/USDT時間足、2023-01-01 → 2026-03-28 |
04_crypto/btc_funding_full.csv |
7,174 |
BTC無期限先物の資金調達率 |
04_crypto/btc_fng.csv |
2,000 |
Fear & Greed Index |
04_crypto/btc_active_addr.csv |
2,000 |
オンチェーン・アクティブアドレスのスナップショット |
04_crypto/crypto_close.csv |
1,183 × 10銘柄 |
複数暗号資産の終値パネル |
コミット済み市場データには、ライセンス、再配布、改訂、タイムスタンプに関する注意点があります。他の場所で再利用する前に、提供元の利用条件を確認してください。
quant-research/
├── README.md
├── README_CN.md
├── 01_data/
│ └── 01_data_cleaning.ipynb
├── 02_factors/
│ ├── 02_factor_ictest.ipynb
│ └── 04_ml_factor.ipynb
├── 03_backtest/
│ ├── 03_backtest.ipynb
│ ├── 03_roe_factor.ipynb
│ ├── close_data.csv
│ ├── volume_data.csv
│ └── roe_data.csv
└── 04_crypto/
├── 01_crypto_data.ipynb
├── btc_daily.csv
├── btc_1h.csv
├── btc_funding_full.csv
├── btc_fng.csv
├── btc_active_addr.csv
└── crypto_close.csv
現在、リポジトリに02_live_trading.ipynbまたはライブ執行モジュールはありません。
- このリポジトリは、過去データと探索的Notebookで構成された調査アーカイブです。
- 全サンプル結果には、モデル選択とパラメーター選択のリスクがあります。
- 最終的なコスト控除後BTCリターンと報告Sharpeは、異なるリターン系列に基づきます。
- 日次ストップモデルは、日中の価格経路、ギャップ、板の厚み、スプレッド、スリッページを考慮しません。
- 厳しすぎる日次リターンのクリッピングはシミュレーションリターンを機械的に膨らませる可能性があり、実行可能なストップロス動作を表しません。
- 中国A株ユニバースには生存者バイアスが含まれる可能性があります。
- MLボラティリティラベルには全データセットの情報が使われています。
- データ提供者が履歴を改訂した場合や依存関係が変わった場合、保存出力と異なる結果になる可能性があります。
- ブローカー連携、注文管理、リスクサービス、監視、ライブ取引の安全対策は含まれません。
調査・教育目的に限ります。投資助言や本番取引システムは提供していません。