第三回大会はprizeがすごい
というわけで、復帰第一弾はやはりカブロボ
http://kaburobo.jp/
3回目の大会は「スーパーカブロボ」になり優秀なロボットは
リアルで運用
2回目は賞金がしょぼくて参加する気が全く起きませんでしたが、今回はやる気満々。
というわけで5月はじめからベイズ統計の勉強をしてますです。
システムトレードを本格的にやりたいと思っています。
あ、そうそう。
前回参加のときは実際の取引経験はありませんでしたが、今年はじめに口座を作って取引中です。
普通にマイナスですが。
ほとんど勘でやっているのでランダムです。
はやく根拠のあるトレードをしたいですね。
近況
久々にamebloに書き込んだので、あれ以来起こった出来事を。
まず、
知り合いと3人で会社設立しました。
もうアルバイターでも派遣でもありません。
よく考えると、それしかないですね。
あと、あまりここでは書いていませんでしたが、自宅サーバーで日記書いてます。僕のことを知らない人が読んでもあまり面白くないですが。
http://www.taniguchitomoya.com/diary/
カブロボ本
お久しぶりです。
http://www.amazon.co.jp/exec/obidos/ASIN/4798011231/
カブロボの本が出たそうです。
僕のロボットのアルゴリズムが紹介されている関係で、見本誌もらいました。
ありがとうございました。
変わらないといえば変わらないですが
このblogに対する興味が薄れたので、更新をやめようと思います。
(そもそも最近更新がなかったので変わらないと言えばその通りです)
気が向いたらまた復活するかもしれませんし、別のblogを立ち上げるときにはここでお知らせします。
お気に入りblogは読み続けますのでこれからもよろしくお願いします。
スパムはきちんと削除します。迷惑行為はやめてください。
(最近更新が止まったblogのtrackbackを悪用する例があるようなので一応。)
このblogの中から、いくつかの記事をpick up。残して意味があるのは下に挙げるものだけだと思います。読み返してみると、どうでも良い記事の方が多いです。
運よくカブロボ3位になった奇跡軌跡
http://function.ameblo.jp/category-c5267a5220f6e3e069800e0cb6612bb7.html
IBMなんとか賞のThinkpadは知り合いに5万円で売却。
j2se5.0の新機能についていろいろ
http://function.ameblo.jp/category-d1761f0c9ec2f8242200f3cae7831d60.html
他でも扱われているのでわざわざここを見る必要もない。
フリーソフトピックアップ
http://function.ameblo.jp/entry-487a0e93db89189383d15e71033945f5.html
自分用のメモ。
cssの書き換えを利用してamebloの広告表示位置を移動する
http://function.ameblo.jp/entry-aa3bc83c1f189736d324339756de96c8.html
ふと思いついてやってみたら成功。ご利用は自己責任でお願いします。新機能:CSS編集
amebloでCSSの編集が出来るようになったので、書き換えてみました。
広告がどこかに飛んでいってしまいました(笑)
やりかた
#advertising {
position:absolute;
top:1234px;
left:1234px;
}
C#でTrackback Ping
http://ukamen.hp.infoseek.co.jp/Programming1/HTMLPost/#SEC4
を参考にTrackbackを打つプログラムをC#で書いてみた。日本語周りは良く分からないのでパス。
blogプログラムを作る人とTrackback Spamを打つ人以外には全く役に立ちませんが。
using System.Net;
using System.IO;
を仮定。
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("送信先"); request.Method = "POST"; request.ContentType = "application/x-www-form-urlencoded"; //送信元設定 string parameters= "title=CSharpDetrackbackping&" + "url=http://function.ameblo.jp/entry-f8b83a590eb54b0e25e93495be44e708.html&" + "excerpt=abcdefghijklmnopqrstuvwxyz&" + "blog_name=function"; Stream st = request.GetRequestStream(); StreamWriter sw = new StreamWriter(st); sw.Write(parameters); sw.Close(); WebResponse response = request.GetResponse(); Console.WriteLine(new StreamReader(response.GetResponseStream()).ReadToEnd());
[カブロボ]表彰式
あんな適当なプログラムで賞を頂き、大変恐縮です。
ちなみに、ロボットは二つ作りました。前にも触れましたが、今回のルールだと、真面目に投資する方のロボットより、ハイリスク・ハイリターンで適当に投資する方が良い(上位で賞金が得られる可能性が高い)と判断して、そっちの方で出ました。
今回提出した方のプログラムは、実際には全く役に立ちません。
なにせほぼランダムに選んでます。
基準は値動きが荒いかどうかだけ。
それが一位に一番近いと思ったからです。
別に同じ銘柄を売りから入っても良かったし、その可能性もありました。
買いか売りかはランダムに決めました。実際にコインを投げました。
もし空売りしていれば、逆に最下位までありました。
[この辺で上の内容とかぶりますが、僕の思考過程をどうぞ]
いろいろ考える。が、簡単に勝てるようなものが思いつくわけが無い。むしろ、そんなの分かる人いるのか?いたら大もうけだよね?
(そんなところで、研究室の先輩に「株価はほぼランダム」なるこの競技の存在を否定するアドバイスを受ける)
それに乗って、投資対象の40銘柄の株価はすべてランダムウォークだと仮定してしまう。ただ銘柄によって動く幅が違うと考える。
それらの銘柄の中からいろいろ組み合わせて投資する人(他の参加者)がたくさんいる状況で、自分が勝つために最善な戦略はなんだろう?
(自分の学部講義レベルの統計の知識をフル稼働して30分くらい思考)
結論
日々の値動きの激しい株にまとめて投資する。価格変動はランダムなので、売っても買っても一緒。
ただ、2銘柄以上購入しなければいけないという条件があるので、はじめ何日かはそれを満たすためだけに使うように妥協しました。
(やはりひどいな。。。)
いつのまにか(TeraTerm)
TeraTermでいつの間にかSSH2が使えるようになっていたみたいです。
Cygwinに慣れたので今から戻るのも微妙。
第二外国語を乗り切るTips
大学ではたいてい「第二外国語」として英語以外の言語も履修します。
自分の場合はフランス語でした。
例えば、日本語訳の課題が出たとしましょう。
googleで仏日翻訳は見つからないことは無いです。しかし、英日翻訳を体験された方ならご存知かとは思いますが、ひどい日本語が出てきて使い物になりません。
ここで今日の裏技(?)
仏英翻訳サイトでフランス語を英語に翻訳!
ヨーロッパ圏の言葉は似ているので、比較的正確な翻訳が出来ます。ドイツ語とかでもうまくいくようです。ここで疑問になるのが
その英語が読めるのか?
ですが、よく考えてみてください。大学の講義は週一回90分とかだと思いますが、中学生のときは週何回英語の授業がありましたか?
大雑把に計算したところ、大学で「第二外国語」を受講する時間は、中学生の英語で言うと一年生の一学期相当にしかなりません。
中学一年の一学期レベルの英語と言えば、大げさに言えばそりゃもう
This is a pen.
みたいなのが並んでいるだけです。大学生なら簡単に読めます。
新しい言語の時勢も覚える必要がありません。過去形とかもちゃんと翻訳されます。
大学1年の皆様はこの技で乗り切ってください。
[カブロボ]結果3位
どうやら3位で賞金はゲットならず。
残念でしたが適当に作ったにしてはうまくいったと思います。
感想としては
1.ルールが微妙だった
高値、安値、終値ベースの取引で一日一回しか取引不可でたった30日。
2000人で争ってトップを取ろうと思ったら、ハイリスク・ハイリターンでいくしかなく、本当の意味で儲かるかもしれないアルゴリズムが中堅に沈んで評価されない恐れがある。投資成績以外の評価は審査員がすることになっているが、ソースコードだけで判断できるとは思えない。自作ロボット全部を見てもらえるとも思えない。
(こんなルールだったからこそ、自分のロボットは3位を取ることが出来たと思う。)
2.簡易ロボットの是非
簡易ロボットが自作ロボットと同列に扱われ賞金が出るようでは、まじめにプログラムを組む意欲をそぐのではないか。
次回以降はルールも変わるようなのでそれに期待したい。
(本音を言えば、1位、2位が登録不備で失格にならないかなぁ。100万円はでかい。)