カブロボ使ってみる
まだ申し込んでませんが、とりあえず使ってみました。
ローカルで動かす分には大会への登録は不要なようです。
カブロボプログラミングには、パラメータ設定による簡易ロボットと、コードを書くロボット
があるようです。まあ、プログラマ的には、コードを書かないと面白くないかなということで、
コードを書きます。
コンテストのサイトから、ZIPファイルをダウンロード、展開し、適当なディレクトリに配置します。
Eclipse上から実行するときは、lib以下のJARをクラスパスに通し、
起動構成で以下を指定します。
プログラム引数にロボットのクラス名を指定 例 hoge.MyRobot VM引数でkaburobo.homeを指定 例 -Dkaburobo.home=C:\project\kaburobo\kaburobo_ver_1_2_4\kaburobo
ロボットの例は以下のようになります。
Robot インターフェイスを実装し、(仮想取引システムから)一日一回呼ばれる
runメソッド内にいろいろ処理を書きます。
package hoge; import jp.kaburobo.investment.InvestmentAgent; import jp.kaburobo.investment.SimpleStockOrder; import jp.kaburobo.investment.Stock; import jp.kaburobo.investment.StockOrder; import jp.kaburobo.robot.Robot; public class MyRobot implements Robot { //Buy And Fold public void run(InvestmentAgent agent) { long money = agent.getPortfolio().getAvailableMoney(); Stock[] stocks = agent.getStocks(); SimpleStockOrder stockOrder = new SimpleStockOrder(); stockOrder.setStock(stocks[0]); stockOrder.setTradeType(StockOrder.BUY); stockOrder.setQuantityByMoney(money); agent.order(stockOrder); } }
なおこのロボットは、最初に呼ばれたとき(取引1日目)に
最初の銘柄を買えるだけ買ってあとはホールドです。
(2日目以降は買い付け余力がないので買えません。
なお、コンテストのルール上 2銘柄以上売買しないといけないので
このロボットでは失格ですが)
実行すると以下のように1ヶ月分の仮想売買が実行されます。
hoge.MyRobot start DAY 1: 2004/04/01 木 資金: 10,000,000pts 取引可能金額: 10,000,000pts 購入: 1928 積水ハウス 建設業 10000000pts 成行 【当日注文処理結果】 銘柄|取引単位数|値段
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
赤字でした(-_-
なお、configディレクトリのkaburobo-config.xmlで、実行期間を指定できます。
また、docディレクトリ以下にJavaDocがあります。