楽天証券の口座でデイトレの自動売買に挑戦しようと Windows / Excel 上で利用できる マーケットスピード II RSS を活用してリアルタイムで株価などのデータを取り込んでいます。リアルタイムで売買ができるように Python で強化学習のアルゴリズムを利用したシステム開発に日々取り込んでいます。
毎日のように生成 AI とのやりとりをしていますが、VWAP に関するやりとりで残しておきたい内容を備忘録としてまとめました。
強化学習で VWAP の情報を利用する場合
一般的な VWAP ベースの報酬ロジックでは、建玉のエントリー価格がVWAPより有利かどうか(割安で買えたか、割高で売れたか)を基準に報酬を設計します。 これは「市場の平均約定価格より有利な取引を評価する」考え方に基づいています。
✅ ロング(買建)の場合
- 価格 < VWAP → 割安で買えた → 報酬を強化
- 価格 > VWAP → 割高で買った → 報酬を抑制またはペナルティ
例:報酬ロジック(買建)
reward = np.tanh((vwap - entry_price) / vwap * scaling_factor)
- scaling_factor は 10〜50 程度で調整
- VWAP より安く買えたほど報酬がプラスに近づく
✅ ショート(売建)の場合
- 価格 > VWAP → 割高で売れた → 報酬を強化
- 価格 < VWAP → 割安で売った → 報酬を抑制またはペナルティ
例:報酬ロジック(売建)
reward = np.tanh((entry_price - vwap) / vwap * scaling_factor)
- VWAP より高く売れたほど報酬がプラスに近づく
応用設計案
- 報酬の符号を VWAP 乖離率の符号に一致させる
→ ロングなら (VWAP - Price), ショートなら (Price - VWAP) - 報酬の強さを乖離率の大きさで調整
→ 乖離が大きいほど報酬を強化(ただし tanh で圧縮) - VWAP 乖離が不利な方向ならペナルティ
→ 例:ロングで VWAP より高く買ったら -0.5 固定報酬など
実務での使われ方(参考)
- 機関投資家は VWAP より有利な価格で約定することを目指す
→ VWAP を「執行品質」の基準として使う - アルゴリズム取引では VWAP を「目標価格」として報酬設計に組み込む
→ VWAP 乖離が小さいほど「良い執行」と評価される
参考サイト
- マーケットスピード II RSS | 楽天証券のトレーディングツール
- マーケットスピード II RSS 関数マニュアル
- 注文 | マーケットスピード II RSS オンラインヘルプ | 楽天証券のトレーディングツール
- PythonでGUIを設計 | Qtの公式Pythonバインディング
- PyQtGraph - Scientific Graphics and GUI Library for Python
- Python in Excel alternative: Open. Self-hosted. No limits.
- Book - xlwings Documentation

0 件のコメント:
コメントを投稿