2025-04-24

自動売買への道 (2025-04-24)

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

現在の開発状況を更新しました。

フェーズ 開 始 状 況 目 的 成  果
Phase 1 2024-12-10 終了 実現可能性
(feasibility)
  • やっつけでコーディング ✓
  • 下記を実証 (PoC) ✓
    • ループ処理による単純シミュレーション
    • リアルタイム・シミュレーション (Dry Run)
Phase 2 2024-12-16 終了 マクロ再構成
  • 単一ワークシート上に機能集約 ✓
  • マクロを再構成 ✓
  • Phase 1 と同じ機能レベルまで実現 ✓
  • ベンチマーク計測を追加 ✓
Phase 3 2024-12-31 取りやめ 実装
  • 機能を複数ワークシート上に再配置 ✓
  • Dry Run 実施 ✓
  • 売買アルゴリズムの改良 ✓
  • Python シミュレータで評価 ✓
  • RSS による売買を、テスト用マクロで確認
Phase 4 2025-03-09 開発中 評価・実装
  • ティックデータへ Parabolic SAR を適用 ✓
    • VBA に実装(データ収集のみ、Dry Run 機能は未実装)
    • Python によるシミュレーション環境の整備
  • Python シミュレータで評価とパラメータ・チューニング
    1. ロスカット条件の検討
    2. 利確条件の検討
    3. Parabolic SAR のアルゴリズム修正
  • Excel VBA で Dry Run 機能の実装と評価
  • 利確・損切条件の最適化
  • RSS による売買を、テスト用マクロで確認
Phase 4 → 5 2025-04-?? 未着手 本運用
  • ...

プログラムで売買判断をさせるメインの手法は、ティックデータに適用できるようにした Parabolic SAR です [3]

しかし単純に Parabolic SAR を適用するだけでは稼げないので、工夫を加えながら実用に耐えうるアルゴリズムに仕上げようとシミュレーションに励んでいる毎日です。

日々のアイデアを整理するために、時々ブログ記事にまとめています。

Parabolic SAR のトレンド

リアルタイムで Parabolic SAR のトレンドシグナル(ここでは PSAR と呼びます)を算出する基本式は下記の通りです。

PSARi = PSARi-1 + AF × (EP - PSARi-1)

EP(Extreme Point, 極大値)は、前のトレンドの EP0 から始まって、トレンド内における極大(極小)値(上昇トレンドで極大値、下降トレンドで極小値)に随時更新されます。

EP が更新されれば AF(Acceleration Factor, 加速因数)も、定めた刻み幅(ステップ)を加えて更新します。ただし定めた AF の最大値を越えません。

このように AF は、初期値 AFinit / 刻み幅(ステップ)AFstep / 最大値 AFmax の 3 つをパラメータにしています。

Parabolic SAR の弱点

Parabolic SAR は、方向感が乏しい値動きの局面では効果的に利用できないと言われています。例えば、参考サイト [5] のデメリットを引用すると以下のように説明されています。

ボックス相場のようにトレンドがない相場の場合は、頻繁にシグナルがでてしまいダマシが多くなる傾向があります。

しかし、リアルタイムで Parabolic SAR を利用する場合、状況が異なるように見えます。いや、ダマシに焦点をあてれば確かにその通りです。頻繁にシグナルが出るかどうかはパラメータ設定にも依存するので、本質的には同じことなのでしょう。

PSAR トレンドが変化しない局面

極端ですが、初期値 AFinit を 0 にすると意外と遭遇する例を示しました。

上の段のチャートは、過去記事 [6] で紹介したティックチャートと、損切(ロスカット)用の双曲線の補助線(緑色の破線)、青系色で乗りつぶした領域は含み益、赤系色が含み損の領域を示しています。

チャートのタイトルの二段目に AF パラメータの設定値と、双曲線の曲率を決めるパラメータ q の値を表示しています。

このチャートの後場の上昇トレンドのように、PSAR トレンド(赤点の集まり)が変化せずに、トレンド反転まで含み損を抱えつづけるような局面をどのように防ぐか、あるいは最小化できるかを最優先で検討しています。

チャートの 2 段目は、同一 PSAR トレンド内の継続回数(株価データの取得が、株価の時刻が更新されるタイミングなので、等間隔ではありません)のトレンドを TrendN としてプロット、3 段目は同一 PSAR トレンド内で EP が更新された回数のトレンドを EP update としてプロットしています。

最下段、4 段目は EP updateTrendN で割った比率を EPU ratio としてプロットしています。この EPU ratio を活用しようと検討しています。

もうひとつ、似たようなチャートを紹介します。

PSAR トレンドの変化は千差万別で、この例のようにしばらく平らで推移した後、下降トレンドに移るようなケースもあります。こういうのを目にしてしまうと判定基準作成に悩んでしまうのですが、最初から完璧な判定なぞできそうにないので、どこかで割り切る必要があります。😅

先月末から同一条件でティックデータを収集し始めて、現在のところ 3 銘柄 25 日分程度のデータが溜まりました。これらのデータを使ってゴールデンウィークにまとめてシミュレーションに掛けられるように準備しています。損切機能を加えて、そこそこの勝率が得られる条件を見出すことが当面のゴールです。

参考サイト

  1. マーケットスピード II RSS | 楽天証券のトレーディングツール
  2. マーケットスピード II RSS 関数マニュアル
  3. 私の株日記: Realtime Parabolic SAR
  4. 私の株日記: PSAR パラメータ依存性
  5. パラボリックの見方・使い方 | テクニカル分析指標 | 指標の見方・使い方 | 投資のノウハウ | 株の達人
  6. 私の株日記: 自動売買への道 (2025-04-14)

Parabolic SAR は他の手法と組み合わせて利用するのが良いと説明しています。その通りだと思います。

にほんブログ村 株ブログ 株日記へ
PVアクセスランキング にほんブログ村

0 件のコメント:

コメントを投稿