(楽天証券の口座で取引する前提で)デイトレの自動売買を実現するためには、Windows / Excel 上で マーケットスピード II RSS(以下、単に RSS と呼びます)を利用することが近道です。
もともと自動売買をするために Python のプログラムを利用したくていろいろ挑戦してきましたが、一旦諦め、先月から Windows / Excel / VBA のマクロを作り始めました。自動売買の機能は未実装ですが、ベースとなるマクロが安定して動作することを確認できたので、いまのところリアルタイム・シミュレーションに明け暮れています。
イマイチの勝率
RSS が Excel に流し込んでくれる1分足の OHLC データから Parabolic SAR の上昇・下降トレンドのシグナルを算出して自動売買をすることが基本方針です。
Parabolic SAR を利用する理由は、明確に売買判定ができることです。ただ、Parabolic SAR だけでは大した収益が上がらないので、リアルタイムで含み損益を監視、条件を設定してトレンド変換前に利確・損切をするしきい値を加えています。しかし、それでもトレンドが明確でない局面のほとんどで無駄にロスを重ねてしまいます。😭
なにか良い改善方法はないかと考え、3分足あるいは5分足の OHLC データで算出した Parabolic SAR のトレンドシグナルと組み合わせることを検討していましたが、プログラムが煩雑になってしまいます。処理が遅く、しかもコードのメンテナンス性が良くない VBA の開発環境では、確実に改善できる方策でない限り、複雑なアルゴリズムは避けたいところです。
他のテクニカル指標と組み合わせることを模索するため、この三連休は他の指標をあれこれ試していました。
On-Balance Volume
先週 5 日間で取得したティックデータと OHLC データで、テクニカル指標をいろいろ試した結果、終値の増減から出来高を累積する On-Balance Volume, OBV が有力な候補に挙がりました。
下記は、シミュレーション対象の銘柄 (8306) の 1 月 10 日(金)に取得したデータから Linux / Python のプログラムで、ティックデータおよび算出した Parabolic SAR, OBV をプロットした例です。
OBV は、株価変動の方向性(トレンド)を把握しようとする先行指標です。算出が単純なことと、確認した限りでは1分足の OHLC データでも先行指標として利用できそうなことから、この指標を取り込もうと検討を始めました。
そもそも、シミュレーション対象には、出来高が多く(板が厚く)成行で取引してもスベらずに約定されることが期待できる銘柄を選んでいます。未確認ですが、出来高が少ないとデイトレではこの指標を効果的に利用できないかもしれません。
ただ、プログラム的にどのようにトレンドを把握するようにするか、そして、どのように Parabolic SAR と組み合わせるかについては工夫が必要になるので、あれこれ模索しています。
まずは VBA のプログラムに OBV の算出処理処理を追加するところから取り組みます。
参考サイト


0 件のコメント:
コメントを投稿