---
### 🌟 **QuantDinger DAOコミュニティに参加 - 早期貢献者はQDTトークンを獲得!**
[](CONTRIBUTORS.md)
[](CONTRIBUTORS.md)
**分散型、コミュニティ主導の取引プラットフォームを構築中です。早期貢献者はQDTガバナンストークンを受け取ります!**
[📖 詳細を見る](CONTRIBUTORS.md) · [💬 Telegramに参加](https://t.me/quantdinger) · [🎮 Discordに参加](https://discord.gg/vwJ8zxFh9Q)
---
## 📖 はじめに
**QuantDinger** は、トレーダー、研究者、そしてギークのために設計された **ローカルファースト(Local-First)** の定量的取引ワークスペースです。
高価なSaaSプラットフォームとは異なり、QuantDingerは **データの所有権** をあなたに取り戻します。**LLMベースのマルチエージェント・リサーチチーム** を内蔵しており、ウェブから金融情報を自律的に収集し、ローカルの市場データと組み合わせ、プロフェッショナルな分析レポートを作成し、戦略開発、バックテスト、実取引のワークフローとシームレスに統合します。
### コアバリュー
- **🛡️ プライバシー第一**: すべての戦略、取引ログ、APIキーはローカルのSQLiteデータベースに保存されます。
- **🧠 AIによる強化**: 単なるコード補完ではなく、OpenRouter/LLMを搭載した本物のAIリサーチアナリストです。
- **⚡ マルチマーケット**: **暗号資産**、**米国株**、**中国/香港株**、**FX**、**先物** をネイティブサポート。
- **🔌 すぐに使える**: Dockerによるワンクリックデプロイ。複雑な環境設定は不要です。
---
## 📚 ドキュメント
- [Python 戦略開発ガイド](docs/STRATEGY_DEV_GUIDE_JA.md)
## 📸 ビジュアルツアー
📊 プロフェッショナル・クオンツダッシュボード
市場の動向、資産、戦略ステータスをリアルタイムで監視。
🤖 AI ディープリサーチ
市場センチメントとテクニカル分析のためのマルチエージェント・コラボレーション。
|
💬 スマートトレーディングアシスタント
即座に市場の洞察を得るための自然言語インターフェース。
|
📈 インタラクティブなインジケーター分析
ドラッグ&ドロップ分析を備えた豊富なテクニカルインジケーターライブラリ。
|
🐍 Python 戦略生成
AI支援による戦略コーディングが可能な内蔵エディタ。
|
---
## ✨ 主な機能
### 1. ユニバーサルデータエンジン
データAPIについて心配する必要はもうありません。QuantDingerは強力なデータソースファクトリーパターンを備えています:
- **暗号資産**: 取引のための **直接API接続**(10以上の取引所)と、市場データのための **CCXT**(100以上のソース)の組み合わせ。
- **株式**: Yahoo Finance、Finnhub、Tiingo(米国)、AkShare(中国/香港)を統合。
- **先物/FX**: OANDAおよび主要な先物データソースをサポート。
- **プロキシサポート**: 制限されたネットワーク環境のための内蔵プロキシ設定。
### 2. AI マルチエージェントリサーチ
疲れを知らないアナリストチーム:
- **コーディネーターエージェント**: タスクを分解し、ワークフローを管理します。
- **リサーチエージェント**: マクロニュースのためにウェブ全体(Google/Bing)を検索します。
- **暗号資産/株式エージェント**: 特定の市場のテクニカル分析と資金フロー分析に特化しています。
- **レポート生成**: 構造化された日次/週次リサーチレポートを自動的に作成します。
### 2.1 🧠 記憶拡張エージェント(Memory-Augmented Agents)
QuantDinger のエージェントは毎回「ゼロから」ではありません。バックエンドに **ローカル記憶DB + 反省(検証)ループ** を内蔵し、過去の経験を検索して system prompt に注入します(RAG 風)。
- **これは何か**:経験検索によるプロンプト拡張(※モデルの学習/微調整ではありません)
- **保存先**:ローカル SQLite(`backend_api_python/data/memory/`)
#### フロー図(リクエスト → 記憶閉ループ)
```mermaid
flowchart TB
%% ===== 🌐 入口層 =====
subgraph Entry["🌐 API エントリー"]
A["📡 POST /api/analysis/multi"]
A2["🔄 POST /api/analysis/reflect"]
end
%% ===== ⚙️ サービス層 =====
subgraph Service["⚙️ サービス編成"]
B[AnalysisService]
C[AgentCoordinator]
D["📊 コンテキスト構築
price · kline · news · indicators"]
end
%% ===== 🤖 マルチエージェントワークフロー =====
subgraph Agents["🤖 マルチエージェントワークフロー"]
subgraph P1["📈 Phase 1 · 多次元分析(並列)"]
E1["🔍 MarketAnalyst
テクニカル"]
E2["📑 FundamentalAnalyst
ファンダメンタル"]
E3["📰 NewsAnalyst
ニュース"]
E4["💭 SentimentAnalyst
センチメント"]
E5["⚠️ RiskAnalyst
リスク評価"]
end
subgraph P2["🎯 Phase 2 · 強気弱気論争(並列)"]
F1["🐂 BullResearcher
強気の論点"]
F2["🐻 BearResearcher
弱気の論点"]
end
subgraph P3["💹 Phase 3 · 取引判断"]
G["🎰 TraderAgent
総合判定 → BUY / SELL / HOLD"]
end
end
%% ===== 🧠 記憶層 =====
subgraph Memory["🧠 ローカル SQLite 記憶庫(data/memory/)"]
M1[("market_analyst")]
M2[("fundamental")]
M3[("news_analyst")]
M4[("sentiment")]
M5[("risk_analyst")]
M6[("bull_researcher")]
M7[("bear_researcher")]
M8[("trader_agent")]
end
%% ===== 🔄 反省ループ =====
subgraph Reflect["🔄 反省ループ(オプション)"]
R[ReflectionService]
RR[("reflection_records.db")]
W["⏰ ReflectionWorker"]
end
%% ===== メインフロー =====
A --> B --> C --> D
D --> P1 --> P2 --> P3
%% ===== 記憶読み書き =====
E1 <-.-> M1
E2 <-.-> M2
E3 <-.-> M3
E4 <-.-> M4
E5 <-.-> M5
F1 <-.-> M6
F2 <-.-> M7
G <-.-> M8
%% ===== 反省フロー =====
C --> R --> RR
W --> RR
W -.->|"検証 + 学習"| M8
A2 -.->|"手動復習"| M8
```
#### 検索ランキング(簡略)
\[
score = w_{sim}\cdot sim + w_{recency}\cdot recency + w_{returns}\cdot returns\_score
\]
#### 学習の入口
- **手動復習(推奨)**:`POST /api/analysis/reflect` で実際の結果(returns/result)を記憶へ
- **自動検証(任意)**:`ENABLE_REFLECTION_WORKER=true`、`REFLECTION_WORKER_INTERVAL_SEC` で定期検証→記憶へ反映
#### 主な環境変数(`.env`)
- `ENABLE_AGENT_MEMORY`, `AGENT_MEMORY_TOP_K`, `AGENT_MEMORY_CANDIDATE_LIMIT`
- `AGENT_MEMORY_ENABLE_VECTOR`, `AGENT_MEMORY_EMBEDDING_DIM`
- `AGENT_MEMORY_HALF_LIFE_DAYS`, `AGENT_MEMORY_W_SIM`, `AGENT_MEMORY_W_RECENCY`, `AGENT_MEMORY_W_RETURNS`
- `ENABLE_REFLECTION_WORKER`, `REFLECTION_WORKER_INTERVAL_SEC`
### 3. 堅牢な戦略ランタイム
- **スレッドベースのエグゼキューター**: 戦略実行のための独立したスレッドプール管理。
- **自動復元**: システム再起動後に実行中の戦略を自動的に再開します。
- **指値注文ワーカー**: 信頼性の高いバックグラウンドキューが、正確なシグナル実行を保証し、スリッページを防ぎます。
### 4. 最新の技術スタック
- **バックエンド**: Python (Flask) + SQLite + Redis (オプション) — シンプル、強力、拡張可能。
- **フロントエンド**: Vue 2 + Ant Design Vue + KlineCharts/ECharts — レスポンシブでインタラクティブ。
- **デプロイ**: Docker Compose オーケストレーション。
---
## 🏦 対応取引所 & リベート
QuantDingerは、低遅延実行のために主要な暗号資産取引所への **直接接続** をサポートし、広範な市場データカバレッジのために **CCXT** を使用します。
> 💡 **限定特典**: 以下のパートナーリンクからアカウントを作成すると、**取引手数料の割引** や **限定ボーナス** を受け取ることができます。これは、追加費用なしでプロジェクトを支援することにつながります!
| 取引所 | 特徴 | サインアップボーナス |
|:--------:|:---------|:-------------:|
|
| 🥇 **世界最大**
現物, 先物, マージン |
|
|
| 🚀 **Web3 & デリバティブ**
現物, 無期限, オプション |
|
|
| 👥 **ソーシャルトレーディング**
コピートレーディング, 先物 |
|
**その他サポート (Direct/CCXT):**
|
|
|
|
|
|
|:---:|:---:|:---:|:---:|:---:|
---
### 多言語サポート
QuantDingerは、包括的な国際化対応により、世界中のユーザー向けに構築されています。
全てのUI要素、エラーメッセージ、ドキュメントは完全に翻訳されています。言語はブラウザの設定に基づいて自動検出されますが、アプリ内で手動で切り替えることも可能です。
---
### 対応市場
| 市場タイプ | データソース | 取引 |
|-------------|--------------|---------|
| **暗号資産** | Binance, OKX, Bitget, + 100 取引所 | ✅ 完全サポート |
| **米国株** | Yahoo Finance, Finnhub, Tiingo | ✅ ブローカーAPI経由 |
| **中国/香港株** | AkShare, East Money | ⚡ データのみ |
| **FX** | Finnhub, OANDA | ✅ ブローカーAPI経由 |
| **先物** | 取引所API, AkShare | ⚡ データのみ |
---
### アーキテクチャ (現在のリポジトリ)
```text
┌─────────────────────────────┐
│ quantdinger_vue │
│ (Vue 2 + Ant Design Vue) │
└──────────────┬──────────────┘
│ HTTP (/api/*)
▼
┌─────────────────────────────┐
│ backend_api_python │
│ (Flask + 戦略ランタイム) │
└──────────────┬──────────────┘
│
├─ SQLite (quantdinger.db)
├─ Redis (オプション キャッシュ)
└─ データプロバイダー / LLMs / 取引所
```
---
### リポジトリ構造
```text
.
├─ backend_api_python/ # Flask API + AI + バックテスト + 戦略ランタイム
│ ├─ app/
│ ├─ env.example # ローカル設定用に .env にコピー
│ ├─ requirements.txt
│ └─ run.py # エントリーポイント
└─ quantdinger_vue/ # Vue 2 UI (開発サーバーは /api をバックエンドにプロキシ)
```
---
## クイックスタート
### オプション 1: Docker デプロイ (推奨)
QuantDingerを実行する最速の方法です。
#### 1. ワンクリック起動
**Linux / macOS**
```bash
git clone https://github.com/brokermr810/QuantDinger.git && \
cd QuantDinger && \
cp backend_api_python/env.example backend_api_python/.env && \
docker-compose up -d --build
```
**Windows (PowerShell)**
```powershell
git clone https://github.com/brokermr810/QuantDinger.git
cd QuantDinger
Copy-Item backend_api_python\env.example -Destination backend_api_python\.env
docker-compose up -d --build
```
#### 2. アクセスと設定
- **フロントエンド UI**: http://localhost:8888
- **デフォルトアカウント**: `quantdinger` / `123456`
> **注意**: AI機能や本番環境のセキュリティのために、`backend_api_python/.env` を編集し(`OPENROUTER_API_KEY`の追加、パスワードの変更)、`docker-compose restart backend` でサービスを再起動してください。
#### 3. アプリケーションへのアクセス
- **フロントエンド UI**: http://localhost
- **バックエンド API**: http://localhost:5000
#### Docker コマンドリファレンス
```bash
# 実行状態の表示
docker-compose ps
# ログの表示
docker-compose logs -f
# サービスの停止
docker-compose down
# 停止してボリュームを削除 (警告: データベースが削除されます!)
docker-compose down -v
```
#### データの永続化
以下のデータはホストにマウントされ、コンテナの再起動後も保持されます:
```yaml
volumes:
- ./backend_api_python/logs:/app/logs # ログ
- ./backend_api_python/data:/app/data # データディレクトリ(quantdinger.db を含む)
- ./backend_api_python/.env:/app/.env # 設定ファイル
```
---
### オプション 2: ローカル開発
**前提条件**
- Python 3.10+ (推奨)
- Node.js 16+ (推奨)
#### 1. バックエンドの起動 (Flask API)
```bash
cd backend_api_python
pip install -r requirements.txt
cp env.example .env # Windows: copy env.example .env
python run.py
```
バックエンドは `http://localhost:5000` で利用可能になります。
#### 2. フロントエンドの起動 (Vue UI)
```bash
cd quantdinger_vue
npm install
npm run serve
```
フロントエンド開発サーバーは `http://localhost:8000` で実行され、`/api/*` を `http://localhost:5000` にプロキシします。
---
### 設定 (.env)
`backend_api_python/env.example` をテンプレートとして使用してください。一般的な設定:
- **認証**: `SECRET_KEY`, `ADMIN_USER`, `ADMIN_PASSWORD`
- **サーバー**: `PYTHON_API_HOST`, `PYTHON_API_PORT`, `PYTHON_API_DEBUG`
- **AI / LLM**: `OPENROUTER_API_KEY`, `OPENROUTER_MODEL`
- **ウェブ検索**: `SEARCH_PROVIDER`, `SEARCH_GOOGLE_*`, `SEARCH_BING_API_KEY`
- **プロキシ (オプション)**: `PROXY_PORT` または `PROXY_URL`
---
## 🤝 コミュニティとサポート
戦略の共有や技術サポートのために、グローバルコミュニティに参加しましょう:
- **🌟 貢献したいですか?**: [貢献者プログラムに参加](CONTRIBUTORS.md) - 早期貢献者はQDTガバナンストークンを受け取ります!
- **Telegram (Group)**: [Join QuantDinger Telegram Group](https://t.me/quantdinger)
- **Discord**: [サーバーに参加](https://discord.gg/vwJ8zxFh9Q)
- **YouTube**: [@quantdinger](https://youtube.com/@quantdinger)
- **Email**: [brokermr810@gmail.com](mailto:brokermr810@gmail.com)
- **GitHub Issues**: [バグ報告 / 機能リクエスト](https://github.com/brokermr810/QuantDinger/issues)
---
## ☕ プロジェクトを支援する
もしQuantDingerがあなたの利益に貢献したなら、開発者にコーヒーを一杯奢ることを検討してください。あなたの支援がプロジェクトを存続させます!
**ERC-20 / BEP-20 / Polygon / Arbitrum**
```
0x96fa4962181bea077f8c7240efe46afbe73641a7
```
---
### 商用サービス
QuantDingerを最大限に活用するためのプロフェッショナルサービスを提供しています:
| サービス | 説明 |
|---------|-------------|
| **デプロイ & セットアップ** | サーバーのデプロイ、設定、最適化に関するマンツーマンのサポート |
| **カスタム戦略開発** | 特定のニーズや市場に合わせて設計された取引戦略の開発 |
| **エンタープライズアップグレード** | 商用ライセンス、優先サポート、ビジネス向けの高度な機能 |
| **トレーニング & コンサルティング** | 取引チーム向けの実践的なトレーニングセッションと戦略コンサルティング |
**ご興味がありますか?** 以下よりお問い合わせください:
- 📧 Email: [brokermr810@gmail.com](mailto:brokermr810@gmail.com)
- 💬 Telegram: [QuantDinger Group](https://t.me/quantdinger)
---
### 謝辞
QuantDingerは、Flask, Pandas, CCXT, Vue.js, Ant Design Vue, KlineChartsなどの素晴らしいオープンソースプロジェクトの上に成り立っています。
すべてのメンテナとコントリビューターに感謝します! ❤️