中国の株価分析理論がRustへ移行するまで
アジアのアルゴリズム取引では、纏論(チャンルン、または「纏中说証券理論」)と呼ばれるテクニカル分析の概念が人気があります。Zenや東洋の智慧に関する哲学的な言い回しを剥ぎ取ってしまえば、その本質は価格チャートをピーク、トラフ、セグメント、そしていわゆる中枢整合ゾーンといったパターンにフラクタル分解する厳密な幾何学的モデルです。
czscライブラリは、これらのアルゴリズムをコード化しました。このプロジェクトは当初Pure Pythonで書かれていましたが、ティックデータの反復処理と数百のシグナルのリアルタイム処理になると、インタープリタの速度が追いつかなくなりました。1.0ブランチでは、著者は数学コア全体をRustで書き直し、外側におなじみのPythonバインディングをPyO3経由で残しています。
このツールの仕組みと、中国市場以外でも興味深い理由を見ていきましょう。
内部構造
プロジェクトのアーキテクチャは明確に2つのレイヤーに分かれています:Rustによる高速計算レイヤーと、Pythonによるユーザーインターフェースです。
Rustレイヤー(czsc._native)が重い処理を担います:
- 基本的なデータ構造と、バー更高時間足へのマージ
- 纏理論のための幾何学的パターン認識(フラクタル
FX、セグメントBI、ゾーンZS) - 220以上の готовые シグナル関数のライブラリ
- テクニカル指標(SMA、EMA、ボリンジャーバンド)
Pythonレイヤーがワークフローを整理します:
- Tushare、TQSdk、CCXT経由のcrypto取引所などのデータソースへのコネクタ
- 戦略の構築と取引イベントの合成
- インタラクティブチャートを含むスタンドアロンのHTMLレポート生成
このアプローチにより、適切な速度向上が得られます:数万本のローソク足をパースしてシグナルを生成するのが、典型的なPythonの遅延なしで行えます。
クイックスタート
Python 3.10以上が必要です。PyPIからインストールする場合、著者は人気プラットフォーム向けの готовые wheelパッケージを構築しているので、Rustコンパイラは不要です:
ソースからビルドする場合は、最新の cargoと maturinユーティリティが必要です:
チャートとパターン認識の操作
このライブラリは標準的な pandas.DataFrameとしてquoteを受け取り、 RawBar構造に変換して価格変動の幾何学を計算します:
CZSCオブジェクトは内部バー(ある価格レンジが別のレンジを包含するメカニズム)を自動的にフィルタリングし、局所的な極値を見つけ、それらから方向性セグメントを組み立てます。
高時間足の合成とシグナル生成
ライブラリ内の便利なユーティリティの1つが BarGeneratorです。分足をストリームで入力すると、5分足、30分足、日足などの同期ローソク足をリアルタイムで取得できます:
時間足を合成した後、 готовые シグナルをアタッチできます。200以上のパターンがリポジトリに組み込まれており、Rustで実装されています:
ビジュアライゼーションとバックテスト
生のポイント配列を眺めても不便です。czscには plotlyと lightweight-chartsに基づいた組み込みのビジュアライゼーションモジュールがあります。ローソク足をセグメントとエントリーオーバーレイした готовые セルフコンテインドHTMLファイルを生成します:
戦略の検証には、著者はリターン計算を wbt(Weight Back Test)という別のパッケージに切り出しており、これはハード依存です。このモデルは個別の注文ではなく、ターゲットポートフォリオの重みの時間的変化に基づいて動作し инструментовのバスケットへのスケーリングを簡素化します。
ニュアンスと荒削りな部分
始める前に知っておきたいプロジェクトの特性があります:
- ほぼすべてのドキュメント、コードコメント、シグナル名が中国語です。ある関数のロジックを理解するには、手元に翻訳者が必要です。
- アジアのデータソース(Tushare、天勤)への強い依存がありますが、CCXTの利用可能性はcryptoを取引している人にとってはこれをカバーしています。
- バージョン1.0は0.9ブランチとの後方互換性を壊しました。以前czscを使ったことがある人は、新しいAPIのためにコードを書き直す必要があります。
誰がこのプロジェクトを見つけるか
このライブラリは、RSIやMACDなどの古典的な指標 альтернативを探しているクォンタム開発者とトレーダーに役立ちます。纏論はサポートレベルとトレンド構造の厳密な形式化を提供し、czsc内部のRustコアが重チャート幾何学計算をゼロから書く必要性を排除します。始めるには、基本的なPython知識と価格時系列の動作についての理解だけで十分です。
関連プロジェクト