MarketRanking の機能にフォーカスしたサンプルコードを解説いたします。
MarketRanking には多くのデータが日々更新されていますので、これを期にマスターしましょう。
基本的な使い方は
import jp.tradesc.superkaburobo.sdk.trade.data.EnumMarketRankingType;
import jp.tradesc.superkaburobo.sdk.trade.data.MarketRanking;
と書いて EnumMarketRankingType と MarketRanking を import します。
次に
ArrayList < MarketRanking > rankingList =
tradeAgent.getInformationManager().getMarketRanking(EnumMarketRankingType.DROP_RATE);
のように書いてデータを取得します。
例では値下がり幅のデータを取得するために EnumMarketRankingType.DROP_RATE を使っていましたが、
EnumMarketRankingType にはDROP_RATE だけでなく合計で21種類データを取得することができます。
DIVIDEND:配当利回り上位
DROP_CREDIT_BUYING:信用買残減上位
DROP_CREDIT_SALE:信用売残減上位
DROP_RANGE:値下がり幅
DROP_RATE:値下がり率
HIGH_CREDIT_RATIO:信用高倍率上位
HIGH_PBR:高PBR
HIGH_PER:高PER
LOW_CREDIT_RATIO:信用低倍率上位
LOW_PBR:低PBR
LOW_PER:低PER
NET_PROFIT_RATE:純利益成長率上位
ORDINARY_PROFIT_RATE:経常利益成長率上位
RISE_CREDIT_BUYING:信用買残増上位
RISE_CREDIT_SALE:信用売残増上位
RISE_RANGE:値上がり幅
RISE_RATE:値上がり率
SALES_RATE:売上高成長率上位
VALUE:売買代金
VOLUME:出来高
VOLUME_RATE:出来高乖離率
それでは、実際に MarketRanking を使ったカブロボを作ってみましょう。
今回は、SDKに付属する SampleRobot の screening メソッドを書き換えるだけでできます。
戦略は前日-3%以上値下がりした銘柄を次の日に買う、というシンプルな短期逆張りロボットです。
短期保有にするためには、SampleRobot の order メソッドの中の、orderReverseByRate の保有日数を調整する必要があります。
コードは以下のようになります。
01 @Override
02 public void screening(TradeAgent tradeAgent) {
03
04 // オブジェクトメモを用意し、null チェックを行います。
05 SampleObjectMemo memo = (SampleObjectMemo) MemoManager.getInstance().getObjectMemo();
06 if(null == memo) memo = new SampleObjectMemo();
07
08 // 注文予定リストを用意し、null チェックを行います。
09 ArrayList<SampleObjectRecord> memoList = memo.getMemoList();
10 if(null == memoList) memoList = new ArrayList<SampleObjectRecord>();
11
12 ArrayList<MarketRanking> rankingList = tradeAgent.getInformationManager().getMarketRanking(EnumMarketRankingType.DROP_RATE);
13
14 for(MarketRanking r : rankingList)
15 {
16 //-3%以内の値下がり率の銘柄は買わない
17 if(r.getData() >= -3)
18 {
19 break;
20 }
21 RobotLogManager.getInstance().log(r.getStock().getStockName(), 3);
22 RobotLogManager.getInstance().log(r.getData().toString(), 3);
23 //購入予定に追加
24 memoList.add(new SampleObjectRecord(r.getStock(), true, 111, "値下がり率ランキング"));
25 }
26
27 // オブジェクトメモにセットします。
28 memo.setMemoList(memoList);
29
30 // オブジェクトメモを登録します。
31 MemoManager.getInstance().setObjectMemo(memo);
32 }
●ソースコードダウンロード
SampleMarketRankingRobot.java
※カブロボをお使いのPCで実行するには、カブロボSDKが必要です。
別途、カブロボサイトからカブロボSDKをダウンロードしご利用ください。
Comments:0
Trackback:0
- TrackBack URL for this entry
- http://kaburobo.sakura.ne.jp/kaburobonet/mt-tb.cgi/325
- Listed below are links to weblogs that reference
- MarketRanking (ランキングデータ) を使ったサンプルロボット from kaburobo tech support - kaburobo.net/support/