|
|
|
カテゴリ:KATS(自動売買プログラム)
「その1」で書いた通り、ずっとザラバに張り付いている専業トレーダー以外の人がデイトレで
確実に利益を得る為には、自動売買が欠かせないと思っています。 私は、プログラムに株の売買を自動で行わせるには、証券会社がAPIを公開していない限り 不可能だと思っていました。 で、私の知る限り(ろくに調べもしないで)APIを公開している有名どころの証券会社は 「全く無いだろう」という結論に達しました。 なので、売買プログラムというものに関してあまり具体的な感情は抱いていませんでした。 でも最近「もし開発出来るならその方法を考えてみたい」と思うようになりました。 APIが公開されていないとすれば、私の頭の中に浮かぶ自動売買の手段は2つでした。 ※注:ここから結構マニアックです(汗 まず1つ目は、WindowsAPIをゴリゴリ呼び出すか専用ツールを使ってキーボードやマウスの 動きを再現し、証券会社のWebサイトや売買ツールをプログラムに操作させて売買を行う方法です。 私の知識が浅はかで間違っていたらご指摘願いたいですが、この方法はプログラム起動中に 想定外の動きをした時(例えば予期しないポップアップが上がったり、自分が操作する事により 間に違う処理をしてしまったり、等)に間違った処理を行ってしまうのでは無いかという 気がしました。特にマウスの動きを再現するような場合はウインドウの大きさなどによっても 左右されそうで恐い感じです。キーボード操作のみを再現するのなら正確性は高いと思いますが。 もう1つの方法は、売買ツールの操作は不可能ですがWebサイトの操作を行う方法。 でもこれはキーボード操作を再現するのではなく、HTTPの操作を行う方法です。 あるURLに対してどんなパラメータでリクエスト送信するというのをプログラムし、 HTTPのプロトコルを使ってWebブラウザになりきって操作するものです(多分)。 まだ深く調べていないですが、この方法は不測の事態は起こりにくいと思いました。 実現するには「Jakarta Commons HttpClient」というコンポーネント等で可能だという事です。 JakartaプロジェクトはJavaをご存知の方には超有名なオープンソースのプロジェクトです。 特に私が嬉しいのは、このコンポーネントがJavaで出来ている事です。 私はIT業界の人間ですが、唯一人並み(?)にプログラミング出来るのがJavaなので、Javaで コーディングしたプログラムで自動売買出来るならこんな嬉しい事はありません。 購入に関しても自動で行うには私のスキル(プログラムに関しても、銘柄選定と購入タイミングの アルゴリズム設計に関しても)じゃ到底企画倒れになると思います。 なので、買った銘柄を売るという部分だけを自動で行うプログラムをまず作ろうと思いました。 購入した銘柄の証券コードと購入額、株数を入力します。そして「高値の何%(あるいは何円)下に なった時に成行き売りするか」という数字を入れ、プログラムを実行。 するとプログラムがトレーリングストップを行ってくれる、というものです。 1,000円で購入し、200円下を売りラインに設定すると、まずは逆指値注文で800円を注文します。 株価が下がり800円に達したら損切り。仮に上昇したら、その上昇を監視して逆指値注文の 訂正注文を順次行います。例えば1,300円に上がったとしたら逆指値は1,100円に切り上げている 筈です。もちろん、下がった時には下げる事は無いので、最低でも1,100円で売る事になります (成り行き売りなので予想外の株価になる事はあるかも知れません)。 トレーリングストップでの売りを自分の作ったプログラムが自動で行ってくれるのです。 各証券会社でWebサイトの作りが違うので、プログラムは証券会社毎に必要でしょう。 でも発注する部分だけ再利用可能なクラスにしておけば骨格は全く同じものが利用出来て、 証券会社を乗り換える事があっても一部のクラスだけ再作成すれば使い回せるのでは無いかと。 ・・・ここまでが、今日の夕方までの構想でした。 今日の夕方に「その1」を書いた時までは「Jakarta Commons HttpCLientを使用して松井証券の Webサイトを操作し自動売買するプログラムを作成します!」と今回宣言するつもりでいました。 しかし「その2」を書くに当たり、ちゃんと「APIを公開している証券会社」を調べておかないと 論じる事は出来ないと思い、調べてみました。 それまでは「APIを公開している証券会社もゼロではないものの、やたらと手数料が高い等で 個人は実用的ではない」と思っていました。・・・しかしその認識はズレていたようです。。。 GMOインターネット証券がAPIを公開していると知ってびっくりしました。 しかもこの証券会社、手数料が松井証券より安いじゃないですか(汗)。 なぜ今まで注目していなかったかと言えば、逆指値注文が無かったからだと思います。 でも、自動売買が可能なら「○円以下になれば成行き売り」は自分で出来る訳ですから、 いちいち逆指値注文をしなくてもプログラムが逆指値を意識すれば良い訳です。 APIはWebサービスとして公開しているそうです。 XMLやHTTPベースのプロトコルでアクセス可能です。WebサービスならJavaでも扱えます。 「Webブラウザ画面を経由せずにGMOインターネット証券の発注機能を利用可能」という事で Webサービスの知識さえあれば自分自身で取引ツールの作成が可能です。これはすごい!!!! 機能詳細は会員ページを見ないといけないという事で、まずは口座開設しない事には何も 始まらないようです。仕様書や開発ツールがダウンロード出来るようです。 Webサイトに開発イメージの画像が掲載されていますが、その画面がMicrosoft Visual Basicなのが ちょっと気に掛かる部分です。VBって・・・もう忘れたし(汗)。 でもWebサービスはAPIさえ公開されていたらJavaから呼び出せるはずなので仕様書だけ見て Javaで組む事は可能だと思います。とにかく口座開設、口座開設。。。 今までほぼ諦めていた自動売買が現実的になって目の前にあります。 購入後に放置して運任せのトレードをしていた自分を、自分の専門分野であるITで救済出来るなんて 夢のようです。この夢のような計画が近い将来実現出来る事を信じて、やってみようと思います。 さて・・・口座解説申し込み、と。。。
[KATS(自動売買プログラム)] カテゴリの最新記事
ををを、ついに自動売買ですか。。。
もしかしたら自動売買は今後はやるかもしれませんね。 今のうちに勉強しておくのが吉だと思います。 その方法はひとつではありません。いろいろ試して自分に 適したものをみつけるのがよいと思います。スクリプトで ブラウザを操作する方法などはご存知ですか?たとえば このコメント末尾の----の間をメモ帳に貼り付けて test.vbsなるファイル名で保存して、それをダブルクリック するとスクリプトに書かれているようにgoogleが操作できます。 HTTPで直接データを送信するよりはかなりらくちんだと思います。 ちなみにこれはVBscritですがJAVAscriptでも同様だと思います。 たたしこの方法には何かと限界があるので、単に参考までに、です。 GMO証券については「できるらしい」ということは聞いて いましたがそれ以上私はろくに調べたことがないので実情が よくわかっていません。。。KNIGHTさんの今後の展開が楽しみです。 ---------------------------------------------------------------- Sub Wait() Do While ie.Busy = True WScript.Sleep 100 Loop Do while ie.ReadyState <> 4 WScript.Sleep 100 Loop End Sub Set ie = CreateObject("InternetExplorer.Application") ie.Width = 800 ie.Height = 600 ie.Visible=true ie.Navigate " http://www.google.co.jp" ; Wait Set form = ie.document.forms("f") form.q.value = "自動売買" form.Submit ---------------------------------------------------------------- (Jun 18, 2007 03:19:56 AM)
書き込んだら、13行目に自動的に余計なスペースと
末尾に余計なセミコロンが入ってしまったようです。 ためす際はこれらを取り除いてください。 (Jun 18, 2007 03:23:24 AM)
自動売買というものがあるのは書店などでそういったタイトルの本があったので知っていましたが、私はザラ場中に取引できるので大して関心を持ってませんでしたので、知識としては全然ありませんでした。
ところで銘柄選定という部分は自動ではないのですよね? 何か初歩的な質問をしてしまい申し訳ないのですが、もし機械的にチャートや出来高などで判断して、選定するのなら便利かなぁ、と思ったのですが、それじゃ株をやる楽しみというのもなくなってしまうかな、とも思ったもので。 やはり銘柄は自分で選ぶのでしょうね^^ ちなみにT++というソフトはご存知でしょうか? 株の自動売買に使えるソフトらしいです。 私は使ってないのでよくは知らないのですが http://kabutomo.net/?m=pc& ;a=page_o_tpp にて詳細が書いてあります。 現在無料お試し期間中とかいてありますので実際に使ってみるのも良いかもしれませんね。 (Jun 18, 2007 11:07:07 AM)
1号機さん
私が自動売買を目指したいというのはもちろん1号機さんの影響が大きいです。 賢い銘柄抽出や買いのロジックを考え出せるほどトレードスキルは無いですから そこは後回しにして、とりあえずは買った銘柄を理想のタイミングで売る事に 注力してみたいと思います。 VBScriptの方法は面白いですね。私はJavaScriptも含めてこれらの言語は いまいち得意じゃないですが(^-^; でも参考になりました!有難うございます。 (Jun 18, 2007 09:06:31 PM)
Herlock4869さん
知りませんでした!とても興味を引くツールですね。 この後詳しく見てみます。どうも有難うございます! 銘柄選定ですが、ロジックで出来たらそれは理想です。私も出来る事なら やってみたいです。でも私のスキルなら良い銘柄を選ぶのは無理でしょう(^-^; もし出来るなら今でも、もっとマシな購入をしてると思うので。。。 (Jun 18, 2007 09:08:53 PM) |