FinceptTerminalは、Qt6とC++20で構築されたネイティブデスクトップ型の金融ターミナルです。株式・債券・オルタナティブ資産などの分析モジュールと、複数のバックテストエンジンを埋め込みPython 3.11で提供します。本リポジトリはAGPL-3.0の無料版で、学習・学術用途向けに月1回リリースされるエディションです。
C++20とQt6で書かれたGUIシェルが土台になっており、画面上の各モジュールから fincept-qt/scripts/Analytics 以下のPythonコードを呼び出す構成です。各分析領域にはcli.pyが用意され、argparseのサブコマンド経由でJSON入力を受け取り結果をJSONで返します。alternateInvestmentやfixedIncome、backtesting配下にはbacktestingpy・bt・fasttrade・vectorbtなど複数のバックテストエンジン用ブリッジが実装されています。ビルド面ではDockerfileがQt 6.8.3とCMake 3.27.7を厳密に固定し、amd64とarm64を自動判別してビルドします。CIにはarch_ratchet.pyがあり、setStyleSheet呼び出し数や未翻訳文字列数がベースラインを超えると失敗する仕組みで、技術的負債の増加を防いでいます。
- STEP 01
Dockerfileをビルドしようとすると、Qt 6.8.3固定やCMake 3.27.7固定など厳密なバージョン合わせが必要だと分かります。
- STEP 02
docker buildの後にX11転送付きでdocker runすると、コンテナ内でQt6のGUIが起動します。ただしWindowsやmacOSのネイティブインストーラーはGitHub Actionsのrelease.ymlでのみ作られます。
- STEP 03
fincept-qt/scripts/Analytics配下のcli.pyを単体でpython実行すると、digital-assetsやhedge-fundsなどのサブコマンドがJSON入力を受け取り分析結果を返します。
- STEP 04
resources/notebooksのJupyterノートブックを開くと、モンテカルロシミュレーションや配当複利計算などの教育用サンプルが動きます。
- STEP 05
CIのarch_ratchet.pyを実行すると、setStyleSheet呼び出し数や未翻訳文字列数が既存ベースラインと比較され、増えていればチェックが失敗します。
手に入るのは、Qt6でまとめられたネイティブGUIバイナリ一つと、単体でも呼び出せるPython分析CLI群です。加えて教育用ノートブック、Docker・Linux・Flatpak向けのパッケージング一式も含まれます。
WindowsやmacOSのネイティブビルドはDockerでは作れず、GitHub Actionsのプラットフォームランナーに依存します。
Qt 6.8.3のような正確なバージョンピンがあり、環境がずれるとビルドが通らない可能性があります。
arch_ratchet_baseline.jsonが示す通り、setStyleSheet呼び出し5,200件、ループ内460件、未翻訳文字列120件という技術的負債が今も残っています。
Enterprise版が持つ41モジュールやライブブローカー連携、SSOなどの機能は非公開で、本リポジトリには含まれません。
Pythonでの金融分析やバックテストを学びたい個人や学生、OSS貢献者に向いています。実務トレーディングデスクでの本番運用にはEnterprise版が想定されており、本リポジトリは学習用途止まりです。Dockerfileのバージョンピン、CIのarch_ratchetスクリプト、実装済みのcli.py群など実ソースに基づく判断であり、実際にビルドしなくても構成の実在性は確認できます。