ふにふに

広告

えりかさんが興味を持っているようなので、少しだけ書いてみる。詳細なうんちくは、うんちくブログに書くとして、こっちはざっくり。

何をやっているか

デイトレード向けの支援システムを作っています。どうも金融工学というと長期スパンで見る研究が多いけど、それはオナニート学問だと思っています。特にサブマーケットである日本株ね(なお、日本株/先物のメインの市場は事実上日本ではないと思います。ニューヨークとかシンガポールとか、日本以外のどこかです)。株のアナリストが何か理屈をつけて、あーだこーだ言っているけど、日本株なんて前日のニューヨークが暴落すれば引きずられて暴落し、逆にニューヨークが堅調なら日本も堅調になるわけです。つまり、日本の株を分析することに意味はありません。どうせやるなら、アメリカを分析しないと。でも、アメリカも噂とかで一喜一憂しているので、結局分析しても有意な結果は出ないでしょう。

ということは、株を持ち越すというのはギャンブルでしかありません。業績好調な会社の株を買ってしばらく持っていても、その間にたとえば「やっぱりciti国有化」とかアメリカで言い出すとあっという間に暴落することでしょうし、その逆もあります。上手く当たれば大儲けできるけど、これでは丁半ばくちと一緒で、大損の可能性も裏に秘めています。

そうしたアメリカリスクを避けるには、その日に買った/売った株は、その日のうちに手仕舞うことが大事になってきます。できることなら、前場だけで取引をする。後場になると、今夜のニューヨークが気になる筋によってずいぶん無茶な動きをします。

にも関わらず、デイトレードってギャンブルとか言われていて、正統派の扱いを受けません。大学とか研究機関は「正統」という言葉が大好きみたいですから、金融工学の研究も一部の変人以外は王道をやってしまうようです。ですので、変人としてはデイトレを少し科学的にやってみたい。

デイトレについて

デイトレは前述の通り、その日に買ったものはその日のうちに、たとえ損をしていても手仕舞うという鋼のルールを適用します。デイトレはギャンブルと言われることも多いけれど、実はその逆で損を限定するための手段です。場中決算を持ち越すとか、よほど変な仕手株を掴むとかしない限り、1日で5%損をすることはないでしょう。しかし、持ち越している人は平気で半額とか1/4とか、大損している人はいます。

デイトレがダメと言われる理由として、多くの自称デイトレーダーが損をしているとルールを破り持ち越したりして、どんどん損を膨らませる点にあります。ですので、損をしていても必ず売る、持ち越せば儲かると思っていても売ることです。

数値を例にあげます。いま1,000円の株があります。1日で0.5%の利益を目標としている場合、1,005円で売れば目標が達成されます。もちろん手数料とか税金とかありますので、もうちょっと高く売る必要はありますが、基本的にはそういうことです。これは困難かというと、よほどド天井あるいは暴落の途中で掴まない限りは必ず1,005円になる機会はあると考えます。そうしたチャンスを人間に代わり検出するのが今回の目的です。

やったこと

Rubyというスクリプト言語を使って、ごりごり証券会社のHTMLを解析して、MySQLというデータベースに放り込むという作業をしました。今のところ、ここまで進んでいます。一度に50銘柄くらいは、たぶん1秒更新くらいの頻度で取得できます。今のところ30秒更新です。このくらいならマウス連打する人よりはお行儀はいいはず。

解析はどうしようかと思っていますが、R言語という統計パッケージがあるので、それに興味を持っています。まず、RMySQLというのを組み込んでアクセスしてみます。

rmysql

と、日本語のテーブル名でも問題なくロードできるようです。あとは、あんなことや、こんなことが可能になるといいなと思っています。グラフも描いてみました。株価と出来高グラフなんて意味がないけれど、日付はこのフォーマットではいけないらしい。

graph

文字化けはありますが、日本語のパラメータを指定しても正しく動作していることが分かります。

今後の展望

まず、自動化が目的なのでRを自動で動作させること、よりよい時系列分析・予測を提供すること。あるいは自分で時系列予測のアルゴリズムを見つけること。最近はモンテカルロシミュレーションや、ウェーブレット変換が流行っているらしい。

モンテカルロシミュレーションというと、最近は囲碁のアルゴリズムに採用されているようですね。盤面にランダムで石を置いて最善手を採用するらしい。下手に考えずに膨大なランダムで処理する力技が強いというのも複雑な気分ですが、囲碁のプログラムは一皮むけた感じらしい。

将棋で強いのはボナンザの評価関数自動生成だそうです。それまでのソフトは作者自身が将棋が強く、自分の経験上こうしたらいいというのを優先させていたそうですが、ボナンザの作者は実は強くないらしく、棋譜を学習させて評価関数を作っているとのこと。

囲碁も将棋も強いプログラムは従来の常識を超えたところから出てきています。デイトレのお手伝いプログラムも何か面白いアイディアから強いものができたらいいですね。

最終的には自動的に取引して、寝ているだけで大金持ちになれるプログラムを目論んでいます。

3 件のコメント

  • R言語でプロット時の文字化けですが、設定ファイル(Rdevga)中の日本語フォント指定を書き換えると正しく表示されるようになると思います。

  • DBに歩み値(=Tick)を蓄積してるのはスゴイ。
    ツールでも5日分くらいのデータですから、
    これをずっと蓄積して、何かしら戦略練れるといいかもしれません。

    手法的には、経済物理学やマーケットマイクロストラクチャーと呼ばれる分野に近いかもです。
    私は明るくない分野ですが。汗

    モンテカルロシミュレーションは80年代によくやられていて、
    マーケット参加者がそれぞれ似たような戦略を使っていた頃に、トリガーが引かれて、ブラックマンデーが起こった、
    みたいに言われてるのを聞いたことがあります。

    #マーケット参加者が似たような戦略を取る際に、複数人の参加者の行動が同一である為、1人で近似出来てしまう、
    そんなことが起こるのが昨今の金融市場だと思います。代表的個人とかって呼ばれてたような気がします。

    #ポートフォリオ論に従って、分散インデックス投資をする個人やファンドが多い昨今。
    分散インデックスも低コストでできるようになった背景で流行ってますが、
    インデックス投資するポートフォリオ(CAPMに近似できるとしましょう)を無視できないだけの投資家が組んで、
    且つルール無視の損切り(インデックスは損切りしないはず)している投資家がいるのが、昨今の値動きかなーっと思ったりです。
    即ち、ポートフォリオ論により、ほぼ同一の分散ポートフォリオをマーケット参加者が組んでるということです。
    ポートフォリオ論ゆえ、マーケットの値動きが軽くなってる皮肉に感じます。

    話脱線。以上、なんとなく感じてること。
    オナさんが書かれてる通り、前場で往復の決済をするのが鉄則だと思います。
    (後場故のアノマリーを解析するなら、同様、後場のみで。)
    ディーラーのルールとして、no overlunch, no overnightがあります。

    イベントの影響を出来るだけ排するためにアメ株のインデックスで売買するというのはありだと思います。
    個人的には、DOWでもNASDAQでもなくSP500がいいような。これの先物ってどうなんだっけ?汗
    為替でもいいかもしれません。どうせ、相互に作用しそうですし。

    私もコンピュータに明るいなら、やってみたいなーって思いました。
    学生時、S言語をやっていた人がいましたが、その発展形がR言語?
    学ぶこと多いなー。(^^;

  • コメントを残す

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

    このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください