
プロジェクト概要
先物ファクター発掘実験は、すぐに利用できる先物クオンツ研究・シミュレーション取引プラットフォームです。相場情報の確認、ファクター発掘、戦略バックテスト、ペーパートレード、リアルタイムのクオンツタスク、AIによるチャート分析を1つのセルフホスト型システムに集約しており、学習、研究、シミュレーション実験に適しています。

プロジェクトでは、デフォルトで新浪财经の無料相場情報を利用でき、約5秒ごとに更新されます。相場情報アカウントの登録は不要です。データベース、キャッシュ、業務データはすべて導入者自身が管理します。独自のCTP互換相場情報フロントエンドがある場合は、管理画面で対応するtcp://アドレスを設定できます。
本プロジェクトは学習、研究、シミュレーション取引の実験のみを目的としており、投資助言を構成するものではありません。実取引の相場情報または取引インターフェースに接続する場合、リスクおよびコンプライアンス上の責任は利用者が負うものとします。
主な機能
- 相場情報ターミナル:新浪の無料リアルタイム価格とK線履歴を提供し、お気に入りリストや銘柄ツリーにも対応します。板情報5本値などの機能は、接続する相場情報ソースによって異なります。
- ファクターラボ:60種類以上の特徴量を内蔵し、式によるファクター発掘と、トークンによる実験の再現に対応します。
- ヒストリカル・バックテスト:マルチタイムフレームK線バックテスト、AI生成K線バックテスト、意思決定モデルのバックテストに対応します。
- シミュレーション取引:ペーパー口座、注文約定、ポジション管理、資産曲線、複数の決済基準を提供します。
- クオンツタスク:戦略シグナルをリアルタイムで計算し、マルチタイムフレームの共振とシグナルK線による損切りに対応します。
- AIチャート分析:利用者が設定したLLMチャネルを通じて、アナウンサー形式の相場解説と取引支援情報を生成します。
- 管理画面:相場情報チャネルの監視とプライマリ・バックアップ切り替え、K線ソース、ユーザー、クォータを管理します。
技術アーキテクチャ
バックエンドはPython 3.12、FastAPI、非同期SQLAlchemy、PostgreSQL、Redisを基盤とし、フロントエンドにはNext.js 15、React 19、Tailwind CSSを使用します。サービス全体はDocker Composeでオーケストレーションされます。
この構成では、フロントエンド、API、データベース、キャッシュをコンテナ化された導入環境に統合でき、個人サーバーや社内研究環境でのセルフホストに適しています。

インストールと起動
ステップ1:導入環境を準備する
開始する前に、実行環境へDockerがインストールされ、Docker Composeを使用できることを確認してください。その後、プロジェクトのソースコードを取得し、リポジトリのルートディレクトリへ移動します。
ステップ2:環境変数ファイルを作成する
リポジトリに用意されているサンプル設定をコピーします。
cp .env.example .env.envを開き、導入環境に応じてデータベース、Redis、JWTキーなどの設定を確認または変更します。公開環境で運用する場合、推測しやすいキーやサンプルと同じキーを使い続けないでください。
ステップ3:コンテナを起動する
リポジトリのルートディレクトリで実行します。
docker compose up -dこのコマンドにより、Composeで定義されたサービスがバックグラウンドで起動します。起動後、次のコマンドでコンテナの状態を確認できます。
docker compose psデータベースのテーブル作成、データ設定、環境変数の詳細については、プロジェクト内のSELF-HOSTING.mdを参照してください。READMEではアクセス用ポートを固定していないため、Composeファイルとローカルの環境変数に基づいて実際のアクセス先を確認してください。
相場情報ソースの設定
デフォルトの新浪相場情報を直接使用する
初回の体験では、デフォルトのsina相場情報ソースをそのまま使用できます。このソースはアカウントやサーバーアドレスを必要とせず、デフォルトで約5秒ごとに更新されるため、相場画面と基本的な研究フローの確認に適しています。

独自のCTP互換フロントエンドに接続する
利用可能なCTP互換相場情報サービスがある場合は、ctp_simを選択し、管理画面の「相場情報チャネル監視」ページで独自のアドレスを入力します。例:
tcp://host:portオープンソースリポジトリには有料またはプライベートな相場情報サーバーのアドレスは組み込まれていません。導入者は、合法かつ利用可能なフロントエンドアドレスを自ら取得して設定する必要があります。
openctp 7×24シミュレーション環境を使用する
openctp_724はopenctpの7×24シミュレーション環境に対応しており、バーチャル取引の実験に適しています。データソースによって提供可能な項目や深度は異なる場合があります。たとえば、板情報5本値には、相場情報ソース自体がその機能を備えている必要があります。
基本的な利用フロー
1. 相場情報ターミナルから研究対象を選ぶ
相場情報ターミナルに入り、お気に入りリストまたは銘柄ツリーから先物価格と過去のK線を確認します。ファクター実験やバックテストを始める前に、相場情報が更新されていることを確認すると、データソースの異常による誤判定を減らせます。
2. ファクターラボで実験する
ファクターラボには60種類以上の内蔵特徴量があり、式を使ってファクターを組み合わせられます。比較的簡単な式から始め、研究対象、周期、パラメータを記録しながら、徐々に複雑さを増やすことを推奨します。

