バックテスト用カブロボ起動設定ファイル

カブロボ起動時の設定は、バックテスト用カブロボ起動設定ファイルを読み込んで行われます。

デフォルトでは作業ディレクトリの robot-config.xml が検索され、 見つからない場合は %KABUROBO_HOME%/config/robot-config.xml (あるいは $KABUROBO_HOME/config/robot-config.xml) が読み込まれます。

ドライバの引数に "-f ファイル名" を与えて読み込むファイルを指定することもできます。

この設定ファイルでは、カブロボクラス名、シミュレーションを行う期間、ログの出力方法を設定することができます。


カブロボクラス名の設定

カブロボのクラス名を指定するには、<robot-class-name>タグを設定します。
パッケージ名も含めて指定して下さい。

<robot-class-name> カブロボクラス名
(package 名も含む)
必須

例:
  <?xml version="1.0" encoding="UTF-8" ?>
  <robot-config>
    ....
  <robot-class-name>SampleRobot</robot-class-name>
    ....
  </robot-config>

期間の設定

カブロボを起動するときに使用するデータの期間を設定して、 その期間で売買のシミュレーションを行うことができます。 指定するには<time>タグを使います。

<time>の構成
<start> 開始する日付
yyyy-MM-ddの形式で指定
必須
<end> 終了する日付
yyyy-MM-ddの形式で指定
必須

例:
  <?xml version="1.0" encoding="UTF-8" ?>
  <robot-config>
    ....
    <time>
      <start>2006-01-04</start>
      <end>2006-12-29</end>
    </time>
    ....
  </robot-config>
start に 2006-01-04 が指定され、end に 2006-12-29 が指定されています。
この場合、2006年1月4日にカブロボが開始し、2006年12月29日まで動かすことを意味します。


バックテスト時の初期資産の設定

バックテスト時の初期資産を指定するには、<asset>タグを設定します。
デフォルトでは5000万円になっています。この数字を変えてテストすることで、資金の増減に対しての耐久性がテスト出来ます。

<asset> 初期資産(円) 必須

例:
  <?xml version="1.0" encoding="UTF-8" ?>
  <robot-config>
    ....
  <asset>50000000</asset>
    ....
  </robot-config>

自動損切り値の設定

システムによる自動損切りのパーセンテージを指定します。
1トレードの含み損がこの値以上になると自動で損切り注文を出すことが出来ます。
デフォルト値は20(%)です。

<auto-losscut> 自動損切り値の設定
(パーセント)
必須

例:
  <?xml version="1.0" encoding="UTF-8" ?>
  <robot-config>
    ....
  <auto-losscut>20</auto-losscut>
    ....
  </robot-config>

新規注文時の銘柄組入比率上限値の設定

新規注文時の銘柄組入比率上限値を指定するには、<each-stock-limit>タグを設定します。
これは新規注文の際に、総資産の何パーセントをある銘柄に集中させても良いかを設定します。
ポートフォリオの銘柄組入比率が、この上限値を超えるような注文は自動的に丸められます。
例えば総資産5000万円、銘柄組入比率上限値10パーセント、銘柄Aの株式評価額400万円の場合、
各銘柄は500万円以内になるように上限が設定されるので、銘柄Aに対しての新規注文は最大でも100万円に丸められます。
保有している銘柄の株式評価額が株価の上下に応じて増加し、組入比率上限値を超えた場合は特に問題はありません。
新規注文にのみ適用されます。

<each-stock-limit> 銘柄組入比率上限値
(パーセント)
必須

例:
  <?xml version="1.0" encoding="UTF-8" ?>
  <robot-config>
    ....
  <each-stock-limit>10</each-stock-limit>
    ....
  </robot-config>

空売りの有無の設定

空売りの有無を指定するには、<short-trade>タグを設定します。
trueで空売り有り、falseで空売り無しです。falseに設定していた場合はシステム内で空売りが出ないように制御されます。
意図的に空売りをしない設定にする事で、サーバー上で動作させる際にカブロボの評価や挙動を正しく把握出来るようになります。

<short-trade> true:空売り有り
false:空売り無し
必須

例:
  <?xml version="1.0" encoding="UTF-8" ?>
  <robot-config>
    ....
    <short-trade>true</short-trade>
    ....
  </robot-config>

特別条件付注文の有無の設定

