株の自動売買ツールを作る(16)
今日はひさびさにToresyz Hyperにさわっていますが、
…ひさびさすぎて構造が意味不明です苦笑
やはりといいますか、
定期的にさわる必要があるのでしょうね〜。
ただ、ライブスター用の発注ツールは動くようなので、
VB側の調整だけで済みそうです。
今日は自動売買ツールには何が必要か?という観点で書いてみたいと思います。
(1)発注ツール
個人的には、UWSCを使った発注ツールを使っています。
ライブスターのIFD注文とIFDO注文にも対応させた感じですね〜。
ツールはなんでもいいと思うのですが、
・発注の早さ
・カスタマイズのしやすさ
という2点を重視した方がいいと思います。
場中の利確や損切りにも対応させるなら、
ライブスターやカブドットコムに対応させるのがおすすめです。
この発注ツールの開発が最も最初で、
できればコマンドラインで実行できるようにした方がいいと思います。
(2)タワー
タワーか、もしくは岡三RSSのような、
リアルタイム株価を取得できるツールが必須です。
もしくはヤフーファイナンス等から取得する方法もありますが、
こういったものは有料でも、専門のサービスを使った方が穴が少なくなると思っています苦笑
(ヤフーから株価を取得するプログラムがこけるとそれで動かなくなってしまうため)
おすすめは、タワー+タワーベースです。
これだけで、株価関連の作業は無視できます。
(3)プラットフォーム
自動売買を動作させる環境が必要です。
一般的にはエクセルやRuby、PHPなどと思いますが、
これはご自身の得意なものでいいと思いますね〜。
個人的にはVB(ビジュアルベーシック)を使っています。
Microsoft Visual Studioという開発環境ですね。
本気ならC言語かJAVAでしょう笑
VC++あたりで組めると理想的だと思います。
私の場合ですと何の参考書籍もなしに自力で開発していたりするのですが、
初心者の方の場合ですと、
坂本タクマ先生のRubyの本がいいのではないでしょうか?
(4)DB
できれば、データベースがあった方がいいと思われます。
個人的にはACCESSを使っていますが、
エクセルユーザーの方にもACCESSがおすすめです。
RubyやPHPですと、
WEB系のMySQLやPostgreSQLあたりがいいのではないでしょうか。
複雑なものでないのであれば、
ここはテキストファイルなどでも代用できますので、
必須ではありません。
(5)戦略管理機能
複数の戦略を使うのが一般的だと思われるので、
戦略を管理する機能が必要となってきます。
売買対象銘柄や仕掛け・手仕舞い条件、ロットなどを管理できる機能が必要です。
また、各戦略ごとに仕掛け方法や手仕舞い方法などが異なります。
このあたりも管理できるようにするとなおいいでしょう。
…個人的にはこのあたりはプログラムに直接書き込んでしまっていますが苦笑
あと無視できないのが、
各戦略の仕掛け位置です。
たとえば順張り買い戦略における逆指値仕掛けの指値など、
売買対象銘柄の仕掛け位置などもDBに保存できるとなおいいです。
個人的には戦略毎に、
・仕掛け対象銘柄
・何らかのパラメーター1つ(仕掛け位置、もしくは仕掛け位置の計算に必要な値)
の2項目を持たせています。
(6)余力管理機能
シグナルにヒットしたからといって、
資金を超えて永遠に仕掛けるプログラムだと困りますので苦笑、
仕掛け金額の上限などを管理する機能が必要です。
これは戦略毎にDBに持たせるのがいいのではないでしょうか。
また、各戦略で、一度仕掛けた銘柄には当日はもう仕掛けないようにするロジックも必要です。
(7)デバッグ・ログ出力機能
発注の際のログなどをとっておかないと後で見ても意味不明ですので、
発注などの動作が発生した際には、
ログに出力するようにするといいと思います。
これを見てバグをチェックしていく感じですね〜。
(8)単元管理機能
単元株数はタワーでは分かりませんので、
イザナミのバックテスト結果のCSVを読み込んで単元を保存しておく、
といった機能は確実に必要になります。
…
と、思いつく限りでいろいろ書いてみましたが、
結構大変ですね〜苦笑
もちろん、もっと簡略化できるとは思いますので、
あとは用途に応じて、という感じなのかもしれませんね〜。
前々記事:自動売買アルゴ開発中です(ぇ
前の記事:自動売買への再チャレンジ
今の記事:株の自動売買ツールを作る(16)
次の記事:自動売買用戦略第一弾
次々記事:リアルタイム株価を使う戦略の構築