Files
DinQuant/README_JA.md
T
TIANHE 0fbee21c57 new
Signed-off-by: TIANHE <TIANHE@GMAIL.COM>
2026-01-14 21:49:45 +08:00

26 KiB
Raw Blame History


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プロジェクト紹介をご覧ください


📚 ドキュメント

開発ガイド

通知設定

📸 ビジュアルツアー

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

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

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 マルチエージェントリサーチ

あなたの24時間365日稼働するAI投資委員会。

システムは、戦略の二次フィルターとして機能するマルチエージェントチームを雇用します:

  • リサーチエージェント: ウェブニュースとマクロイベント(Google/Bing)を収集。
  • 分析エージェント: テクニカル指標と資金フローを分析。
  • 戦略統合: AIの判断を「市場フィルター」として使用可能 —— AIのセンチメントが一致する場合にのみ戦略の取引を許可(例:「AIリスクアナリストがマクロリスクが高いと判断した場合は購入しない」)。

4. ユニバーサルデータエンジン

QuantDingerは複数の市場にわたる統一されたデータインターフェースを提供します:

  • 暗号資産: 取引のための直接API接続(10以上の取引所)と、市場データのためのCCXT統合(100以上のソース)
  • 株式: Yahoo Finance、Finnhub、Tiingo(米国株)、AkShare(中国/香港株)
  • 先物/FX: OANDAおよび主要な先物データソース
  • プロキシサポート: 制限されたネットワーク環境のための内蔵プロキシ設定

5. 🧠 記憶拡張エージェント(Memory-Augmented Agents

QuantDinger のエージェントは毎回「ゼロから」ではありません。バックエンドに ローカル記憶DB + 反省(検証)ループ を内蔵し、過去の経験を検索して system prompt に注入します(RAG 風)。

  • これは何か:経験検索によるプロンプト拡張(※モデルの学習/微調整ではありません)
  • 保存先:ローカル SQLitebackend_api_python/data/memory/

フロー図(リクエスト → 記憶閉ループ)

flowchart TB
    %% ===== 🌐 入口層 =====
    subgraph Entry["🌐 API エントリー"]
        A["📡 POST /api/analysis/multi"]
        A2["🔄 POST /api/analysis/reflect"]
    end

    %% ===== ⚙️ サービス層 =====
    subgraph Service["⚙️ サービス編成"]
        B[AnalysisService]
        C[AgentCoordinator]
        D["📊 コンテキスト構築<br/>price · kline · news · indicators"]
    end

    %% ===== 🤖 マルチエージェントワークフロー =====
    subgraph Agents["🤖 マルチエージェントワークフロー"]

        subgraph P1["📈 Phase 1 · 多次元分析(並列)"]
            E1["🔍 MarketAnalyst<br/><i>テクニカル</i>"]
            E2["📑 FundamentalAnalyst<br/><i>ファンダメンタル</i>"]
            E3["📰 NewsAnalyst<br/><i>ニュース</i>"]
            E4["💭 SentimentAnalyst<br/><i>センチメント</i>"]
            E5["⚠️ RiskAnalyst<br/><i>リスク評価</i>"]
        end

        subgraph P2["🎯 Phase 2 · 強気弱気論争(並列)"]
            F1["🐂 BullResearcher<br/><i>強気の論点</i>"]
            F2["🐻 BearResearcher<br/><i>弱気の論点</i>"]
        end

        subgraph P3["💹 Phase 3 · 取引判断"]
            G["🎰 TraderAgent<br/><i>総合判定 → BUY / SELL / HOLD</i>"]
        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=trueREFLECTION_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. 技術スタック

  • バックエンド: Python (Flask) + SQLite + Redis(オプション)
  • フロントエンド: Vue 2 + Ant Design Vue + KlineCharts/ECharts
  • デプロイ: Docker Compose

🔌 対応取引所とブローカー

QuantDingerは複数の市場タイプに対して複数の実行方法をサポートしています:

暗号資産取引所(直接API

取引所 市場
Binance 現物, 先物, マージン
OKX 現物, 無期限, オプション
Bitget 現物, 先物, コピートレーディング
Bybit 現物, リニア先物
Coinbase Exchange 現物
Kraken 現物, 先物
KuCoin 現物, 先物
Gate.io 現物, 先物
Bitfinex 現物, デリバティブ

伝統的なブローカー

ブローカー 市場 プラットフォーム
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 データのみ

アーキテクチャ (現在のリポジトリ)

┌─────────────────────────────┐
│      quantdinger_vue         │
│   (Vue 2 + Ant Design Vue)   │
└──────────────┬──────────────┘
               │  HTTP (/api/*)
               ▼
┌─────────────────────────────┐
│     backend_api_python       │
│   (Flask + 戦略ランタイム)   │
└──────────────┬──────────────┘
               │
               ├─ SQLite (quantdinger.db)
               ├─ Redis (オプション キャッシュ)
               └─ データプロバイダー / LLMs / 取引所

リポジトリ構造

.
├─ 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

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)

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. アクセスと設定

注意: AI機能や本番環境のセキュリティのために、backend_api_python/.env を編集し(OPENROUTER_API_KEYの追加、パスワードの変更)、docker-compose restart backend でサービスを再起動してください。

3. アプリケーションへのアクセス

Docker コマンドリファレンス

# 実行状態の表示
docker-compose ps

# ログの表示
docker-compose logs -f

# サービスの停止
docker-compose down

# 停止してボリュームを削除 (警告: データベースが削除されます!)
docker-compose down -v

データの永続化

以下のデータはホストにマウントされ、コンテナの再起動後も保持されます:

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)

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)

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

🤝 コミュニティとサポート


💼 商用ライセンス & スポンサー(Commercial License & Sponsorship

QuantDinger のコードは Apache License 2.0 で提供されています。ただし Apache 2.0 は商標権を付与しません。QuantDinger の名称/ロゴ/ブランドは商標およびブランドポリシーの対象です(コードライセンスとは別扱い):

  • 著作権/帰属表示LICENSE/NOTICE など、必要な著作権・ライセンス告知は保持してください。
  • 商標(名称/ロゴ/ブランド)QuantDinger の名称/ロゴ/ブランドを用いて、出所の誤認や背書きを示唆してはいけません。改変版を再配布する場合、書面許可がない限り QuantDinger ブランド表示の削除/置換が必要になることがあります。

再配布物で QuantDinger のブランド表示を保持/変更したい場合(UI 上のロゴ使用などを含む)、商用ライセンスについてお問い合わせください。

参照:TRADEMARKS.md

商用ライセンスで得られるもの

  • 合意に基づく ブランド/表示の商用許諾
  • 運用サポート:デプロイ、アップグレード、障害対応、保守ガイダンス
  • コンサルティング:アーキテクチャレビュー、性能チューニング、戦略ワークフロー相談
  • スポンサー枠:スポンサーとしてロゴ/広告掲載(README/サイト/アプリ内など合意に基づく)

連絡先


💼 取引所パートナー(アフィリエイトリンク)

パートナーリンクを使用することで、同じ取引体験を楽しみながら QuantDinger の開発を支援できます。

Binance

世界最大の暗号通貨取引所
現物 • 先物 • マージン取引
OKX

主要なデリバティブプラットフォーム
現物 • パーペチュアル • オプション
Bitget

革新的なコピートレード
現物 • 先物 • ソーシャルトレード

💝 直接サポート(寄付)

あなたのご支援は QuantDinger の維持・改善に役立ちます。

暗号通貨寄付 (ERC-20 / BEP-20 / Polygon / Arbitrum)

0x96fa4962181bea077f8c7240efe46afbe73641a7

USDT ETH


謝辞

QuantDingerは、Flask, Pandas, CCXT, Vue.js, Ant Design Vue, KlineChartsなどの素晴らしいオープンソースプロジェクトの上に成り立っています。

すべてのメンテナとコントリビューターに感謝します! ❤️