2026-01-09

自動売買への道 (2026-01-09)

楽天証券の口座でデイトレの自動売買に挑戦しようと Windows / Excel 上で利用できる マーケットスピード II RSS を活用して Python であれこれ取り組んでいます。この「自動売買への道」のトピックでは、プログラミングの話題にも踏み込んで、日々の活動をまとめています。

今日の日経平均株価

現在値 51,939.89 +822.63 +1.61% 15:30
前日終値 51,117.26 01/08 高値 51,986.91 14:58
始値 51,367.98 09:00 安値 51,189.14 09:00

※ 右の 15 分足チャートは Yahoo! Finance のデータを yfinance で取得して作成しました。

【関連ニュース】

デイトレ用自作アプリ

以下は株価・取引に関連する情報の流れを示しています。

株価データ・取引の流れ(Windows 11)

楽天証券では、Python からネットワーク越しに直接取引できるような API が提供されていないので、マーケットスピード II RSS を介して取引をする構成を取っています。

リアルタイムの取引シミュレーション (7011)

本日のパラメータ
パラメータ 設定値
PERIOD_WARMUP 180 sec
PERIOD_MA_1 60 sec
PERIOD_MA_2 600 sec
PERIOD_SLOPE 5 sec
THRESHOLD_SLOPE 0.05 -
PERIOD_RR 30 -
TURBULENCE 7.5 -
LOSSCUT_1 -25

メインのパラメータは移動平均線 MA1MA2 の周期の組み合わせですが、日に日にパラメータが増えて、新規パラメータの説明も追いついていません。😅

全部のパラメータで実験水準を決めてシミュレーションをしようとすると実験条件数が膨大になってしまうので、まずは MA1MA2 の周期の組み合わせを決めることを優先し、他のパラメータは仮決めでしばらくは運用します。

以下は、本日のリアルタイム取引シミュレーション (Simulated Trade) による取引結果です。


本日のリアルタイムの取引シミュレーション (Simulated Trade)

本日のリアルタイムの取引シミュレーション (Simulated Trade) の取引明細(100 株単位)

注文番号 注文日時 銘柄コード 売買 約定単価 約定数量 損益 備考
1 2026-01-09 09:24:47 7011 売建 4249.0 100
2 2026-01-09 09:25:48 7011 買埋 4249.0 100 0.0
3 2026-01-09 09:45:41 7011 買建 4258.0 100
4 2026-01-09 09:46:45 7011 売埋 4249.0 100 -900.0
5 2026-01-09 10:15:57 7011 買建 4230.0 100
6 2026-01-09 10:25:49 7011 売埋 4228.0 100 -200.0
7 2026-01-09 10:25:50 7011 売建 4228.0 100
8 2026-01-09 10:33:34 7011 買埋 4227.0 100 100.0
9 2026-01-09 10:53:35 7011 買建 4213.0 100
10 2026-01-09 11:07:07 7011 売埋 4223.0 100 1000.0
11 2026-01-09 11:13:21 7011 売建 4223.0 100
12 2026-01-09 11:14:20 7011 買埋 4225.0 100 -200.0
13 2026-01-09 11:27:33 7011 買建 4232.0 100
14 2026-01-09 12:31:26 7011 売埋 4231.0 100 -100.0
15 2026-01-09 12:42:29 7011 買建 4228.0 100
16 2026-01-09 12:44:13 7011 売埋 4223.0 100 -500.0
17 2026-01-09 13:06:23 7011 売建 4222.0 100
18 2026-01-09 13:19:17 7011 買埋 4216.0 100 600.0
19 2026-01-09 14:24:08 7011 買建 4256.0 100
20 2026-01-09 14:32:05 7011 売埋 4254.0 100 -200.0
21 2026-01-09 14:32:06 7011 売建 4254.0 100
22 2026-01-09 14:42:13 7011 買埋 4257.0 100 -300.0
23 2026-01-09 14:42:14 7011 買建 4257.0 100
24 2026-01-09 14:55:27 7011 売埋 4260.0 100 300.0
25 2026-01-09 15:07:31 7011 売建 4264.0 100
26 2026-01-09 15:09:47 7011 買埋 4267.0 100 -300.0
合計損益 -700.0

オフラインの取引シミュレーション (7011)

本日収集したティックデータによる事後シミュレーションをまとめました。

本日の事後の取引シミュレーションの取引明細(100 株単位)

