このページでは、KaburoboBuilderユニバーサルで実際にカブロボを作成してみます。
作成するロボットの仕様
移動平均乖離率とPER、信用残を用いた逆張り型のカブロボを作成します。アルゴリズムは以下のようにします。
銘柄選定
- 現物買いの時には、PERが18倍以下の銘柄を選択し、信用買い残が信用売り残よりも小さい銘柄を選択。
- 株価の終値をみて、30日単純移動平均乖離率14%より安く、かつ7日単純移動平均乖離率8%より安くなったら現物買い。
- 株価の終値をみて、30日単純移動平均乖離率14%より高く、かつ7日単純移動平均乖離率8%より高くなったら信用売り。
新規注文
- 注文量は総資産の8%。
- 注文は前場のみで、現物買いの場合は成行注文、信用売りの場合は直近価格+1Tickの指値注文を出す。
仕切注文
- 前後場ともに、トレーリングストップを用る。
- 購入価格よりも5%以上利益が出ていれば、保有している株の最高値から10%下で逆指値注文を出す。
- 逆指値の値段は上昇することはあっても下げることはしない。
- 株価の安値が購入金額の85%を下回ったら成行で反対売買する。
- どのような場合でも、60日を過ぎたら即時成行で反対注文を出す。
銘柄を選ぶ
はじめに、「銘柄を選ぶ」の「銘柄選択」をクリックします。

図1:銘柄選択
ここでは業種や、個別銘柄を指定することができます。今回はETFを含まない全業種全銘柄を対象にしているので、業種指定(全一般業種)を指定します。

図2:銘柄ソート
次に、「銘柄ソート」をクリックします。銘柄ソート順を設定しておくと、優先的に買う銘柄を設定できます。 カブロボでは銘柄がたくさんあるので、買いシグナルに該当した銘柄がたくさんあると、余力がなくなってしまうかもしれません。 ここでは「売買代金」にチェックを入れて選択をクリックします。
条件の作成
終値の部品を作成
次に条件の作成を行います。「新規注文条件」の「部品作成」をクリックしてください。まずは「今日の終値」の部品を作成します。Aとかかれたプルダウンから「株価データ」を選択してください。

図3:部品・株価データの選択
「株価データ」の「終値」を選択し、分析期間粒度を「日足」に設定します。この終値とは、直近の終値を意味します。 選択したら右下の登録ボタンをクリックします。すると「作成した『指標』の部品」という欄が追加されてパーツが作成できたことが確認できます。

図4:今日の終値の部品を追加
移動平均乖離率の部品を作成
さらに30日移動平均乖離率も作成してみましょう。今度は「テクニカル分析手法n前」を選択します。今回は終値の単純移動平均をベースにしたいので、「終値の単純移動平均(SMA)」を選択します。分析期間粒度を日足に、集計数を30に設定します。 集計数30というのは、ここでは30日の移動平均を見ているという意味です。分析期間粒度を前後場足にすると、30場平均になります。
n前というのは「日足」を選ぶと「n日前のデータ」が取得可能である、という意味です。ここでは直近のデータが必要なので0を選択します。 選択できたら登録をクリックし、今作成した部品が追加されたことを確認します。
ただし、今作った部品はそのままでは使いません。この部品を用いて移動平均乖離率を計算します

図5:終値の単純移動平均を追加
移動平均乖離率を計算する(1.演算の選択)
仕様では、「株価の終値をみて、30日単純移動平均乖離率14%より安く、かつ7日単純移動平均乖離率8%より安くなったら現物買い」となっていました。先の部品をもとに、 「30日単純移動平均の86%」をあらわす部品を作成します。この部品と「今日の終値」を比較すれば、「移動平均乖離率14%より高いか安いか」が求まることになります。
今度は「演算の選択」というコンボボックスから「A×B」を選択します。そしてBのプルダウンから「その他」「定数の指定」を選択して数値を0.86にします。 入力し終わったら登録ボタンを押して部品を登録してください。

図6:30日単純移動平均の86%をあらわす部品をつくる
同様にして図7のような部品を作成します。30日単純移動平均の上下14%を返す部品、7日単純移動平均の上下8%を返す部品を作成します。

図7:移動平均乖離率の計算用部品
移動平均乖離率を計算する(2.条件設定)
次に、「条件設定」のボタンをクリックします。ここでは等号や不等号を使って部品の比較式を作成します。この式をKaburoboBuilderユニバーサルでは「条件」と呼んでいます。

図8:終値が移動平均乖離率14%未満、という条件を作成"
図8のように「終値の単純平均(SMA)(日足、集計数30、n前0)×0.86」と「終値(日足)」を「>」記号で比較します。
これで、「株価の終値をみて、30日単純移動平均乖離率が14%未満」という条件が作成できました。
同様にして「終値の単純平均(SMA)(日足、集計数30、n前0)×1.14<終値(日足)」など、仕様にそってその他の部品や売買条件を作成していきます。
条件を組み合わせる
もう一度仕様を確認してみましょう。「「株価の終値をみて、30日単純移動平均乖離率14%より安く、かつ7日単純移動平均乖離率8%より安くなったら現物買い」 となっています。「条件の作成」→「新規注文条件」の中から「組み合わせ」ボタンをクリックします。ここで条件を組み合わせ、「かつ」を表現することができます。

図9:条件の組み合わせ
上の図のように「終値の単純平均(SMA)(日足、集計数30、n前0)×0.86>終値(日足)かつ単純平均(SMA)(日足、集計数7、n前0)×0.92>終値(日足)」 という条件を作成します。空売りの条件や、「PER18倍以下」、「信用買い残が信用売り残よりも小さい」といった条件も同様に作成していきます。
注文の作成
新規注文の設定
次に、「注文の作成」を行っていきます。新規注文の「現物買い」をクリックしてください。
一番上のセレクトボックスから「終値の単純平均(SMA)(日足、集計数30、n前0)×0.86>終値(日足)AND単純平均(SMA)(日足、集計数7、n前0)×0.92>終値(日足)AND 信用買い残<信用売り残 AND PER<18」
を選択してください。この条件のときに現物買いを行うことになります。
「数量」は「資産評価額」の8%を、「価格」は「成行」で「前場のみ」をチェックして登録をクリックします。
KaburoboBuilderユニバーサルでは銘柄組み入れ比率制限があり、1銘柄に対して総資産の10%以上を使うことができません。
総資産の10%以上を指定しても10%までしか買わない点に注意してください。
空売りの設定も、「新規信用売り」ボタンから同様に注文を設定します。
決済注文の設定
決済注文は、「現物売り」「信用返済」「トレーリングストップ」から選ぶことができます。 今回は現物買い、空売りの手仕舞いは、ともにトレーリングストップを使うことにします。

図12:トレーリングストップの設定
「目標値」を5%に設定します。高値が購入金額×1.05を超えたら、トレーリングストップが発動することになります。
「ストップロス」を10%に設定します。トレーリングストップが発動したら、最高値×0.90で逆指値の注文を出します。
最高値を更新するごとに、逆指値の値段は上がっていきます。
「損切り」を15%に設定します。株価の安値が購入金額×0.85を下回った場合に成行で反対売買します。
また、「最長ホールド日数」を60日に設定します。60日を過ぎたら即時成行きで反対売買注文を出します。
この説明は現物買いのときを前提にしていますが、信用売りを行っている場合もこの設定で大丈夫です。
つまり、信用売りの場合は安値が購入金額×0.95を下回ったら、トレーリングストップが発動し、最安値×1.10で逆指値の返済注文を出します。
最安値を更新すると逆指値の値段は下がっていきます。損切りは株価の高値が購入金額×1.15を上回った場合に成行きで返済します。
注文キャンセル
前場に注文を出した(注文できる条件をクリアした)が、何らかの理由で約定できなかった銘柄を後場ではキャンセルすることができます。 これを「注文キャンセル」といいます。今回は何も設定しなくてもよいでしょう。

図13:注文キャンセル
優先度の設定
また、優先度の設定というボタンもクリックしてみましょう。
注文をたくさん作った場合には優先度を設定するとよいでしょう。 今回は現物買いと信用売りの2つの注文しかないので、このままにします。現物買いのほうが信用売りよりも優先されます。
保存
カブロボが完成したら保存をクリックします。

図15:カブロボの保存
保存ボタンをクリックし、正常に保存されましたというメッセージが出れば完了です。
これで稼動テストをすることができるようになりました。なお、既存のカブロボを編集した際も、必ず保存ボタンを押してください。
以上でKaburoboBuilderユニバーサルでのカブロボ作成は完了です。


