カブロボをEclipse上で実行する方法2

http://d.hatena.ne.jp/muimy/20041018#1098116780
で、ロボットを実行する方法を書きましたが、
KabuRoboDriverを使うともっと簡単のようです。
ただし起動時にVM引数の指定(例:-Dkaburobo.home=C:\kaburobo)は必要です。
(他のオプションの処理もかけばいらないかも?)

package hoge;

import jp.kaburobo.driver.KabuRoboDriver;

public class Main {
    public static void main(String[] args) {
        KabuRoboDriver launcher = new KabuRoboDriver();
        launcher.start("hoge.MyRobot2");
    }
}


期間の指定もできるです。

public class Main {
    public static void main(String[] args) throws Exception{
        KabuRoboDriver launcher = new KabuRoboDriver();
        DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
        TimeZone.setDefault(TimeZone.getTimeZone("Asia/Tokyo"));
        Calendar startDate = new GregorianCalendar();
        Calendar endDate = new GregorianCalendar();
        startDate.setTime(dateFormat.parse("2004-04-01"));
        endDate.setTime(dateFormat.parse("2004-04-30"));
        launcher.setStartDate(startDate);
        launcher.setEndDate(endDate);
        launcher.start("hoge.MyRobot2");
    }
}

注文の発行

http://kaburobo.jp/howto/makerobot.html#2

注文の発効は、SimpleStockOrderクラスを作成し、必要な情報をセットし、
InvestmentAgent#order(SimpleStockOrder)で注文発効となります。

SimpleStockOrderでセッタであれこれセットするのが、
面倒な場合は、以下のようにコンストラクタで全部つっこむことができます。

long money = agent.getPortfolio().getAvailableMoney();

SimpleStockOrder order = new SimpleStockOrder(
        stock, 
        StockOrder.BUY,   //tradeType : BUY or SELL
        StockOrder.MONEY, //unitType  : MONEY or NUMBER
        money,            //quantity  : 金額 or 株数
        0);               //limit     : 指値、0は成り行き
agent.order(order);
  • tradeTypeでBUYにして、quantityにマイナスの値を入れると ×-1 のSELLと同じ
  • quantityは金額でも株数でも必要資金以上は購入できない。なので、買えるだけ買う場合、適当に大きな値をつっこんどくのでも買える。
  • 空売りは単に持っていない株を売ればよい(売った分の資金がロックされるので資金分しか売れない)
  • 空売りは単に保有株がマイナスの状態となる。カブロボ上は、現物、信用といった取引種別は存在しない。

注文の発行2

注文を行うのは毎日1回のみ(複数の注文は可能)。
なので基本的には、デイトレードでなく、短期のスイングトレードのようなイメージになる。
(あるいは1月を1日とみなしたデイトレードな感じか?)


注文の成立の仕方が大会独自なので注意が必要。

  • 成り行きは、終値で成立
  • 買いの指値は、指値で成立。ただし、安値以下であれば不成立。高値以上の場合は高値で成立。
  • 売りの指値は、指値で成立。ただし、高値以上であれば不成立。安値以下の場合は安値で成立。

詳細は大会ルールを参照
http://kaburobo.jp/outline/rules.html


もちろん、実際に注文が出されることはないので、

  • 板が厚すぎてその値段で変えなかった
  • 大量に売りすぎて株価が値崩れした

といったことはない。
(ここがバーチャルと本物の一番の違い)

注文の発行3 - 複数注文

1日に複数の注文が可能。

  • 銘柄1を1株100円で買う
  • 銘柄1を1株110円で売る

この場合10円の儲けになる。
ただし指値なので、高値〜安値の範囲に入っていないと
注文が成立しない。
また資金以上の取引は無視される。
(注文が成立しない場合があるので、買って売ったつもりが、
買いが成立せずに、売りが空売りになっちゃったという奇妙な事態もありうる)


複数の銘柄を売買することも可能。

  • 銘柄1を1株100円で買う
  • 銘柄1を1株110円で売る
  • 銘柄2を1株100円で買う
  • 銘柄2を1株110円で売る

取引可能な40個の銘柄について、高値、安値を的確に当てることで、
1日のうちに巨額な資金をつみあがることも可能。
(「的確にあてられれば」ですが)


ちなみに、同じ銘柄を指値を複数発注すると、
買いでは一番高い値段(売りでは一番安い値段)にあわされるようだ。
(このあたりのルールは明記されていないので、本戦では変わる可能性もある)

  • 銘柄1を1株100円で買う
  • 銘柄1を1株101円で買う
  • 銘柄1を1株102円で買う

この場合、3株102円で買うことになる。
(プログラムでインチキして安値で買おうというのは通らないようです)


ただ、同銘柄の重複注文で、値段が不利な方に調整されるといっても、
「手持ち資金以上の売買注文が出せる」
ところが、ちょっとやばそうな匂いがする。
うまい戦術より、プログラム的なトリックで、
有利になることがありそうな?

銭っ子

ASIN:B00007CCZG


このページ( http://plaza.rakuten.co.jp/NATURAL9NATION/2005 )を見てたら、
欲しくなってオークションで買っちゃいました(全5巻)。


銭っ子は、

両親を交通事故で亡くし、悪い親戚一同に金を巻き上げられた少年が、金を求めてさすらう

というお話です。
絵はドカベン水島新司、原作はよく知らないけど花登筐( http://www.hokumei.co.jp/topics/1.html )という人らしいです。
私が生まれる前に書かれた漫画で大分古い感じはただよってますが、熱いです。

主人公は悪い親戚にいじめられて、妹と海に飛び込み自殺しますが、
運良く「やさしい貧乏人」に救われます。

「貧乏人の方がやさしい、いい人」という設定があさはかかと思いましたが、
実は、これは後の伏線でした。

その後、乞食を生業とする「銭神」(と呼ばれる人。顔はドカベンのイワキ風)と出会い、
そこで銭の道「銭道」について学んでいきます。

出ました!です。銭の神、銭神です。
私、神シリーズに弱いんです。。。

それから、株、恐喝、ブローカーなど様々な商売(?)をめぐり、
主人公の銭っ子が成長していく過程が描かれています。

いや、あまり成長しているようにも見えません。

そして銭の道に身を投じるうちに、銭っ子、すっかり目つきが悪くなってしまいます。

最後は、自分の出した商店と大手スーパーの価格戦争みたいになっていきますが、
ここで人気がとぎれたかネタがつきたか、唐突に終了します。
まあ、その唐突さもよしです。


読み終えると、幸せはないんだね、みたいな憔悴感が残ります。
あと、付き合う女の子は、お金に汚くない方がいいかもなぁとか。