注文番号 注文日時 銘柄コード 売買 約定単価 約定数量 損益 備考
1 2026-01-09 09:24:47 7011 売建 4249 100
2 2026-01-09 09:25:48 7011 買埋 4249 100 0
3 2026-01-09 09:45:41 7011 買建 4258 100
4 2026-01-09 09:46:45 7011 売埋 4249 100 -900
5 2026-01-09 10:15:57 7011 買建 4230 100
6 2026-01-09 10:25:49 7011 売埋 4228 100 -200
7 2026-01-09 10:25:50 7011 売建 4228 100
8 2026-01-09 10:33:34 7011 買埋 4227 100 100
9 2026-01-09 10:53:35 7011 買建 4213 100
10 2026-01-09 11:07:07 7011 売埋 4223 100 1000
11 2026-01-09 11:13:21 7011 売建 4223 100
12 2026-01-09 11:14:20 7011 買埋 4225 100 -200
13 2026-01-09 11:27:33 7011 買建 4232 100
14 2026-01-09 12:31:26 7011 売埋 4231 100 -100
15 2026-01-09 12:42:29 7011 買建 4228 100
16 2026-01-09 12:44:13 7011 売埋 4223 100 -500
17 2026-01-09 13:06:23 7011 売建 4222 100
18 2026-01-09 13:19:17 7011 買埋 4216 100 600
19 2026-01-09 14:24:08 7011 買建 4256 100
20 2026-01-09 14:32:05 7011 売埋 4254 100 -200
21 2026-01-09 14:32:06 7011 売建 4254 100
22 2026-01-09 14:42:13 7011 買埋 4257 100 -300
23 2026-01-09 14:42:14 7011 買建 4257 100
24 2026-01-09 14:55:27 7011 売埋 4260 100 300
25 2026-01-09 15:07:31 7011 売建 4264 100
26 2026-01-09 15:09:47 7011 買埋 4267 100 -300
合計損益 -700

収集したティックデータによる売買シミュレーションの結果に疑念があったので、ここ数日間、リアルタイムと収集したティックデータによる事後シミュレーションとで、取引明細を較べました。差が認められないようなので、この週末に実験計画 (DOE) を実施しても問題無さそうです。

テクニカル指標の時系列トレンド

環境内で管理している、売買シグナルのソースとなるテクニカル指標と含み損益のトレンドをプロットしました。

縦の赤線は、取引明細の時間から入れたもので、売買をしたタイミングになります。

移動平均系テクニカル指標の時系列トレンドと含み損益

売買ロジックへのインプット

売買ロジックは Maskable PPO 互換のインターフェイスを持った自作のアルゴリズムを備えた疑似モデルです。

なるべくシンプルなロジックで売買判断できることを目指しているため、現在のところ、[0, 1] あるいは [-1, 0, 1] といった離散的なシグナルをインプットするようにしています。

シグナル名は短縮してしまって意味が判りにくいので、それぞれの機能をまとめました。

  1. クロスS1
    • 移動平均 MA1, MA2 のクロスシグナル。デッドクロス、クロス無し、ゴールデンクロスを -1, 0, 1 としたシグナル。
  2. クロスS2
    • クロスS1の 1 秒遅れのシグナル。反対売買用。
  3. クロ強
    • MA1 の傾き(絶対値)が THRESHOLD_SLOPE より大きい場合に発生するクロス・シグナルの強さを示すシグナル。
  4. 乱高下
    • Rolling Range の値が TURBULENCE より大きい場合は、株価が乱高下しているとみなしてエントリを抑制するシグナル。
  5. ロス1
    • 含み損益が LOSSCUT_1 を下回った時に発生するシグナル。
  6. 建玉
    • ポジション SHORT, NONE, LONG-1, 0, 1 としたシグナル。
売買ロジックにインプットしているシグナル

参考サイト

  1. マーケットスピード II RSS | 楽天証券のトレーディングツール
  2. マーケットスピード II RSS 関数マニュアル
  3. 注文 | マーケットスピード II RSS オンラインヘルプ | 楽天証券のトレーディングツール
  4. Gymnasium Documentation
  5. Stable-Baselines3 Docs - Reliable Reinforcement Learning Implementations
  6. Maskable PPO — Stable Baselines3 - documentation
  7. PyTorch documentation
  8. PythonでGUIを設計 | Qtの公式Pythonバインディング
  9. Python in Excel alternative: Open. Self-hosted. No limits.
  10. Book - xlwings Documentation
にほんブログ村 株ブログ 株日記へ
PVアクセスランキング にほんブログ村

0 件のコメント:

コメントを投稿