2026-02-09

まだ試験運用中 (2026-02-09)

楽天証券の口座でデイトレの自動売買に挑戦しようと、Windows / Excel 上で動作する マーケットスピード II RSS を利用した Python アプリを開発しています。完全自動売買を実現できるまでの道程は長いですが、日々、セミオートでアプリを使いながら改良を進めています。

今日の日経平均株価

現在値 56,363.94 +2,110.26 +3.89% 15:45
前日終値 54,253.68 02/06 高値 57,337.07 09:22
始値 55,130.63 09:00 安値 55,018.57 09:02

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

【関連ニュース】

デイトレ用自作アプリ

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

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

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

開発中の取引アプリに信用売買の注文をする機能を実装したので、今月からそろりそろりと試験運用を始めました。

取引アプリの概要を以下にまとめました。

現在のアプリは、エントリ:手動、エグジット:自動(+手動)の構成になっています。

今日のデイトレ ─ 乖離度のチャート

発注条件概略(楽天証券)
対象銘柄 LINEヤフー (4689)
信用区分 一般信用(いちにち)
注文数量 100 株
価格区分 成行
制  約 ナンピン禁止 (GUI)

本アプリでは注文数量を 100 株に固定しています。しばらくは積極的な取引をせずに、株価が 1,000 円未満の銘柄を選んで売買。使いながらアプリの課題を洗い出しています。そのため、ほんの僅かな損益しか出ません。

現在、アプリのチャート上に短周期の移動平均線 MA1VWAP トレンド線を表示して、これらのクロス・シグナルをエントリの判断基準にしています。

週末に、チャート上でエントリ直後の値動きのばらつき具合を視覚的に捉えられるようにしようと、ボリンジャーバンドのようなバンド幅の視覚化を試しました。

リアルタイムのデータに対して、移動標準偏差の算出を繰り返すのは計算コストが掛かるので、代わりに移動 IQR四分位範囲)から、箱ひげ図に使う最小値と最大値を算出、これをバンド幅にして、ばらつき具合を視覚化してみました。

確かにばらつき具合が判るようになりましたが、イマイチ決め手に欠けます。その上、チャートがごちゃごちゃします。

ばらつきをバンド線で視覚化することは一旦止めにして、移動平均線 MA1VWAP乖離度 (MA1 - VWAP) をトレンドにして表示することにしました。この乖離度は株価(絶対値)のスケールと異なります。チャートの数を増やしたくなかったので、銘柄ごとのチャートの右側にあるドックにスイッチを付けて表示を切り替えるようにしました。

乖離度のトレンドを見ていれば落ち着いてエントリができるのか?というと、それは疑問です。しかし、y = 0 をクロスするか否かに集中すれば良いので見やすいのではないかと期待し、しばらく使ってみることにしました。

試験運用中アプリの株価トレンド画面(上)と、移動平均線 / VWAP の乖離度(下)

GUI 上に表示される「含み損益」は、GUI 側で発注したタイミングで保持している株価で算出した見込み額です。そのため、口座の実現損益と差が生じます。

さて、今日は乖離度のトレンドを見てエントリをしましたが、やっぱり寄り付き後の値動きに翻弄されてしまいました。結局、無駄なエントリを繰り返して損失が -620 円になってしまいました。

その後、なんとか上昇トレンドに乗りましたが、序盤の損失を挽回することは難しかなと思いながら値動きを眺めていました。

10 時前に建玉の含み益が 600 円を超えましたが、どこまで上昇するのか見てみたくなって利確を我慢してしまいました。その後、含み益がどんどん小さくなってきたので、前引け前に利確しました。

アプリはまだ試験運用中なので、前場でお終いにしようと思いましたが、後場の寄り付き直後に MA1VWAP のデッド・クロスのシグナルが出たので売建してみました。

しかし、エントリのタイミングが悪く、含み損の状態が 150 回(= 300 秒)連続したので、ロスカットの設定により、建玉が強制返済されてしまいました。仕方なく、もう一度ショートでエントリし直して値動きを眺めていましたが、そこそこ損失を挽回できたところで返済してお終いにしました。

今日の信用取引に費やした約定回数は 22 回、実現損益は -10 円でした。

序盤の無駄なエントリによる損失を減らさない限り、もっと株価が高くてボラティリティも高い銘柄を扱うことは無理そうです。とは言え、完璧なエントリのタイミングを、リアルタイムで「検出」することも、たぶん現実的ではありません。

寄り付き後、エントリを必要以上に躊躇わなくとも損失を少なくできるように、例えば最初の一定期間はロスカットの条件を厳しくするなどの方法を検討することにします。

取引結果のレビュー

取引データをレビューする専用アプリができていないので Jupyter Lab でチャートを作成してレビューしています(含み益などは 1 株単位で算出しています)。

LINEヤフー (4689) ではクロス・シグナルの回数は 7 回でした。

LINEヤフー (4689)

 

参考サイト

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

0 件のコメント:

コメントを投稿