rqalphaを使用して、株価指数先物のバックテストを完了します(1)

目的:株価指数先物の包括的な指数のバックテストを主に行う。

プログラムは、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)を呼び出して、シミュレーションのさまざまな機能を実現します
画像
 

おすすめ

転載: www.cnblogs.com/luhouxiang/p/12748260.html