2006年6月アーカイブ

2006年6月30日

スーパーカブロボ対戦

Javaの勉強がてら、カブロボを作ろうと奮闘中。
カブロボっていうのは株式の自動売買を行うプログラムのことで、マネックスが協賛してコンテストもやっている。

コンポーネントを組み合わせてかんたんに作る手法もあるらしいのだけど、現段階ではまだ公開されていないし、せっかくなので自分なりの考えと、一般の自動売買論を組み合わせて拡張してみた方がおもしろいだろうと、Javaって見ることにした。

幸いにもうちの環境にはJavaの開発環境が整っていたりするので、難なくSDKを展開してプログラムできるようになった。

仮想資金の5000万円を元手に、ドローダウンをできるだけ押さえ(最大30%)た安定的な運用を行い、リターンを得るという、ちょっと素人が手出しするには難しい感じもしてくるけども、ま、この辺は考えなくてもシミュレーターが結果を出してくれるので、適当にパラメーターをいじって詰めていけばいいかなと。

条件がある。
カブロボが実行(orderメソッド)されるのは前場と後場の前の2回だけ。場中は動作しない。この実行時間は3分以内と定められているので、あまりにも複雑なロジックを組んでしまうのはダメ。仮に組んだ場合は、処理の高速化をする必要が出てきてしまう。
後場のあとで最大8分間与えられ、この中で翌日に注文する銘柄の候補を選定(スクリーニング)する(screeningメソッド)。
注文は当日のみ有効で、約定の如何にかかわらず、取引終了時点ですべての注文は破棄されてしまう。つまり、出合えない。

取引は指し値、成り行き、逆指し値が可能。空売りもおk。注文条件には、即時、寄り付き、引けの3つが可能。

リアルタイムで株価を得られないので、このあたりは組み合わせがきまって来そうな気もするな。

ま、こんな感じだ。
SDKには主要なテクニカル分析のための関数がすでに用意されてあるので、テクニカルゴリゴリな人はすぐにでも開発に向かえる。
しかし、せっかくだからスクラッチで作ってみたいと思うじゃない。
カブロボサイトからリンクされているIBMのサイトには「月齢」を用いて売買をやるという、何ともユニークなロボットが紹介されていた。

ルールに「再現性を求めるため、乱数の使用は不可」というものがある。このため、売らない的な要素を含んだ売買はできないけど、月齢は確かに、その日その日で決まってくるからいいよな。
こうなれば、たとえば六曜とか高島暦とか、そういうマニアな動きを使って売買するのもおもしろいだろうな。
「さんりんぼう」は建設株売り。とか。

今回の目的はカブロボの制作を通して、Javaの理解を深めようというものである。あわよくばコンテストで勝ち残って、歴史に名を刻もうではないか。
ということで、制作状況は追ってこの場で紹介していこうと思う。時間がないので、ぼちぼちとは行かないが。

2006年6月21日

2万日後は何曜日ですか?

昨日、唐突に聞かれ、僕は答えられなかった。
その場はなんとか取り繕うも、後になって悔しさがこみ上げてきた。

コロンブスの卵のようなもので、一見壮大なことを聞かれているのだけど、分解して考えればたいしたことがないのである。

カオスのようなものだ。

2万日後は何曜日か?
というのと、10日後は何曜日か?

というのは、実はまったく同じアプローチで計算できる。わかるよな?

わかるんだ。
それがとっさに出せなかった。
これは明らかに自分のダメなところだろう。

こんなんで「家族を守るぜ」とかよく言えたものだと、昨日は一日自分に説教し続けた。

このアーカイブについて

このページには、2006年6月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2006年5月です。

次のアーカイブは2006年7月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。