2026-01-20

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

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

今日の日経平均株価

現在値 52,991.10 -592.47 -1.11% 15:30
前日終値 53,583.57 01/19 高値 53,408.35 09:00
始値 53,348.59 09:00 安値 52,852.90 13:58

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

【関連ニュース】

デイトレ用自作アプリ

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

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

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

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

本日の設定
  value
PERIOD_WARMUP 180.00
PERIOD_MA_1 50.00
PERIOD_MA_2 800.00
PERIOD_SLOPE 5.00
THRESHOLD_SLOPE 0.05
PERIOD_RR 30.00
TURBULENCE 35.00
LOSSCUT_1 -25.00
THRESHOLD_PM_MIN 10.00
THRESHOLD_DDR_MIN 0.60
N_MINUS_MAX 240.00

本日のパラメータを決めるために、実験計画 (DOE) にもとづいた取引シミュレーションを実施して、その結果を蓄積しています。毎回、詳細な解析・考察をしようとすると続かないので、興味がある情報だけをまとめています。

観測値(主にテクニカル指標)をレビューできる体制が整うと、評価したい指標が次々と出てきます。評価したいパラメータがある程度出尽くして売買ロジックへの反映が終わるまでは、移動平均線の周期の組み合わせ探索をベースの DOE として毎日実施しています。ベースラインの 3 銘柄について、夕方にシミュレータに仕掛けて翌朝に全結果が出ているような実験量に調節しています。

他のパラメータについては小規模な DOE を昼間に実施して、部分最適化に注力しています。


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

本日のリアルタイムの取引シミュレーション (Simulated Trade)
本日のリアルタイムの取引シミュレーション (Simulated Trade) の取引明細(100 株単位)
注文番号 注文日時 銘柄コード 売買 約定単価 約定数量 損益 備考
1 2026-01-20 09:08:02.931283236 7011 売建 4884.0 100
2 2026-01-20 09:08:48.221943617 7011 買埋 4900.0 100 -1600.0
3 2026-01-20 09:08:49.224189520 7011 買建 4898.0 100
4 2026-01-20 09:12:04.143759727 7011 売埋 4902.0 100 400.0
5 2026-01-20 09:13:54.690078259 7011 売建 4896.0 100
6 2026-01-20 09:34:49.462503910 7011 買埋 4839.0 100 5700.0
7 2026-01-20 09:34:50.466616869 7011 買建 4840.0 100
8 2026-01-20 09:44:20.992662191 7011 売埋 4853.0 100 1300.0
9 2026-01-20 09:45:15.278560400 7011 売建 4848.0 100
10 2026-01-20 09:48:59.333724737 7011 買埋 4856.0 100 -800.0
11 2026-01-20 09:49:00.350282907 7011 買建 4857.0 100
12 2026-01-20 09:49:27.451502562 7011 売埋 4853.0 100 -400.0
13 2026-01-20 10:07:11.188257694 7011 売建 4832.0 100
14 2026-01-20 10:07:31.211841822 7011 買埋 4834.0 100 -200.0
15 2026-01-20 10:19:55.703878880 7011 買建 4823.0 100
16 2026-01-20 10:33:15.694299459 7011 売埋 4832.0 100 900.0
17 2026-01-20 10:33:16.697115898 7011 売建 4834.0 100
18 2026-01-20 10:47:43.006493807 7011 買埋 4830.0 100 400.0
19 2026-01-20 10:47:50.012936592 7011 買建 4827.0 100
20 2026-01-20 10:49:19.501533985 7011 売埋 4824.0 100 -300.0
21 2026-01-20 10:55:11.087258816 7011 買建 4825.0 100
22 2026-01-20 10:56:21.365866899 7011 売埋 4822.0 100 -300.0
23 2026-01-20 11:21:13.095693111 7011 買建 4797.0 100
24 2026-01-20 11:21:29.132600307 7011 売埋 4794.0 100 -300.0
25 2026-01-20 11:21:30.137910604 7011 売建 4794.0 100
26 2026-01-20 12:30:10.030370474 7011 買埋 4786.0 100 800.0
27 2026-01-20 12:47:15.830798626 7011 売建 4826.0 100
28 2026-01-20 12:50:16.716306210 7011 買埋 4822.0 100 400.0
29 2026-01-20 12:53:23.612971783 7011 買建 4833.0 100
30 2026-01-20 13:04:25.468582153 7011 売埋 4831.0 100 -200.0
31 2026-01-20 13:11:17.482993603 7011 買建 4835.0 100
32 2026-01-20 13:12:47.763389587 7011 売埋 4829.0 100 -600.0
33 2026-01-20 13:12:48.751995087 7011 売建 4829.0 100
34 2026-01-20 13:17:33.315009117 7011 買埋 4824.0 100 500.0
35 2026-01-20 13:24:42.031223297 7011 買建 4824.0 100
36 2026-01-20 13:41:26.833269596 7011 売埋 4838.0 100 1400.0
37 2026-01-20 13:41:27.834885836 7011 売建 4838.0 100
38 2026-01-20 14:00:16.330434322 7011 買埋 4835.0 100 300.0
39 2026-01-20 14:00:50.438346386 7011 買建 4837.0 100
40 2026-01-20 14:01:50.592600584 7011 売埋 4835.0 100 -200.0
41 2026-01-20 14:12:10.603047371 7011 買建 4840.0 100
42 2026-01-20 14:16:37.025683880 7011 売埋 4838.0 100 -200.0
43 2026-01-20 14:16:38.031364202 7011 売建 4838.0 100
44 2026-01-20 14:20:55.461994410 7011 買埋 4839.0 100 -100.0
45 2026-01-20 14:42:15.122286558 7011 売建 4850.0 100
46 2026-01-20 14:42:33.142925978 7011 買埋 4853.0 100 -300.0
47 2026-01-20 14:42:34.160367012 7011 買建 4852.0 100
48 2026-01-20 14:43:36.401164770 7011 売埋 4850.0 100 -200.0
49 2026-01-20 14:59:19.012402058 7011 売建 4846.0 100
50 2026-01-20 15:24:50.098436832 7011 買埋 4807.0 100 3900.0
合計損益 10300.0

累積損益の時系列トレンド

今日の累積損益の時系列トレンドです。

累積損益の時系列トレンド

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

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

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

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

 

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

売買ロジックは 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. ロス2
    • 含み損益が N_MINUS_MAX 回より多く連続して負になったらロスカットするシグナル。
  7. 利確1
    • 含み益最大値 (Profit Min = PM) が、設定した最低値 THRESHOLD_PM_MIN より大きく、ドローダウン比率 (Draw Down Ratio = DDR) が設定したしきい値 THRESHOLD_DDR_MIN より大きくなったときに利確タイミングのシグナルを発生。
  8. 建玉
    • ポジション 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 件のコメント:

コメントを投稿