システムトレードと逆張り

コンピュータに株の売買をさせる。
寝てても儲かるシステム。これは人類の夢だ。
だが、これがなかなかうまくいかない。

ちょっと前に、それをやろうとして2回敗北した。

最初のは楽天のマーケットスピードからRSSで値を抜いてリアルタイム発注をかけるプログラムだ。
これで仕手銘柄をずっと観察し少しでも吹きそうな気配があったら、どーんと乗っかってやばそうなら即飛び降りるというアルゴリズムだ。
実はこれ、まったくうまくいかない。

それは、差金取引規制ってのがあって、同じ銘柄を一日に変えるのは最初の余力の範囲内だからだ。
100万もっていったとして、A社株を80万買いました。余力 20万
そんで速売りました。トントンで80万返ってきました。余力 100万円。
また吹きそうだから買うってときに 余力が100万あっても20万しか変えない。
現物ならね。
だから、このアルゴリズムは機能しない。
差金を避けようとすこし長期にホールドなんて、仕手銘柄で恐ろしくてできるかぼけーって感じ。

んで、次。
ぢゃあ数日間保持するスイングトレードをしようと思う。
このときどんな銘柄が儲かるだろうか。

25日平均移動線とか、一目均等とかいろいろオシレーターはあるけどどれが有効なのかよくわからない。
んぢゃあ、コンピュータ使って総当りすればよくねぇ?
って感じで総当りで探索させる。

あるオシレーターとあるオシレーターを組み合わせた場合などをいろいろ過去10年ぐらいで計算した。
Omegaである指標の値を求めさせてファイルに保存する。
その指標と別の指標をがっちゃんこして計算するCのプログラムを作って計算させた。
C言語は高級アセンブラって感じに結構最適化したんだけど、いろんな指標で総当りさせると1週間ぐらいかかったかなぁ。

で、そのときできたのがこちら。
形式はomega chartのアルゴリズムになっている。

<auto-trading name="auto_chanpon">
  <title>ちゃんぽん20070401</title>
  <description>ちゃんぽん20070401</description>
  <header>ちゃんぽん20070401</header>
  <type>long</type>
  <interval type="every-day" />
  <signal>
  <![CDATA[
	(
		value_at(-1,low()) != value_at(-1,high())
	)
	and
	(
		(
			kairi(13) <= -0.20 and vr(13) <= 0.30
		)
		or
		(
			kairi(11) <= -0.20 and phycol(15) <= 0.30
		)
	)
	]]>
  </signal>
  <entry type="tomorrow-open"/>
  <exit><![CDATA[
   ( day() >= 3 )
    or
    close() > entry()*(1+10/100)
  ]]></exit>
  <losscut><![CDATA[
    1 == 0
  ]]></losscut>
</auto-trading>


これは、omega chart改造して自動売買シミュレーションを加えてあるから、普通のomega chartでうごかん。
俺の昔のブログで公開していたヤツをここからダウンロードしてきてね。↓
http://supermx.seesaa.net/article/80420488.html

名前がちゃんぽんってゆーのは、いくつかのルールを組み合わせたから。
で、計算式なんだけど見てのとおり、すべて逆張りなんだ。
順張りのルールは散々探したけど見つからなかった。。。
少し短期の平均移動線乖離 + アルファの逆張りがもっとも儲かるという結果が出た。

んで、こいつで2001/1/1 〜 2008/1/1 までの一年間 1000万円の元手で一回の売買で資産の30%まで購入するって条件でまわしたところ、+3000万ぐらいのプラスみたいだ。いっやほー。

そんで、 2009/1/1 〜 2009/9/1 まででいってみると、 +500万ぐらいらしい。本当かよっ!!

確かに実際バックトレードではうまく動作する。
しかーし、実際には運用してみると、儲かる気配もあるが、ちょびちょび儲かりどかんと損する感じになり、精神的にかなりつらい。

特にのちに上場廃止になるような銘柄をつかんで大損で損切って形になってしまうことが多々ある。

なぜか?
それはシミュレーション上では上場廃止がないからだ。
現在から過去を振り返ってみよう。現在も上場して残っている企業ってゆーのは過去の荒波を潜り抜けてきた企業だ。
ソニーとか任天堂とか、業績が悪いときで株価が下がりまくったけど、その後業績が回復し株価も上がった。

では、逆に業績が悪くて、株価が下がりまくって結局ダメでしたって上場廃止になった企業はどうだろう。
もちろんたくさんある。

この単純な逆張りルールだとそーゆーところをつかんでしまう可能性がある。
俺がほしいのは見ててつらくならないで、お金を入れとくとどんどん残高が増えていく指数なんだ(www

たとえば、去年の不動産下落なんかのときだと不動産銘柄をガシガシつかんでしまって大変なことになる。orz
システムトレードで過去のシミュレーションするときは、現在の企業ではなくてそのとき存在したすべての企業でやらないとダメだ。
では、どうやって普通に下がっている企業と、ガチで下がっている企業を見分けるか、、、そんなのできるわけないぢゃん。
それがわかるなら、ふつーに投資して儲かっているわーwww
2000年にアップルとか、2003年に任天堂ドワンゴとか買ってますよww

まー、業績(本業が儲かっているか)がプラスすればいいような気もするけどね。
オニール先生の きゃんすりむチックな感じ?
でも、四季報のCD-ROMは変なプロテクトがかかっていて情報抜けないし、webから取ってくるのも面倒なんだよなぁ。
webから取ってこれるようにomega改造したけど、なんかいまいち。。。

なんつーか、やっぱ株でシステムトレードとか無理ぢゃねーかって思うんだよね。
むしろ為替とかの方が上場廃止がありえず、トレンドが現れるし、流通量も多いしいい気がするんだが。。。
最近興味がなくなったのであんまりいじっていないのでよくわからん。

最後に注意書き、「投資は自己責任」でどうぞ。
損してもしらんがな。儲かったらご飯おごってくださいwww。