これを英語で読みたい場合は、ここにアクセスしてください。
VeighNa は、Python をベースとしたオープンソースの定量取引システム開発フレームワークであり、オープンソース コミュニティからの継続的な貢献により、リリース以来、徐々に多機能な定量取引プラットフォームに成長してきました。プライベート・エクイティ・ファンド、証券会社、先物会社などの分野。
プロトレーダー向けの[VeighNa Elite Quantitative Terminal]が正式リリースされ、大規模な戦略の同時実行、インテリジェントなポジションシフト、アルゴリズム分割実行、マルチアカウント取引サポートの点でプロトレーダーのニーズを完璧にサポートします。さらに詳細な情報については、以下の QR コードをスキャンして、メニュー バーの [コミュニティ コミュニケーション -> エリート メンバーシップ サービス] をクリックしてください。
VeighNa を二次開発で使用するプロセス (戦略、モジュールなど) で質問がある場合は、 VeighNa プロジェクトのドキュメントを確認してください。問題が解決できない場合は、公式の [質問とヘルプ] セクションにアクセスしてください。 [経験の共有] このセクションを使用してあなたの経験を共有することも歓迎します。
VeighNa についてさらに詳しく知りたいですか?以下の QR コードをスキャンして、[VeighNa コミュニティ コミュニケーション WeChat グループ] に参加するアシスタントを追加してください。
多機能のクオンツ取引プラットフォーム (Trader) は、さまざまな取引インターフェイスを統合し、特定の戦略アルゴリズムや機能開発のためのシンプルで使いやすい API を提供し、トレーダーが必要とするクオンツ取引アプリケーションを迅速に構築します。
国内外で保有する以下の取引商品をカバーする取引インターフェース(ゲートウェイ):
国内市場
CTP(ctp):国内先物・オプション
CTP Mini(ミニ):国内先物・オプション
CTP Securities (sopt): ETF オプション
Femas: 国内先物
Hang Seng UFT (uft): 国内先物、ETF オプション
イーサニー:国内先物、金TD
Apex Feichuang (秒): ETF オプション
Vertex HTS (hts): ETF オプション
Zhongtai XTP(xtp):国内証券(A株)、ETFオプション
華信シンギュラリティ(tora):国内証券(A株)、ETFオプション
国泰君安 (hft): 国内証券 (A 株、金融サービス)
Topix OST(ost):国内証券(A株)
オリエンタルフォーチュンEMT(emt):国内証券(A株)
ムササビ (sgit): 金 TD、国内先物
ksgold:ゴールドTD
Lei Xing Asset Management (lstar): 先物資産管理
ロホン:先物資産運用
ジーズ:先物資産管理
Zhonhui Yida (コムスター): インターバンク市場
ナゲッツ(gm):国内証券(シミュレーション)
ハンセンクラウドUF(uf):国内証券(シミュレーション)
TTS(tts):国内先物(シミュレーション)
海外市場
インタラクティブ・ブローカーズ(ib):海外証券、先物、オプション、貴金属など
Yisheng 9.0外部ディスク(タップ):海外先物
直接先物(da):海外先物
特別なアプリケーション
RQData 相場 (rqdata): 市場全体 (株式、指数、ETF、先物) のリアルタイム相場
Xun Touyan 相場 (xt): 市場全体のリアルタイム相場 (株式、指数、転換社債、ETF、先物、オプション)
RPC サービス (rpc): 分散アーキテクチャ用のクロスプロセス通信インターフェイス
次のタイプの定量的戦略をカバーする取引アプリケーション (アプリ):
cta_strategy: CTA 戦略エンジン モジュールは、使いやすさを維持しながら、ユーザーが CTA 戦略の運用中に委託されたレポートと引き出しの動作をきめ細かく制御できるようにします (トランザクションのスリッページを削減し、高頻度の戦略を実装します)。
cta_backtester: CTA 戦略バックテスト モジュール。Jupyter Notebook を使用せず、グラフィカル インターフェイスを直接使用して戦略バックテスト分析、パラメーターの最適化、その他の関連作業を実行します。
Spread_trading: スプレッド取引モジュール、カスタム スプレッド、スプレッド相場とポジションのリアルタイム計算をサポート、スプレッド アルゴリズム取引と自動スプレッド戦略モードをサポート
option_master: 国内オプション市場向けに設計されたオプション取引モジュール。複数のオプション価格設定モデル、インプライド・ボラティリティ表面計算、ギリシャ価値リスク追跡およびその他の機能をサポートします。
Portfolio_strategy: 複数の契約を同時に取引するクオンツ戦略 (アルファ、オプション裁定取引など) 用のポートフォリオ戦略モジュール。履歴データのバックテストとリアルタイムの自動取引機能を提供します。
algo_trading: アルゴリズム取引モジュール。一般的に使用されるさまざまなインテリジェント取引アルゴリズム (TWAP、Sniper、Iceberg、BestLimit など) を提供します。
script_trader: マルチスタンダードの定量的戦略および計算タスク用に設計されたスクリプト戦略モジュール。コマンド ラインで REPL 命令の形式でトランザクションを実装することもできます。バックテストはサポートされていません。
Paper_account: ローカル シミュレーション モジュール、完全にローカライズされたシミュレーション取引機能、取引インターフェイスから取得したリアルタイムの市況に基づく委託マッチング、および委託トランザクション プッシュおよびポジション記録が提供されます。
chart_wizard: K ライン チャート モジュール。RQData データ サービス (先物) または取引インターフェイスに基づいて履歴データを取得し、ティック プッシュと組み合わせたリアルタイムの市場変化を表示します。
Portfolio_manager: 独立した戦略的取引ポートフォリオ (サブアカウント) に基づく取引ポートフォリオ管理モジュールは、委託された取引記録管理、取引ポジションの自動追跡、毎日の損益のリアルタイム統計を提供します。
rpc_service: 特定のプロセスをサーバーとして開始できるようにする RPC サービス モジュール。統合マーケットおよびトランザクション ルーティング チャネルとして、複数のクライアントが同時に接続してマルチプロセス分散システムを実装できるようにします。
data_manager: 履歴データ管理モジュール。ツリー ディレクトリを通じてデータベース内の既存のデータの概要を表示します。任意の期間のデータを選択してフィールドの詳細を表示し、CSV ファイルのデータのインポートとエクスポートをサポートします。
data_recorder: グラフィカル インターフェイスに基づいて構成された市場記録モジュールは、戦略のバックテストや実際の市場の初期化のために、必要に応じてティックまたは K ラインの市場状況をデータベースにリアルタイムで記録します。
Excel_rtd: Excel RTD (リアルタイム データ) リアルタイム データ サービス。Excel のさまざまなデータ (市場、契約、ポジションなど) のリアルタイム プッシュ更新を取得するための pyxll モジュールに基づいています。
risk_manager: トランザクションフロー制御、注文数量、活動委託、注文キャンセル総数、その他のルールに関する統計と制限を提供し、フロントエンドのリスク管理機能を効果的に実現するリスク管理モジュール。
web_trader: BS アーキテクチャ要件に合わせて設計された Web サービス モジュールは、アクティブな関数呼び出し (REST) とパッシブなデータ プッシュ (Websocket) を提供する Web サーバーを実装します。
Python トランザクション API インターフェイス カプセル化 (api) は、上記のトランザクション インターフェイスの基礎となるドッキング実装を提供します。
REST クライアント (残り): コルーチン非同期 IO に基づく高性能 REST API クライアント。イベント メッセージ ループ プログラミング モデルを使用して、同時実行性の高いリアルタイム トランザクション リクエストの送信をサポートします。
Websocket クライアント (websocket): コルーチン非同期 IO に基づく高性能 Websocket API クライアント。REST クライアントとの共有イベント ループの同時実行をサポートします。
シンプルで使いやすいイベント駆動型エンジン(イベント)は、イベント駆動型取引プログラムの中核として機能します。
さまざまなデータベース (データベース) をドッキングするためのアダプター インターフェイス:
SQLクラス
SQLite (sqlite): 軽量の単一ファイル データベース。データ サービス プログラムのインストールと構成が不要。VeighNa のデフォルト オプションで、初心者ユーザーに適しています。
MySQL (mysql): 非常に豊富なドキュメントを備えた主流のオープンソース リレーショナル データベースであり、他の NewSQL 互換実装 (TiDB など) を置き換えることができます。
PostgreSQL (postgresql): 豊富な機能を備えたオープン ソースのリレーショナル データベース。拡張プラグインを通じて新しい機能をサポートします。経験豊富なユーザーのみにお勧めします。
NoSQLクラス
DolphinDB (dolphindb): 高性能の分散時系列データベースで、非常に高速な要件を持つ低遅延タスクやリアルタイム タスクに適しています。
Arctic (北極): ブロック ストレージや LZ4 圧縮などのパフォーマンス最適化ソリューションを採用し、時系列データの効率的な読み取りと書き込みを実現する高性能金融時系列データベース。
TDengine (taos): キャッシュ、ストリーミング コンピューティング、データ サブスクリプション、その他のシステム機能が組み込まれた、SQL をサポートする分散型の高性能時系列データベースであり、研究開発と運用とメンテナンスの複雑さを大幅に軽減できます。
TimescaleDB (timescaledb): PostgreSQL に基づいて開発された時系列データベース。プラグイン拡張機能としてインストールされ、空間と時間によるデータの自動分割をサポートします。
MongoDB (mongodb): 分散ファイル ストレージ (bson 形式) に基づくドキュメント データベース。内蔵のホット データ メモリ キャッシュにより、より高速な読み取りおよび書き込み速度が実現します。
InfluxDB (influxdb): TimeSeries データ用に特別に設計された時系列データベースで、非常に高い読み取りおよび書き込み効率と周辺分析アプリケーションを提供します。
LevelDB (leveldb): Google が発表した高性能の Key/Value データベースで、LSM アルゴリズムに基づいたインプロセス ストレージ エンジンを実装し、数十億の膨大なデータをサポートします。
次のタイプのデータ サービスをドッキングするためのアダプター インターフェイス (データフィード):
Xun Investment Research (xt): 株式、先物、オプション、ファンド、債券
MiKang RQData (rqdata): 株式、先物、オプション、ファンド、債券、金 TD
詠春拳マスター (voltrader): 先物、オプション
Hang Seng UData (udata): 株式、先物、オプション
TuShare (tushare): 株式、先物、オプション、ファンド
風(風):株式、先物、ファンド、債券
Tinysoft (タイニーソフト): 株式、先物、ファンド、債券
Flush iFind (ifind): 株式、先物、ファンド、債券
天琴 TQSDK (tqsdk): 先物
クロスプロセス通信標準コンポーネント (rpc) は、分散展開で複雑な取引システムを実装するために使用されます。
Python の高機能な K 折れ線グラフ (チャート) は、大容量データのチャート表示とリアルタイム データ更新機能をサポートしています。
コミュニティ フォーラムと Zhihu コラムには、VeighNa プロジェクトに関する開発チュートリアルや定量取引分野での Python の応用に関する研究が含まれています。
公式コミュニケーショングループ 262656087 (QQ) は厳重に管理されており (長期間ダイバーを続けているメンバーは定期的に削除されます)、グループ参加料は VeighNa コミュニティ基金に寄付されます。
注: 上記の機能の説明は、ドキュメントのリリース時点の状況に基づいており、将来更新または調整される可能性があります。機能説明が実際と異なる場合は、調整のため発行よりご連絡ください。
ここからリリース バージョンをダウンロードし、解凍し、次のコマンドを実行してインストールします。
窓
install.bat
Ubuntu
bash install.sh
マコス
bash install_osx.sh
注: VeighNa フレームワークのインストールに必要な依存ライブラリは setup.cfg にリストされており、これらの依存ライブラリの推奨インストール バージョンは要件.txt に記載されています。
SimNow に CTP シミュレーションアカウントを登録し、このページでブローカーコードと取引気配サーバーアドレスを取得します。
VeighNa コミュニティ フォーラムに登録して、VeighNa Station のアカウントとパスワードを取得します (フォーラムのアカウントとパスワードは同じです)
VeighNa Station を起動し (VeighNa Studio のインストール後、デスクトップにショートカットが自動的に作成されます)、前の手順のアカウントとパスワードを入力してログインします。
下部にあるVeighNa Traderボタンをクリックして取引を開始してください。 ! !
知らせ:
VeighNa Station に基づくグラフィカルな起動方法に加えて、任意のディレクトリに run.py を作成し、次のサンプル コードを記述することもできます。
from vnpy . event import EventEngine
from vnpy . trader . engine import MainEngine
from vnpy . trader . ui import MainWindow , create_qapp
from vnpy_ctp import CtpGateway
from vnpy_ctastrategy import CtaStrategyApp
from vnpy_ctabacktester import CtaBacktesterApp
def main ():
"""Start VeighNa Trader"""
qapp = create_qapp ()
event_engine = EventEngine ()
main_engine = MainEngine ( event_engine )
main_engine . add_gateway ( CtpGateway )
main_engine . add_app ( CtaStrategyApp )
main_engine . add_app ( CtaBacktesterApp )
main_window = MainWindow ( main_engine , event_engine )
main_window . showMaximized ()
qapp . exec ()
if __name__ == "__main__" :
main ()
このディレクトリで CMD を開き (Shift キーを押しながらマウスを右クリックし、ここでコマンド ウィンドウ/PowerShell を開きます)、次のコマンドを実行して VeighNa Trader を起動します。
python run.py
VeighNa は Github を使用してソース コードをホストしています。コードを提供したい場合は、Github の PR (プル リクエスト) プロセスを使用してください。
問題を作成する - 大きな変更 (新機能、大規模なリファクタリングなど) については、最初に問題を開いて議論することをお勧めします (ドキュメントの改善、バグ修正など)。 PRを直接送信してください。
VeighNa のフォーク - 右上隅の[フォーク]ボタンをクリックします。
独自のフォークのクローンを作成します: git clone https://github.com/$userid/vnpy.git
devから独自の機能ブランチを作成します: git checkout -b $my_feature_branch dev
$my_feature_branch を変更し、変更をフォークにプッシュします
フォークの $my_feature_branch ブランチからメイン プロジェクトのdevブランチへの [プル リクエスト] を作成します。ここで[フォーク間で比較] をクリックし、PR を作成するために必要なフォークとブランチを選択します。
レビューを待っています。改善を続けるか、統合する必要があります。
コードを送信するときは、コードの品質を向上させるために次のルールに従ってください。
flake8
実行するだけです。 マサチューセッツ工科大学