2025-02-25

自動売買への道 (2025-02-25)

(楽天証券の口座で取引する前提で)デイトレ自動売買を実現するには、Windows / Excel 上で マーケットスピード II RSS(以下、単に RSS と呼びます)を利用することがまずは確実な方法だと考え、Windows / Excel / VBA を使って自動売買のためのマクロを作ってリアルタイムの取引シミュレーションを始めています。

自動売買システムの開発状況は、参考サイト [2] にまとめてあります。

今日の Dry Run (2025-02-25)

評価用の銘柄は、「三菱UFJフィナンシャルG (8306)」に固定しています。この銘柄を評価用に選んだ理由は、出来高が多く(= 板が厚く)、試験運用を始めるときに使えそうな価格帯の株価と判断しているからです。

ティックデータと Parabolic SAR

市場が開いた後、今日は自分のミスでアプリを止めてしまったので、最初の 30 分ぐらいのデータが欠けてしまいました。

RSS から取得したティックデータと1分足の OHLC データから Excel VBA のマクロが算出した Parabolic SAR(以降 PSAR と呼びます)を、事後に Python の自作シミュレータ・アプリで読み込んでプロットしたものです。

下のプロット(縦軸ラベルが Profit/Loss)は、PSAR のシグナルに従ってトレンド変換したところから、ドテン売買した場合の含み損益のトレンドを示しています。

売買履歴(シミュレーション)

売買単位は 100 株で、ナンピンなど一切無しに、この 100 株だけで建玉を売買するという想定です。

VBA マクロが書き込んだ Excel 上の売買履歴のシートを Python で読み込んで HTML のテーブルに変換しました。

注文番号 時刻 売買 金額 損益 最大益 最大損 備考
1 09:35:01 売建 193,600 建玉, period = 1
1 09:44:01 買埋 193,600 50 400 -200 返済, period = 9
2 09:48:01 買建 193,600 建玉, period = 4
2 09:57:01 売埋 193,600 100 300 0 返済, period = 12
3 10:01:01 買建 194,000 建玉, period = 1
3 10:02:50 売埋 194,000 -250 50 -250 損切1, period = 2
4 10:10:01 買建 194,150 建玉, period = 3
4 10:13:22 売埋 194,150 -250 50 -250 損切1, period = 6
5 10:17:01 売建 193,650 建玉, period = 3
5 10:26:01 買埋 193,650 -150 250 -150 返済, period = 11
6 10:28:01 買建 193,900 建玉, period = 2
6 10:32:10 売埋 193,900 450 600 -50 利確1, period = 6
7 11:03:01 買建 195,250 建玉, period = 1
7 11:05:10 売埋 195,250 -250 50 -250 損切1, period = 3
8 11:07:01 買建 195,450 急騰・急落1, period = 5
8 11:13:01 売埋 195,450 -100 200 -200 返済, period = 10
9 11:16:01 買建 195,650 建玉, period = 1
9 11:24:01 売埋 195,650 -100 400 -100 返済, period = 8
10 11:26:01 売建 195,450 建玉, period = 2
10 11:29:50 買埋 195,450 250 250 -50 強制(前引け前), period = 5
11 12:45:01 売建 195,650 建玉, period = 1
11 12:47:13 買埋 195,650 -250 100 -250 損切1, period = 3
12 13:13:00 売建 196,050 建玉, period = 1
12 13:16:00 買埋 196,050 -200 150 -200 返済, period = 3
13 13:30:00 売建 195,900 建玉, period = 5
13 13:41:00 買埋 195,900 100 150 -200 返済, period = 15
14 13:47:00 買建 195,900 建玉, period = 2
14 13:51:00 売埋 195,900 -150 0 -150 返済, period = 5
15 13:53:00 売建 195,700 建玉, period = 2
15 14:01:00 買埋 195,700 -50 150 -100 返済, period = 9
16 14:04:00 買建 195,900 建玉, period = 3
16 14:19:00 売埋 195,900 -50 100 -150 返済, period = 17
17 14:29:00 買建 196,000 建玉, period = 2
17 14:33:00 売埋 196,000 -200 0 -200 返済, period = 5
18 14:48:00 売建 195,700 建玉, period = 1
18 14:50:46 買埋 195,700 -250 0 -250 損切1, period = 3
19 14:52:00 買建 196,050 建玉, period = 1
19 15:02:00 売埋 196,050 -50 300 -100 返済, period = 10
20 15:05:00 売建 195,850 建玉, period = 3
20 15:22:00 買埋 195,850 0 250 -150 返済, period = 19
21 15:23:00 買建 195,950 建玉, period = 1
21 15:24:50 売埋 195,950 0 50 -100 強制(大引け前), period = 2
--- --- --- 実現損益 -1,350 --- --- ---

今日は全然ダメでした。損益は -1,350 円でマイナスになってしまいました。

今日の 8306 の株価は、高値 1,966.0 円、安値 1,916.0 円で 50.0 円差でした。暫定で決めた良し悪しの尺度を算出しました。

本日の Dry Run の成績

実現損益 -1,350 ÷ (50.0 × 100 ) × 100 = -27.0 %

損失になってしまった場合、この尺度の評価はあまり意味がなさそうです。とにかくマイナス(損失)になる頻度を減らしたいです。

そこで、明日はパラメータの一部を変更します。履歴管理のために以下にメモしておきます。アルゴリズムが使い物になるようになれば詳しい説明をつけます。

急騰・暴落ファクタ
PSAR トレンド反転までの売買は原則 1 回のみ。
ただし急騰・急落時には売買できるように条件を設定。平時に適用されらないように、その条件を厳しくした。
5 → 10
平常時のエントリ条件のうち、IQR の呼び値ファクタ
過去 2 分間の IQR を算出して、その大きさをエントリ条件の一つにしています。
後場のもみ合い相場で無駄にエントリして損失を重ねるので、エントリ条件を少し厳しくした。
1 → 2
利確ファクタ(最大含み損からの下落率ファクタ)
10:28:01 のエントリの利確タイミングが早すぎたので、利確条件を緩和した。
8 → 3

週末に Python シミュレーターでパラメータ条件総当たりで最適条件を探しますが、さしあたって、VBA アプリのシミュレーションで少々改善がみられた上記パラメータで明日は様子をみます。

参考サイト

  1. マーケットスピード II RSS | 楽天証券のトレーディングツール
  2. 私の株日記: 自動売買への道 (2025-02-21)
にほんブログ村 株ブログ 株日記へ
PVアクセスランキング にほんブログ村

0 件のコメント:

コメントを投稿