(楽天証券の口座で取引する前提で)デイトレ自動売買を実現するには、Windows / Excel 上で マーケットスピード II RSS(以下、単に RSS と呼びます)を利用することがまずは確実な方法だと考え、Windows / Excel / VBA を使って自動売買のためのマクロを作ってリアルタイムの取引シミュレーションを始めており、Python で検証をしています。
プログラムで売買判断をさせるメインの手法は、ティックデータに適用できるようにした Parabolic SAR(以降、PSAR と呼びます) です。
EP の更新頻度によるエントリ条件
目的
使えそうな AF の範囲が得られたので [1] [2]、PSAR トレンドによる単純なドテン売買から少し変え、トレンド反転したタイミングで建玉を返済、その後でエントリ・ポイントを判定するアルゴリズムに変更します。簡略化した処理フローを以下に示しました。
利確・損切条件を検討する前に、そこそこ妥当なエントリ条件を模索します。
実験水準
AF の水準
AF は初期値、ステップ、最大値を設定しますが、そのうちステップを 10 水準設定しています。一方、初期値はステップの最初の値と同じに設定、最大値はステップの 100 倍になるように設定しています。
# | af_init | af_step | af_max |
---|---|---|---|
1 | 0.00005 | 0.00005 | 0.005 |
2 | 0.00010 | 0.00010 | 0.010 |
3 | 0.00015 | 0.00015 | 0.015 |
4 | 0.00020 | 0.00020 | 0.020 |
5 | 0.00025 | 0.00025 | 0.025 |
6 | 0.00030 | 0.00030 | 0.030 |
7 | 0.00035 | 0.00035 | 0.035 |
8 | 0.00040 | 0.00040 | 0.040 |
9 | 0.00045 | 0.00045 | 0.045 |
10 | 0.00050 | 0.00050 | 0.050 |
エントリ条件
エントリ・ポイントは次の条件としました。
Parabolic SAR の EP, Extreme Point(極大値)の更新回数が n 以上であればエントリ(建玉を取得)する
ここで、更新回数 n を 0 から 5 まで一つづつ増やして違いを確認します。
EP の更新回数に注目する理由は、PSAR トレンド反転しても実際の値動きがトレンド方向に動いていない場合にエントリしないようにするためです。1 秒間隔で取得するティックデータを、スムージング処理をせずにそのまま利用しているので、突発な返歌に敏感です。
そのため、たとえ PSAR のトレンドに逆行する値動きになっても、数回は EP が更新されてしまう場合が多いので、EP の更新回数でエントリを判定するのであれば、そのしきい値をどのぐらいに定めるのが妥当か当たりをつけるために、シミュレーションを実施します。
PSAR トレンドに逆行する例を下記に示しました。
なお、値動きの中で塗りつぶされている領域は、PSAR トレンド反転に従ってドテン売買した際の含み益(青色系)と含み損(赤色系)を示しています。また、ロスカットに応用する予定の双曲線(ダッシュ線)は表示しているだけで使用していません。
評価特性
評価する特性は、複数日に亙って日毎に前場、後場の全取引時間のシミュレーションを実施、各条件の損益のボックスプロットと合計です。
評価特性 | 説明 |
---|---|
一日の損益(円) (Boxplot) |
実際に注目しているのは、ボックスプロットのメジアン(中央値)です。 願わくば、銘柄全てで中央値が概ねプラスになるような条件を探しています。 |
合計損益(円) (Total) |
複数日に亙る損益の合計が大きければそれで良いという考え方もあるので参考に算出しています。 ただ、たまたま Parabolic SAR が効果的に適用されて高収益を得られた日の影響に引っ張られているだけかもしれないので、注意が必要です。 |
検証銘柄
検証する銘柄は下記の 3 つです。
コード | 銘柄 | 売買単位(株) | 呼値(円) |
---|---|---|---|
7011 | 三菱重工業 | 100 | 0.5 |
7203 | トヨタ自動車 | 100 | 0.5 |
8306 | 三菱UFJフィナンシャルG | 100 | 0.5 |
シミュレーション結果
シミュレーション結果を条件ごとにまとめています(随時追加)。全銘柄共に収益がプラスになっている部分を薄い青色で塗りつぶしています。
EP 更新回数 | Boxplot | TOTAL |
---|---|---|
0 |
![]() |
![]() |
1 |
![]() |
![]() |
2 |
![]() |
![]() |
3 |
![]() |
![]() |
4 |
![]() |
![]() |
5 |
![]() |
![]() |
まとめ
エントリのタイミングを EP の更新回数で決めようと水準を振って確認しましたが、残念ながら収益にプラスになるような傾向は確認できませんでした。AF については常に左側、すなわち AF が小さい方向(トレンドに緩やかに追従する方向)の方が、収益がいくぶん大きそうな傾向が常に確認できます。
思い切って、もう少し AF が小さい領域で水準を振ってシミュレーションを重ねようと考えています。
0 件のコメント:
コメントを投稿