目的:株価指数先物の包括的な指数のバックテストを主に行う。
プログラムは、rqalpha v3.4.0のフルバージョンとv3.4.1のマージバージョンを使用します。目標は、完全に変換し、不要なモジュールを削除し、futureのみをターゲットにすることです。コードを縮小し、複雑さを軽減します。
まずプログラムの入り口を見てください:
rqalpha。__main__:entry_point
rqalpha .__ main __。Entry_point()関数は、プログラムの開始点です。
次に、ここで2つのことを行います。
inject_mod_commands()は、設定を構成してmodモジュールを挿入します
cli(obj = {})は呼び出し用のコマンドラインパラメーターであり、対応する関数はパラメーターに従って呼び出されます。
1つの更新バンドル:
パラメータによるデータ更新:update-bundle
付属のデバッグチャート
コマンドラインパラメーターを使用:__main__.py内の関数に直接マップされたupdate-bundle:update_bundle()
default_bundle_path: 'C:\\ Users \\ lu \\。rqalpha \\ bundle'
url: 'http://cdn.ricequant.com/bundles_v3/rqbundle_20200420.tar.bz2'
それをダウンロードして解凍し、パスに入れて、データを更新します。
2 modリスト
添付のデバッグ図:
パラメータmodによって呼び出されます
以降のサブコマンドへの変換を通じて、
locals()[cmd](params)はインライン関数の呼び出しを完了します
最後にget_mod_conf()を呼び出します:
default_mod_config_path: 'C:\\ work \\ rqalpha \\ rqalpha \\ utils \\ .. \\ mod_config.yml'
user_mod_conf: 'C:\\ Users \\ lu / .rqalpha \\ mod_config.yml'
2つのモジュール構成、default_mod_config_pathはデフォルトのモジュール構成であり、プログラムが開始された後、新しいモジュール構成はenableまたはdisable呼び出しによって「C:\\ Users \\ lu / .rqalpha \\ mod_config.yml」に書き込まれます
その後、モジュール構成が再び表示されると、ユーザーのモジュール構成が直接呼び出され、元のモジュール構成は無視されます。
3 Buy_and_hold
パラメーター:run -f ../rqalpha/examples/buy_and_hold.py -s 2016-05-01 -e 2019-10-01 --account stock 100000 --frequency 1d --plot
シミュレーション取引のデモは実際に実行パラメーターを実行します
最後に__main__.pyでdef run(** kwargs)を呼び出して、シミュレーションのさまざまな機能を実現します