プラットフォームのトークンコードは実験の再現に利用できます。有意義なファクター研究を終えたら、対応するトークンを保存し、使用したデータソースと期間も同時に記録してください。再実行や結果の比較を行う際に、実験条件を一致させやすくなります。
3. ヒストリカル・バックテストを実行する
バックテストモジュールに入り、研究目的に応じてマルチタイムフレームK線バックテスト、AI生成K線バックテスト、意思決定モデルのバックテストを選択します。バックテストでは、選択した周期、シグナルロジック、決済条件が当初の仮説と一致しているかを重点的に確認してください。

単一の収益結果だけを見ないでください。READMEでは具体的な評価指標やデフォルトパラメータを定めていないため、実際の分析ではシステムに表示されるバックテスト結果を基礎とし、異なる周期や条件を組み合わせて比較してください。
4. シミュレーション取引で検証する
ヒストリカル・バックテストの後は、ペーパー口座を使ってシミュレーション検証を行えます。シミュレーション取引モジュールは、注文約定、ポジション確認、資産曲線に対応し、指標のデッドクロス、ファクター閾値、スイングの目安などを決済基準として利用できます。

まずはシミュレーション口座で、連続する相場におけるシグナルの動きを観察することを推奨します。過去のバックテスト結果を将来のパフォーマンスと直接みなさないでください。特に、注文状態、ポジションの変化、資産曲線が戦略の想定に合っているかを確認する必要があります。
5. リアルタイムのクオンツタスクを作成する
クオンツタスクでは戦略シグナルをリアルタイムで計算でき、マルチタイムフレームの共振とシグナルK線による損切りにも対応します。実際に使用する際は、まず単一周期でシグナルを検証し、その後ほかの周期を追加して共振フィルターを適用すると、基本シグナルとマルチタイムフレーム条件の影響を区別しやすくなります。
6. AIチャート分析を設定する
AIチャート分析には、導入者自身によるモデルチャネルの設定が必要です。LLMチャネルの設定が完了すると、アナウンサー形式の相場解説と取引支援情報を利用できます。

AIの出力は研究支援として利用し、確定的な取引結論とはみなさないでください。AIが生成したK線や相場解説を使用する際は、元の相場情報、バックテスト結果、シミュレーション口座のパフォーマンスと照合し、独自に検証してください。
高度な利用のヒント
実験の再現性を保つ
- ファクター式に対応するトークンコードを保存する。
- 銘柄、K線周期、データソース、実験期間を記録する。
- 実験を比較する際は、重要な変数をできるだけ1つだけ変更する。
- 相場情報ソースを切り替えた後は、データ項目と板情報の機能を再確認する。
段階的に戦略を検証する
- ファクターラボでファクターを構築し、確認する。
- ヒストリカル・バックテストで異なる周期のパフォーマンスを検証する。
- ペーパー口座で注文、ポジション、決済のフローをテストする。
- クオンツタスクを作成し、リアルタイムシグナルとマルチタイムフレームの共振を観察する。
- AIチャート分析は戦略ルールの代替ではなく、補足情報として利用する。
相場情報チャネル管理で可用性を高める
複数の相場情報チャネルを設定した場合は、管理画面でチャネルの監視とプライマリ・バックアップ切り替えを行えます。接続状態を定期的に確認し、バックアップチャネルにも正しく入力されたアクセス可能なサービスアドレスが設定されていることを確認してください。
セルフホスト環境を保護する
導入前にJWTキーを変更し、PostgreSQL、Redis、相場情報フロントエンド、モデルチャネルの接続情報を適切に保護してください。ユーザーとクォータは管理画面で管理できるため、不要なリソース消費や未承認アクセスを避けられます。
よく使う運用コマンド
現在のコンテナ状態を確認:
docker compose psサービスログを表示:
docker compose logsログを継続的に追跡:
docker compose logs -fComposeサービスを停止:
docker compose downデータベース、Redis、JWTなどの設定を変更する場合は、まずプロジェクトのセルフホスト向けドキュメントを参照し、現在のDocker Compose設定と合わせて操作してください。
まとめ
先物ファクター発掘実験は、無料相場情報とファクター構築から始まり、マルチタイムフレーム・バックテスト、シミュレーション取引を経て、リアルタイムのクオンツタスクとAIチャート分析へ展開できる、完全なセルフホスト型研究フローを提供します。まずはデフォルトの新浪相場情報で基本フローを完了し、必要に応じて独自の相場情報フロントエンドやモデルチャネルを接続してください。常に研究およびシミュレーションの範囲内で、慎重に戦略を検証することを推奨します。
