Home > 6_コラム > (コラム) 森封のカブロボ探求 第4回

(コラム) 森封のカブロボ探求 第4回

こんにちは、森封(もりふう)です。

前回のコラムでは学力偏差値を例にしながら標準偏差について紹介しました。今回はその標準偏差を使ったテクニカル分析であるボリンジャーバンドを使ったカブロボを作成し、その動作結果を確認してみます。

まずはテクニカル分析であるボリンジャーバンドを簡単に紹介します。「バンド」とは「帯」のことです。まずはこちらの図を御覧下さい:

BB1.gif

図は日足のローソク足チャートと9日間の移動平均線(緑)に標準偏差をプラス/マイナスした線(青)と、標準偏差の2倍をプラス/マイナスした線(赤)を書き加えたものです。下にある赤線は偏差値でいえば30、上にある赤線は70に相当する線です。日足データのほとんどはこの二つの線に挟まれた部分(帯)の中に収まりながら上下しており、この帯から飛び出ること(偏差値が30を下回ったり、70を上回ったりすること)は滅多にありません。データが帯の外に出るのは、ある意味「特別なサイン」と考えることができます。

<以下続きます.....Continue readingをクリックしてください。>

そこで、偏差値が30を下回った場合は「さすがに売られすぎ」と判断することにします。実際には下落トレンドが続く可能性もあるのでとりあえずこの段階は様子見として、「偏差値30の線を下回った所から30を上回ったら買いのサイン」と判断することにします。また逆に「偏差値70の線を上まった所から70を下回ったら売りのサイン」とも判断します。このロジックをシステマチックに実行するカブロボを作ってみましょう。

カブロボのプログラミングコードは以下のようにします。前々回同様、検証目的なので screening メソッドは使わず、全て order メソッドの中で判断と売買注文を行っています。

内容を簡単に紹介しますと、ある銘柄において「株価が偏差値30以下から30以上になった場合、および偏差値70以上から70以下になった場合」を特別なサインとみなして売買処理を実行することにします。 具体的には毎日午前場が始まる直前に全銘柄を対象に、2営業日前および1営業日前の終値を調べ、またそれぞれの日における偏差値30および 70 の株価を求めておきます。そして「2営業日前は偏差値が30以下であったが、1営業日前は偏差値が30以上に上がっていた」ケースを買いの、逆に「2営業日前は偏差値が70以上であったが、1営業日前には偏差値が70以下に下がっていた」ケースを売りの、それぞれのサインとみなします。 「買い」サインが発生した銘柄については元株数の買い注文を出し、「売り」サインの銘柄をポートフォリオ内に所有していた場合は全て売却して決済を行うようにします。 つまり今回のロボットは「買いのサイン=新規買い注文」、「売りのサイン=持っているポジションを決済」という、空売りなしのルールとします。

コード1: カブロボ SDKを使ったボリンジャーバンドによる売買
BBRobot1.javaをダウンロード

コード中の最初の方で20日間のボリンジャーバンド指標を取得する部分があります。ここを適宜変更することで計算日数を変えたり、日単位ではなく、週や月単位にすることもできます。

またこのロボットの robot-config.xml は以下のようにします:

コード2: カブロボ SDK の robot-config.xml の内容
robot-config.xmlファイルをダウンロード
zipで圧縮しています。解凍してお使いください。

は実際のロボットの名前に合わせて変更してください。また は現在 false になっており、これは「空売りを無効にする」ことを意味しています。この値を true に書き換えると空売り自体が無効に設定されるため、コード上の空売り注文は全て有効にするロボットになります(つまりデッドクロス時には所有株を決済するだけのロボットになります)。 またシミュレートの期間は2005年1月1日から2006年12月29日に、初期資産額は5000万円に設定しています。これらの値は適宜変更してシミュレートいただいても構いません。

このロボットを動かしてみた最終結果の取引データはこちらです:
初期資産額(円)      :50,000,000
最終資産額(円)      :60,094,866
取引開始日        :2005-01-04
取引終了日        :2006-12-29
経過日数(日)       :724
運用日数(日)       :493
総トレード数       :492
勝ちトレード数      :378
負けトレード数      :114
勝率(%)         :76.83
年間平均トレード数    :307
全トレード平均期間(日)  :53
勝ちトレード平均期間(日) :45
負けトレード平均期間(日) :79
最長フラット期間(日)   :10
トータル約定金額(円)   :631,166,920

かなりいい成績になりました、2年間で約15%増です。勝率も75%を超えかなり優秀なロボットと言えるものになりました。偏差値30以下と70以上という滅多に無いサインが、この期間ではそれなりに信頼性があった、と言えると思います。

森封 (もりふう)
第1回カブロボコンテスト 優秀アルゴリズム賞 受賞者

―――――――――――――――――――――――――――――――
<ご注意事項>
 資料はカブロボ開発の参考になる情報提供を目的とするもので、投資勧誘を
 目的としたものではありません。
 こちらに掲載された内容は、執筆時における筆者の見解・予測であり、
 情報の正確性や完全性について保証するものではありません。
 また過去の実績は将来の結果を保証するものでもありません。
 当社は本メールの内容に依拠してお客さまが取った行動の結果に対し責任を負
 うものではありません。
 投資にあたってはお客さまご自身の判断と責任でなさるようお願いいたします。
                     トレード・サイエンス株式会社
―――――――――――――――――――――――――――――――

Comment:0

Comment Form

コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。

Remember personal info

Trackback:0

TrackBack URL for this entry
http://kaburobo.sakura.ne.jp/kaburobonet/mt-tb.cgi/390
Listed below are links to weblogs that reference
(コラム) 森封のカブロボ探求 第4回 from KABUROBO.NET

Home > 6_コラム > (コラム) 森封のカブロボ探求 第4回

Search
Feeds

Page Top