🇺🇸 English | 🇨🇳 简体中文 | 🇹🇼 繁體中文 | 🇯🇵 日本語 | 🇰🇷 한국어

QuantDinger Logo

QuantDinger

次世代 AI 定量的取引プラットフォーム

🤖 AIネイティブ · 🐍 ビジュアルPython · 🌍 グローバルマルチマーケット · 🔒 プライバシーファースト

AIコパイロットを搭載した構築、バックテスト、取引プラットフォーム。PineScriptより強力、SaaSよりスマート。

公式コミュニティ · ライブデモ · 📺 動画デモ · 🌟 参加する

License Python Vue Docker Stars

Telegram Group Discord X

--- ## 📖 はじめに ### QuantDingerとは? QuantDingerは **ローカルファースト、プライバシー重視のセルフホスト型定量取引インフラ** です。あなたのマシン/サーバー上で実行され、**PostgreSQL によるマルチユーザーアカウント** を提供しつつ、戦略・取引データ・APIキーを完全にコントロールできます。 ### なぜローカルファーストなのか? データと戦略をクラウドにロックするSaaSプラットフォームとは異なり、QuantDingerはローカルで実行されます。あなたの戦略、取引ログ、APIキー、分析結果はすべてあなたのマシンに保存されます。ベンダーロックインなし、サブスクリプション費用なし、データ流出なし。 ### 誰のためのものか? QuantDingerは以下のユーザー向けに構築されています: - データ主権とプライバシーを重視するトレーダー、研究者、エンジニア - 透明で監査可能な取引インフラストラクチャを必要とする人 - マーケティングよりもエンジニアリングを好む人 - 完全なワークフローが必要な人:データ、分析、バックテスト、実行 ### コア機能 QuantDingerには、ウェブから金融情報を収集し、ローカル市場データと組み合わせて分析レポートを生成する、内蔵の **LLMベースのマルチエージェント研究システム** が含まれています。これは戦略開発、バックテスト、実取引ワークフローと統合されています。 ### コアバリュー - **🔓 Apache 2.0 オープンソース(コード)**: 寛容で商用利用に適しています。Apache 2.0 の範囲で fork/改変が可能ですが、ライセンス/著作権表示など必要な告知は保持してください。 - **🐍 Pythonネイティブ & ビジュアル**: 標準のPythonでインジケーターを作成(PineScriptより簡単)、AIが支援します。チャート上でシグナルを直接可視化 ——「ローカル版TradingView」体験を構築。 - **🤖 AIループ最適化**: 戦略を実行するだけでなく、AIがバックテスト結果を分析してパラメータ調整(ストップロス/利益確定/MACD設定)を提案し、閉ループ最適化を形成します。 - **🌍 グローバルマーケットアクセス**: 暗号資産(実取引)、米国/中国株、FX、先物(データ/通知)をサポートする統一システム。 - **⚡ Docker & クリーンアーキテクチャ**: 4行のコマンドで高速デプロイ。モダンな技術スタック(Vue + Python)、クリーンなアーキテクチャ、関心の分離。 --- ## 📺 動画デモ
QuantDinger プロジェクト紹介動画

上の動画をクリックしてQuantDingerプロジェクト紹介をご覧ください

--- ## 📚 ドキュメント ### 開発ガイド - [Python 戦略開発ガイド](docs/STRATEGY_DEV_GUIDE_JA.md) - [Interactive Brokers (IBKR) トレーディングガイド](docs/IBKR_TRADING_GUIDE_EN.md) 🆕 - [MetaTrader 5 (MT5) トレーディングガイド](docs/MT5_TRADING_GUIDE_EN.md) 🆕 ### 通知設定 - [Telegram 通知設定](docs/NOTIFICATION_TELEGRAM_CONFIG_EN.md) - [メール (SMTP) 通知設定](docs/NOTIFICATION_EMAIL_CONFIG_EN.md) - [SMS (Twilio) 通知設定](docs/NOTIFICATION_SMS_CONFIG_EN.md) ## 📸 ビジュアルツアー

🗺️ システムアーキテクチャ概要

QuantDinger の AI 駆動型リサーチ、バックテスト、自動取引機能の全体像。

QuantDinger システムトポロジー

📊 プロフェッショナル・クオンツダッシュボード

市場の動向、資産、戦略ステータスをリアルタイムで監視。

QuantDinger Dashboard

🤖 AI ディープリサーチ

市場センチメントとテクニカル分析のためのマルチエージェント・コラボレーション。

AI Market Analysis

💬 スマートトレーディングアシスタント

即座に市場の洞察を得るための自然言語インターフェース。

Trading Assistant

📈 インタラクティブなインジケーター分析

ドラッグ&ドロップ分析を備えた豊富なテクニカルインジケーターライブラリ。

Indicator Analysis

🐍 Python 戦略生成

AI支援による戦略コーディングが可能な内蔵エディタ。

Code Generation

📊 ポートフォリオモニター

ポジション追跡、アラート設定、メール/Telegram経由でAI分析レポートを受信。

Portfolio Monitor
--- ## ✨ 主な機能 ### 1. ビジュアルPython戦略ワークベンチ *PineScriptより強力、SaaSよりスマート。* - **Pythonネイティブ**: Pythonでインジケーターと戦略を記述。PineScriptのような専用言語ではなく、完全なPythonエコシステム(Pandas, Numpy, TA-Lib)を活用。 - **"Mini-TradingView" 体験**: 内蔵のKラインチャート上でPythonインジケーターを直接実行。過去データ上で売買シグナルを視覚的にデバッグ。 - **AI支援コーディング**: 内蔵AIに複雑なロジックを書いてもらいましょう。アイデアからコードまで数秒で完了。 ### 2. 完全な取引ライフサイクル *インジケーターから実行まで、シームレスに。* 1. **インジケーター**: 市場のエントリー/エグジットシグナルを定義。 2. **戦略設定**: リスク管理ルール(ポジションサイジング、ストップロス、利益確定)を追加。 3. **バックテスト & AI最適化**: バックテストを実行し、豊富なパフォーマンス指標を表示し、**AIに結果を分析させて改善を提案**させます(例:「MACD閾値をXに調整」)。 4. **実行モード**: - **実取引**: - **暗号資産**: 直接API実行、10以上の取引所(Binance, OKX, Bitget, Bybitなど)をサポート - **米国/香港株式**: Interactive Brokers (IBKR)経由 🆕 - **外国為替**: MetaTrader 5 (MT5)経由 🆕 - **シグナル通知**: 実取引をサポートしていない市場(A株/先物)向けに、Telegram, Discord, Email, SMS, Webhook経由でシグナルを送信。 ### 3. AI分析システム *高速・正確・プロフェッショナルなレポート。* QuantDingerは効率的なAI分析システムを搭載: - **高速分析モード**: 単一LLM呼び出しアーキテクチャによる迅速で正確な分析(複雑なマルチエージェントシステムに代わる) - **グローバル市場統合**: リアルタイム市場データ、ヒートマップ、経済カレンダーを分析ページに統合 - **ATRベースの取引レベル**: テクニカル分析(ATR、サポート/レジスタンス)に基づくストップロス・利確の推奨 - **分析メモリ**: 履歴確認と継続学習のための分析結果の保存 - **戦略統合**: AI分析を戦略の「市場フィルター」として使用可能 ### 4. ユニバーサルデータエンジン QuantDingerは複数の市場にわたる統一されたデータインターフェースを提供します: - **暗号資産**: 取引のための直接API接続(10以上の取引所)と、市場データのためのCCXT統合(100以上のソース) - **株式**: Yahoo Finance、Finnhub、Tiingo(米国株)、AkShare(中国/香港株) - **先物/FX**: OANDAおよび主要な先物データソース - **プロキシサポート**: 制限されたネットワーク環境のための内蔵プロキシ設定 ### 5. 🧠 記憶拡張エージェント(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` ### 6. 戦略ランタイム - **スレッドベースのエグゼキューター**: 戦略実行のための独立したスレッドプール - **自動復元**: システム再起動後に実行中の戦略を再開 - **注文キュー**: 注文実行のためのバックグラウンドワーカー ### 7. マルチLLMプロバイダーサポート QuantDinger は複数の AI プロバイダーをサポートし、自動検出機能を備えています: | プロバイダー | 特徴 | |------------|------| | **OpenRouter** | マルチモデルゲートウェイ(デフォルト)、100+ モデル | | **OpenAI** | GPT-4o, GPT-4o-mini | | **Google Gemini** | Gemini 1.5 Flash/Pro | | **DeepSeek** | DeepSeek Chat(コスパ良好) | | **xAI Grok** | Grok Beta | `.env` でお好みのプロバイダーの API キーを設定するだけで、システムが利用可能なプロバイダーを自動検出します。 ### 8. インジケーターコミュニティ *共有、発見、取引。* - **公開と共有**: Pythonインジケーターをコミュニティと共有 - **購入システム**: 他のユーザーからプレミアムインジケーターを購入 - **評価とレビュー**: 購入したインジケーターを評価・レビュー - **管理者レビュー**: 品質管理のためのモデレーションシステム ### 9. ユーザー管理とセキュリティ - **マルチユーザーサポート**:PostgreSQL ベースのユーザーアカウント、ロールベースの権限管理 - **OAuth ログイン**:Google および GitHub OAuth 統合 - **メール認証**:メール認証コードによる登録とパスワードリセット - **セキュリティ機能**:Cloudflare Turnstile キャプチャ、IP/アカウントレート制限 - **デモモード**:公開デモ用の読み取り専用モード ### 10. 技術スタック - **バックエンド**: Python (Flask) + PostgreSQL + Redis(オプション) - **フロントエンド**: Vue 2 + Ant Design Vue + KlineCharts/ECharts - **デプロイ**: Docker Compose - **現在のバージョン**: V2.1.1 ([更新履歴](docs/CHANGELOG.md)) --- ## 🔌 対応取引所とブローカー QuantDingerは複数の市場タイプに対して複数の実行方法をサポートしています: ### 暗号資産取引所(直接API) | 取引所 | 市場 | |:--------:|:---------| | Binance | 現物, 先物, マージン | | OKX | 現物, 無期限, オプション | | Bitget | 現物, 先物, コピートレーディング | | Bybit | 現物, リニア先物 | | Coinbase Exchange | 現物 | | Kraken | 現物, 先物 | | KuCoin | 現物, 先物 | | Gate.io | 現物, 先物 | | Bitfinex | 現物, デリバティブ | | Deepcoin | 現物, 無期限 | ### 伝統的なブローカー | ブローカー | 市場 | プラットフォーム | |:------:|:--------|:---------| | **Interactive Brokers (IBKR)** | 米国株式, 香港株式 | TWS / IB Gateway 🆕 | | **MetaTrader 5 (MT5)** | 外国為替 | MT5ターミナル 🆕 | ### 市場データ(CCXT経由) Bybit、Gate.io、Kraken、KuCoin、HTX、および100以上のその他の取引所が市場データ用にサポートされています。 --- ### 多言語サポート QuantDingerは、包括的な国際化対応により、世界中のユーザー向けに構築されています。 全てのUI要素、エラーメッセージ、ドキュメントは完全に翻訳されています。言語はブラウザの設定に基づいて自動検出されますが、アプリ内で手動で切り替えることも可能です。 --- ### 対応市場 | 市場タイプ | データソース | 取引 | |-------------|--------------|---------| | **暗号資産** | Binance, OKX, Bitget, + 100 取引所 | ✅ 完全サポート | | **米国株** | Yahoo Finance, Finnhub, Tiingo | ✅ IBKR経由 🆕 | | **香港株** | AkShare, East Money | ✅ IBKR経由 🆕 | | **中国株(A株)** | AkShare, East Money | ⚡ データのみ | | **FX** | Finnhub, OANDA | ✅ MT5経由 🆕 | | **先物** | 取引所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` - **データベース**: `DATABASE_URL` (PostgreSQL 接続文字列) - **AI / LLM**: `LLM_PROVIDER` (openrouter/openai/google/deepseek/grok), 各プロバイダー API キー - **OAuth**: `GOOGLE_CLIENT_ID`, `GOOGLE_CLIENT_SECRET`, `GITHUB_CLIENT_ID`, `GITHUB_CLIENT_SECRET` - **セキュリティ**: `TURNSTILE_SITE_KEY`, `TURNSTILE_SECRET_KEY`, `ENABLE_REGISTRATION` - **ウェブ検索**: `SEARCH_PROVIDER`, `SEARCH_GOOGLE_*`, `SEARCH_BING_API_KEY` - **注文執行**: `ORDER_MODE` (maker/market), `MAKER_WAIT_SEC`, `MAKER_OFFSET_BPS` - **プロキシ (オプション)**: `PROXY_PORT` または `PROXY_URL` - **バックグラウンドサービス**: `ENABLE_PENDING_ORDER_WORKER`, `ENABLE_PORTFOLIO_MONITOR` --- ## 🤝 コミュニティとサポート - **貢献**: [貢献ガイド](CONTRIBUTING.md) · [貢献者](CONTRIBUTORS.md) - **Telegram**: [QuantDingerグループ](https://t.me/quantdinger) - **Discord**: [サーバーに参加](https://discord.gg/vwJ8zxFh9Q) - **📺 動画デモ**: [プロジェクト紹介](https://youtu.be/HPTVpqL7knM) - **YouTube**: [@quantdinger](https://youtube.com/@quantdinger) - **Email**: [brokermr810@gmail.com](mailto:brokermr810@gmail.com) - **GitHub Issues**: [バグ報告 / 機能リクエスト](https://github.com/brokermr810/QuantDinger/issues) --- ## 💼 商用ライセンス & スポンサー(Commercial License & Sponsorship) QuantDinger のコードは **Apache License 2.0** で提供されています。ただし **Apache 2.0 は商標権を付与しません**。QuantDinger の名称/ロゴ/ブランドは商標およびブランドポリシーの対象です(コードライセンスとは別扱い): - **著作権/帰属表示**:LICENSE/NOTICE など、必要な著作権・ライセンス告知は保持してください。 - **商標(名称/ロゴ/ブランド)**:QuantDinger の名称/ロゴ/ブランドを用いて、出所の誤認や背書きを示唆してはいけません。改変版を再配布する場合、書面許可がない限り QuantDinger ブランド表示の削除/置換が必要になることがあります。 再配布物で QuantDinger のブランド表示を**保持/変更**したい場合(UI 上のロゴ使用などを含む)、**商用ライセンス**についてお問い合わせください。 参照:`TRADEMARKS.md` ### 商用ライセンスで得られるもの - 合意に基づく **ブランド/表示の商用許諾** - **運用サポート**:デプロイ、アップグレード、障害対応、保守ガイダンス - **コンサルティング**:アーキテクチャレビュー、性能チューニング、戦略ワークフロー相談 - **スポンサー枠**:スポンサーとしてロゴ/広告掲載(README/サイト/アプリ内など合意に基づく) ### 連絡先 - **Telegram**: [QuantDinger Group](https://t.me/worldinbroker) - **Email**: [brokermr810@gmail.com](mailto:brokermr810@gmail.com) --- ### 💝 直接サポート(寄付) あなたのご支援は QuantDinger の維持・改善に役立ちます。 **暗号通貨寄付 (ERC-20 / BEP-20 / Polygon / Arbitrum)** ``` 0x96fa4962181bea077f8c7240efe46afbe73641a7 ```

USDT ETH

--- ### 🎓 サポートパートナー 量的金融の教育と研究を推進する学術機関や組織からのサポートを光栄に思います。
インディアナ大学量的金融学会

量的金融学会 (QFS)
インディアナ大学ブルーミントン校
次世代の量的金融専門家を育成
> 💡 **サポートパートナーになりませんか?** 大学、研究機関、組織との協力を歓迎します。[brokermr810@gmail.com](mailto:brokermr810@gmail.com) または [Telegram](https://t.me/worldinbroker) でお問い合わせください。 --- ### 謝辞 QuantDingerは、Flask, Pandas, CCXT, Vue.js, Ant Design Vue, KlineChartsなどの素晴らしいオープンソースプロジェクトの上に成り立っています。 すべてのメンテナとコントリビューターに感謝します! ❤️