宽客秀

宽客秀

Quant.Show的Web3站点,Archives from quant.show

vn.pyのCTA戦略のコールバック関数on_init()の注意点

vn.py は、私たちが CTA 戦略に使用する取引プラットフォームです。具体的なインストール方法は、以前の記事「VN.PY を使用した CTA 戦略の入門体験」を参照してください。vn.py の CTA 戦略モジュールには、on_init ()、on_start ()、on_bar () などのコールバック関数があります。私たちは通常、on_bar () 関数の内容に注目しますが、on_init () などの他のコールバック関数も無視することはできません。

on_init () には数行のプログラムしかありませんが、見かけによらず単純ではありません。多くの人々は、変数の初期化操作が完了し、self.load_bar (10) 関数を使用して必要な過去のデータをロードするという理解にとどまっています(ストラテジの初期化時に、K ラインのタイムシリーズマネージャが関連する計算指標を計算しキャッシュし、取引はトリガされません)。実際には、on_init () には見落とされがちな役割がもう一つあります。それは、前回の終了時のストラテジの状態を復元することです。具体的には、.vntrader/cta_strategy_data.json からストラテジのパラメータ、最新のテクニカル指標、およびポジションの数量(pos)を読み取り、これらの値を元に戻します。

以下の例を参考にしてください。cta_strategy_data.json の内容は次のようになります:

{
"rbS": {
"pos": -12,
"initial_sell": 3470,
"initial_cover": 3500,
"step": 20
}
}

この場合、新しい CTA 戦略を rbS という名前で再起動すると、上記のストラテジのパラメータが初期化時に再度ロードされ、新しいプログラムは無視されます。効果は以下のようになります:

ad1a1b7183951dc89f508a6b6c422144

したがって、CTA 戦略を再起動する準備ができている場合は、cta_strategy_data.json ファイルを直接削除するか、関連する部分を削除することをお勧めします。そうしないと、初期化の期待と一致しないことがよくあります。

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。