楽天証券の口座でデイトレの自動売買に挑戦しようと、Windows / Excel 上で動作する マーケットスピード II RSS を利用した Python アプリ (Kabuto) を開発しています。未だ安心して自動売買できるレベルにまで到達していませんが、経験値を上げるため、セミオートでデイトレードを始めています。
今日の日経平均株価
| 現在値 | 56,924.11 | +1,028.79 | +1.84% | 15:45 | |
|---|---|---|---|---|---|
| 前日終値 | 55,895.32 | 04/09 | 高値 | 57,012.77 | 14:32 |
| 始値 | 56,265.77 | 09:00 | 安値 | 56,251.18 | 09:00 |
※ 右の 15 分足チャートは Yahoo! Finance のデータを yfinance で取得して作成しました。
【関連ニュース】
- ファーストリテ、通期予想を上方修正 欧米けん引・中東情勢も織り込み | ロイター [2026-04-09]
- プライベートクレジット、イラン戦争でリスク警戒-FSB議長が証言 - Bloomberg [2026-04-09]
- 米GDPは10-12月に0.5%増、改定値から下方修正-個人消費1.9%増 - Bloomberg [2026-04-09]
- 米PCE、実質個人消費支出わずかな伸び-戦争前もインフレ根強く - Bloomberg [2026-04-09]
- 米失業保険の継続受給者数、2年ぶり低水準-新規申請件数は増加 - Bloomberg [2026-04-09]
- 米卸売在庫、2月は0.8%増 13カ月ぶりの高い伸び | ロイター [2026-04-10]
- カーライル、プライベートクレジットで解約制限-約16%の請求受け - Bloomberg [2026-04-10]
- 【欧州市況】株は小幅安、国債は反落-中東での停戦合意めぐり懸念 - Bloomberg [2026-04-10]
- 米国株式市場=続伸、中東和平交渉への期待感で | ロイター [2026-04-10]
- 【米国市況】S&P500は7日続伸、停戦維持の期待で-原油は上げ幅縮小 - Bloomberg [2026-04-10]
- エヌビディア出資のルメンタム、2028年までの生産予定分は完売見込み - Bloomberg [2026-04-10]
- 台湾TSMC、予想超える35%増収-中東危機でもAI半導体需要の持続示唆 - Bloomberg [2026-04-10]
- 【日本市況】日経平均反発、停戦期待やファストリ急伸-債券と円下落 - Bloomberg [2026-04-10]
- 日経平均は大幅反発、5万7000円台回復 ファーストリテが押し上げ | ロイター [2026-04-10]
強化学習へ沼りに行く⑥
今日もひきつづき強化学習モデルの開発を優先して、デイトレはお休みです。
学習環境 TrainingEnv(gymnasium.Env)
学習環境の概略です。観測空間に penalty_negative(含み損保持ペナルティ)を追加しました。
- 行動空間 Action Space
- HOLD : 何もしない
- BUY : 「買建」または「返済」
- SELL : 「売建」または「返済」
- 「返済」は環境側で制御、またナンピン禁止を行動マスクで制御
- PositionType に対する mask [HOLD, BUY, SELL]
- WARMUP [True, False, False]
- NONE [True, True, True]
- LONG [True, False, True]
- SHORT [True, True, False]
- 観測空間 Observation Space
- Price : 株価
- MA1 : 短周期の移動平均
- DiffVWAP : 乖離率 = (MA1 - VWAP) / VWAP
- Profit : 含み損益
- penalty_negative : 含み損保持ペナルティ
- ポジションを One-Hot エンコーディング
- SHORT [1. 0. 0.]
- NONE [0. 1. 0.]
- LONG [0. 0. 1.]
- 報酬 Rewards
- 建玉なし : 報酬なし
- 建玉保持 : 含み損益の一定割合を付与
- 買建時 : -DiffVWAP を付与
- 売建時 : +DiffVWAP を付与
- 返済時 : 直前の含み損益を付与
- 約定コスト : 建玉、返済時いずれも固定の約定コストを引く
- 終了条件 Episode End
- terminated
- "目的を達成した/失敗した" など、エージェント側の原因で終了
- 終端として扱う(価値は 0)
- なし(「約定回数の上限で終了」を評価予定)
- truncated
- 時間制限・ステップ制限・データ終端など “外的理由” で終了
- 終端ではない(価値を bootstrap)
- ティックデータが最終行に達した時
- 終了時、建玉があれば強制返済。報酬条件、約定コストは同じ
報酬 vs. 損益
今日収集したティックデータより、ソフトバンクグループ (9984) のデータ (20260410_9984.csv) に対して 100 エピソード分を新たに学習させました。
100 エピソード分の学習における報酬 (episord_reward)、損益 (pnl)、約定回数トレンド (transactions)
エピソード毎のログから、最後のエピソードのログについて報酬と損益データ を集計、株価トレンドと取引シミュレーションの結果と並べました。縦線は売買が発生した箇所です。
100 エピソード分の学習における報酬、損益、約定回数トレンド
今回は含み損を保持し続けるた場合にカウントして、リニアにペナルティが増えるようにしましたが、それでも学習は進んでいるようです。ある程度保持を続けたら急激にペナルティが増えるような関数を考えて試してみます。
参考サイト
- マーケットスピード II RSS | 楽天証券のトレーディングツール
- マーケットスピード II RSS 関数マニュアル
- 注文 | マーケットスピード II RSS オンラインヘルプ | 楽天証券のトレーディングツール
- PythonでGUIを設計 | Qtの公式Pythonバインディング
- Python in Excel alternative: Open. Self-hosted. No limits.
- Book - xlwings Documentation



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