特別条件付注文の有無を指定するには、<special-order>タグを設定します。
trueで特別注文有り、falseで無しです。falseに設定していた場合はシステム内で特別条件付注文が出ないように制御されます。
意図的に特別条件付注文をしない設定にする事で、サーバー上で動作させる際にカブロボの評価や挙動を正しく把握出来るようになります。

<special-order> true:特別条件付注文有り
false:特別条件付注文無し
必須

例:
  <?xml version="1.0" encoding="UTF-8" ?>
  <robot-config>
    ....
    <special-order>true</special-order>
    ....
  </robot-config>

ETF使用有無の設定

ETF使用の有無を指定するには、<etf>タグを設定します。
trueでETF使用有り、falseで無しです。falseに設定していた場合はシステム内でETFを扱えないように制御されます。
意図的にETFを使用しない設定にする事で、サーバー上で動作させる際にカブロボの評価や挙動を正しく把握出来るようになります。

<ETF> true:ETF使用有り
false:ETF使用無し
必須

例:
  <?xml version="1.0" encoding="UTF-8" ?>
  <robot-config>
    ....
    <etf>true</etf>
    ....
  </robot-config>

拡張検証パックの設定

拡張検証パックを指定するには、<data>タグを設定します。
デフォルトでは基本検証パックの data50 が設定されています。
SDK 用の拡張検証パックをダウンロードして展開し、その "data*" ディレクトリの
KABUROBO_HOME からの相対パスを設定します。
<data> data50
(KABUROBO_HOMEからの相対パス)
必須

例:
  <?xml version="1.0" encoding="UTF-8" ?>
  <robot-config>
    ....
  <data>data50</data>
    ....
  </robot-config>

ログの設定

プログラムで出力されるログのフィルタリングやログファイルの生成を設定することができます。

<user-log>の構成
<console> コンソールの出力方法を指定
level 属性でログ出力レベルの閾値を設定
<file> ファイルへの出力方法を指定
path 属性で書き出すファイルを指定
level 属性でログ出力レベルの閾値を設定
<database> データベースへの出力方法を指定
level 属性でログ出力レベルの閾値を設定

level 属性のログ出力レベルとは、ログ出力の閾値であり、この閾値以下のログが出力されます。
ログの出力レベルは、RobotLogManager.log(String msg, Integer level) メソッドで設定できます。
例えば、ログ出力の閾値を 5 した場合、5 以下のレベルのログが出力されます。 0 の場合は全く出力されなくなります。

例:
 <?xml version="1.0" encoding="UTF-8" ?>
  <robot-config>
    ....
    <log>
        <console level="5" />
        <file level="0" path="log.txt" />
        <database level="0" />
    </log>
    ....
  </robot-config>

また、下記のようなシステムログを出力するかどうかを設定できます。

<system-log> true: システムログを表示する
false: システムログを表示しない
必須

例:
  <?xml version="1.0" encoding="UTF-8" ?>
  <robot-config>
    ....
  <system-log>true</system-log>
    ....
  </robot-config>

設定の確認表示の設定

カブロボの設定を確認表示にするには、<config-confirmation>タグを設定します。
設定の確認表示にした場合、
よろしければ[Enter]キーまたは start と打って[Enter]キーを押してください。
キャンセルする場合は quit と打って[Enter]キーを押してください。
ヘルプを表示する場合は help と打って[Enter]キーを押してください。
>
と表示され、一時停止します。
その後、[Enter]キーを押すことでカブロボがスタートします。 また、キャンセルをすることもできます。
設定の確認表示をしなかった場合は止まらずにカブロボがスタートされます。

<config-confirmation> true: 確認表示をする
false: 確認表示をしない
必須

例:
  <?xml version="1.0" encoding="UTF-8" ?>
  <robot-config>
    ....
  <config-confirmation>true</config-confirmation>
    ....
  </robot-config>

カブロボの動作履歴保存の設定

カブロボの動作履歴を保存するには、<overwrite>タグを設定します。
カブロボの動作履歴は、HSQL データベース内に保存されます。
保存をした場合、何回もカブロボを実行すると、それだけ保存されていくため、 カブロボの動作が遅くなる場合があります。
また、回数によっては HSQL の容量制限により動作しなくなる場合もありますのでご注意ください。
保存しなかった場合は、毎回上書きされます。 デフォルトでは上書きされるようになっています。

<overwrite> true: 保存をする
false: 保存をしない
必須

例:
  <?xml version="1.0" encoding="UTF-8" ?>
  <robot-config>
    ....
  <overwrite>true</overwrite>
    ....
  </robot-config>