えりかさんが興味を持っているようなので、少しだけ書いてみる。詳細なうんちくは、うんちくブログに書くとして、こっちはざっくり。
何をやっているか
デイトレード向けの支援システムを作っています。どうも金融工学というと長期スパンで見る研究が多いけど、それはオナニート学問だと思っています。特にサブマーケットである日本株ね(なお、日本株/先物のメインの市場は事実上日本ではないと思います。ニューヨークとかシンガポールとか、日本以外のどこかです)。株のアナリストが何か理屈をつけて、あーだこーだ言っているけど、日本株なんて前日のニューヨークが暴落すれば引きずられて暴落し、逆にニューヨークが堅調なら日本も堅調になるわけです。つまり、日本の株を分析することに意味はありません。どうせやるなら、アメリカを分析しないと。でも、アメリカも噂とかで一喜一憂しているので、結局分析しても有意な結果は出ないでしょう。
ということは、株を持ち越すというのはギャンブルでしかありません。業績好調な会社の株を買ってしばらく持っていても、その間にたとえば「やっぱりciti国有化」とかアメリカで言い出すとあっという間に暴落することでしょうし、その逆もあります。上手く当たれば大儲けできるけど、これでは丁半ばくちと一緒で、大損の可能性も裏に秘めています。
そうしたアメリカリスクを避けるには、その日に買った/売った株は、その日のうちに手仕舞うことが大事になってきます。できることなら、前場だけで取引をする。後場になると、今夜のニューヨークが気になる筋によってずいぶん無茶な動きをします。
にも関わらず、デイトレードってギャンブルとか言われていて、正統派の扱いを受けません。大学とか研究機関は「正統」という言葉が大好きみたいですから、金融工学の研究も一部の変人以外は王道をやってしまうようです。ですので、変人としてはデイトレを少し科学的にやってみたい。
デイトレについて
デイトレは前述の通り、その日に買ったものはその日のうちに、たとえ損をしていても手仕舞うという鋼のルールを適用します。デイトレはギャンブルと言われることも多いけれど、実はその逆で損を限定するための手段です。場中決算を持ち越すとか、よほど変な仕手株を掴むとかしない限り、1日で5%損をすることはないでしょう。しかし、持ち越している人は平気で半額とか1/4とか、大損している人はいます。
デイトレがダメと言われる理由として、多くの自称デイトレーダーが損をしているとルールを破り持ち越したりして、どんどん損を膨らませる点にあります。ですので、損をしていても必ず売る、持ち越せば儲かると思っていても売ることです。
数値を例にあげます。いま1,000円の株があります。1日で0.5%の利益を目標としている場合、1,005円で売れば目標が達成されます。もちろん手数料とか税金とかありますので、もうちょっと高く売る必要はありますが、基本的にはそういうことです。これは困難かというと、よほどド天井あるいは暴落の途中で掴まない限りは必ず1,005円になる機会はあると考えます。そうしたチャンスを人間に代わり検出するのが今回の目的です。
やったこと
Rubyというスクリプト言語を使って、ごりごり証券会社のHTMLを解析して、MySQLというデータベースに放り込むという作業をしました。今のところ、ここまで進んでいます。一度に50銘柄くらいは、たぶん1秒更新くらいの頻度で取得できます。今のところ30秒更新です。このくらいならマウス連打する人よりはお行儀はいいはず。
解析はどうしようかと思っていますが、R言語という統計パッケージがあるので、それに興味を持っています。まず、RMySQLというのを組み込んでアクセスしてみます。
と、日本語のテーブル名でも問題なくロードできるようです。あとは、あんなことや、こんなことが可能になるといいなと思っています。グラフも描いてみました。株価と出来高グラフなんて意味がないけれど、日付はこのフォーマットではいけないらしい。
文字化けはありますが、日本語のパラメータを指定しても正しく動作していることが分かります。
今後の展望
まず、自動化が目的なのでRを自動で動作させること、よりよい時系列分析・予測を提供すること。あるいは自分で時系列予測のアルゴリズムを見つけること。最近はモンテカルロシミュレーションや、ウェーブレット変換が流行っているらしい。
モンテカルロシミュレーションというと、最近は囲碁のアルゴリズムに採用されているようですね。盤面にランダムで石を置いて最善手を採用するらしい。下手に考えずに膨大なランダムで処理する力技が強いというのも複雑な気分ですが、囲碁のプログラムは一皮むけた感じらしい。
将棋で強いのはボナンザの評価関数自動生成だそうです。それまでのソフトは作者自身が将棋が強く、自分の経験上こうしたらいいというのを優先させていたそうですが、ボナンザの作者は実は強くないらしく、棋譜を学習させて評価関数を作っているとのこと。
囲碁も将棋も強いプログラムは従来の常識を超えたところから出てきています。デイトレのお手伝いプログラムも何か面白いアイディアから強いものができたらいいですね。
最終的には自動的に取引して、寝ているだけで大金持ちになれるプログラムを目論んでいます。
最近のコメント