カブロボ成績表作成ツールおよび成績表について
■成績表作成プログラムについて
成績表作成プログラムは J2SE 1.5 で作成されております。
実行にあたり、以下のソフトウェアが必要となります。
-
JRE (Java Runtime Edition) のバージョン
"1.5.0_12" 以上(Java6, "1.6.0_02" を含む)
できるだけ JRE は最新版をお使いいただきますよう、お願いいたします。
- カブロボ SDK 2.0.3 以上 (それ未満ですと誤動作の可能性があります。)
■成績表について
この成績表は HTML(xhtml 1.1) + CSS 2.0 + png ファイルで構成されています。
ご覧いただくにあたり、対応しているブラウザが必要となります。
Mozilla Firefox® 2.0 および Microsoft® Internet Explorer® 6.0 SP1 にて確認しております。
ただし、お客様の環境設定によりレイアウトが崩れる場合がございますので、あしからずご了承ください。
フォントは「MS Pゴシック」サイズは「中」または「14pt」を推奨致します。
画面解像度は フルカラー 800x600 以上を推奨致します。
最終日に保有していたポートフォリオは、ロボットの意思と関係なく最終日の寄り付きで反対売買を実施したと仮定し、各種の集計をしています。
■インストール方法
ダウンロードされた zip ファイルを解凍します。
SDK をインストールされたディレクトリと同一のディレクトリに設置します。
例) C:\kaburobo
performance-report.jar が以下のようなパスになれば完了です。
例) C:\kaburobo\tool\performance-report.jar
ご注意: 他のディレクトリにインストールされた場合
本ソフトウェアは任意のディレクトリにインストールしていただけますが、SDK のインストール先以外にインストールされた場合は、本ドキュメントのリンクが一部切れてしまいますので、ご留意くださいますようお願い申し上げます。
また本ドキュメントでは、上記例示をもとにディレクトリ名を記述しております。適宜お読み替えの上ご活用くださいますよう、よろしくお願い申し上げます。
■バージョンアップ方法
既にインストールされている場合の更新方法です。
既にインストールされているバージョンと、アップデートしようとされているバージョンのメジャーバージョンが違う場合は、念のため一度アンインストールしたのちに新しいバージョンをインストールしていただきますようお願いいたします。
- 本ソフトウェアが起動していないことを確認してください。
- 既に本ソフトウェアをインストールされたディレクトリにzipファイルを解凍し、既存のバージョンをそのまま上書きしていただければ完了です。
■アンインストール方法
- 生成された成績表が必要な方はバックアップをお願いいたします。
- 本ソフトウェアが起動していないことを確認してください。
- インストール時に作成された tool ディレクトリごと削除すれば完了となります。
■プログラムの使い方 - コマンドライン
ターミナルを起動します
ターミナルで以下の要領でコマンドを入力してください。
緑色の部分を入力してください。白い文字は自動的に出力される部分です。
実際にはタイプされた文字も白く(ターミナル設定に依存)なります。
Windows の場合
C:\> cd "%KABUROBO_HOME%"\tool [ENTER]
C:\kaburobo\tool\> performance-report.bat [ENTER]
Linux の場合
[kaburobo@machine ~]$ cd ${KABUROBO_HOME}/tool [ENTER]
[kaburobo@machine tool]$ ./performance-report.sh [ENTER]
起動後
するとツールが起動し最後のバックテスト結果を解析します。Windows/Linux共通です。
[カブロボ成績表作成ツール] Version:*** / SDKVer:***
10:44:47.406 起動しました。
10:44:47.734 DBへ接続しました。
ファイル file:/C:/Kaburobo/tool/report_113.html に出力しました。
10:44:49.640 終了しました。所要時間:00:00:02.234
カレントディレクトリに出力されますが、インストール先ディレクトリでないと、成績表内のヘルプへのリンクが切れてしまいますのでご留意ください。
■プログラムの使い方 - Eclipse
バックテスト後に簡単に成績表を生成するための手順を説明いたします。
Eclipse のバージョンは 3.2.2 for Windows + NLpack を想定しています。
NLpack 未インストールの方は適宜読み替えて設定していただきたく存じます。
- Eclipse を起動し、[実行]-[外部ツール]-[外部ツール...] メニューを選択します
-
以下のウィンドウが現れます。[プログラム](赤丸で囲んだ部分)をダブルクリックします。
ツリーペインの「プログラム」を選択しています。
-
以下の要領で、青で囲んだ部分を入力してください。(画面はインストール先がデフォルトであるとの想定です)
「名前」はご自由に設定してください。
「ロケーション」に、インストール先の performance-report.bat のフルパスを(たとえば C:\Kaburobo\tool\performance-report.bat と)入力します。
「作業ディレクトリ」に、インストール先のディレクトリを(たとえば C:\Kaburobo\tool\ と)入力します。
- 次に、[適用]ボタン(上記画像の赤で囲んだ部分)をクリックします。
- バックテスト実行後に外部ツールメニューより今作成した[成績表作成]メニューを選択してください
-
「完了しました」のメッセージがでたら、インストール先のディレクトリ(環境により異なる場合がございます) にあります、
report_n.html (nは CUSTOMER_ID で、数字です) ファイルをダブルクリックしてください。
■プログラムの使い方 - コマンドラインオプションについて
コマンドラインオプションで設定できる項目は以下のとおりです。
report.java [-d DATAPATH] [-c CUSTOMER_ID|--list|-n NUM]
-c CUSTOMER_ID
-
対象カスタマID(数字です)を指定します。このIDのカブロボの成績のみ出力します。
--listや-nとの同時指定はできません。
--list
-
指定時、直近最大100件までのカスタマID一覧を出力します。
-nや-cとの同時指定はできません。
なお、robot-config.xml にて overwrite が true (過去のデータを残さない設定、デフォルト値)だと、1つしか表示されません。
過去のデータを参照されたい場合は overwrite = false に設定してください。ただしその際は容量にお気をつけください。
詳しくは SDK に付属の doc/robot-config.html をご参照くださいますようお願いいたします。
-n NUMERIC
-
指定時、直近 NUMERIC 件(最大100件)までさかのぼり、出力の対象として連続的に成績表を出力します。
--listや-cとの同時指定はできません。
例) -n 32 (32件までさかのぼり、出力します。)
なお、robot-config.xml にて overwrite が true (過去のデータを残さない設定、デフォルト値)だと、1つしか出力されません。
過去のデータを参照されたい場合は overwrite = false に設定してください。ただしその際は容量にお気をつけください。
詳しくは SDK に付属の doc/robot-config.html をご参照くださいますようお願いいたします。
-d DATAPATH
-
検証パックのパス(data300など)を指定します。
末尾や先頭の \ は不要です。デフォルト値(オプションが指定されない場合の値)は data50 です。
拡張検証パックをインストールし、使用された場合はこのオプションを使用してください。
例) -d data300
コマンドラインオプションに /? や -h などを指定してもこれらの説明を読むことができます。
■資産推移グラフ
横軸が日付、縦軸が額になります。
そのときそのときの総資産評価額、株式評価額、空売り額を示しており、参考として運用開始時TOPIXに開始時種銭を全額投資した場合の資産推移も表示しております。
最終成績表に出力されるもの同じです。詳しくは、
kaburobo_programming_rule.pdf : カブロボ作成ルール/仕様
Java プログラマー用補足資料
をご覧ください。
上記ドキュメントに記載されていない項目と解説は以下のとおりです。
- 月間平均トレード数
- ひと月あたりの平均トレード(新規約定)回数です。
- 平均約定金額[円]
- 1トレードあたりの平均約定金額です。
- 売買銘柄数
- 一度でも売買したことのある銘柄数です。大きいほどリスクを分散していると考えられます。
- 最大年間勝ち月数 [月/年]
- 最小年間勝ち月数 [月/年]
-
年度(1月〜12月)毎に前月最終日比がプラスの月数をカウントしています。その最大値と最小値です。
1月〜12月の運用をしていない場合は、グレーアウトとなります。
たとえば2005年3月〜2006年2月ですとグレーアウトとなり、2005年1月〜2006年2月ですと表示されます。
- 平均年間勝ち月数 [月/年]
-
累計勝ち月数を運用月数で割ったものです。
1月〜12月の運用をしていない場合は、グレーアウトとなります。
たとえば2005年3月〜2006年2月ですとグレーアウトとなり、2005年1月〜2006年2月ですと表示されます。
■年次成績表
年度(1月〜12月)ごとの成績とその平均値を示しています。
- 利回り
- 年次の資産評価額の増加率。年度最終日(初年度は開始時)との比較です。
- TOPIX参考値
- TOPIXの年間騰落率です。
- 対TOPIX相関係数
- 資産評価額とTOPIXの相関係数です。-1〜1の範囲の値になります。
- 対TOPIXベータ値
- TOPIXの変化に対する資産の変化の度合いをあらわします。
- 株式比率(資産内)
-
日次の「株式評価額÷資産評価額」の値を年間で単純平均した値です。
データは、後場があれば後場のデータを、前場しかなければ前場のデータを見ています。
分母となる日数は、半日でも立会のある日数(立会日数)です。
- 売建比率(資産内)
- 日次の「信用売資産評価額÷資産評価額」の値を年間で単純平均した値です。
- 約定数
- 新規売買と反対売買(現物株式売却を含む)の年間約定件数
- 売買代金(千円)
- 新規注文と仕切注文(現物株式売却を含む)の年間約定代金です。手数料等の取引コストは含みません。
- 立会日数(半日含む)
- 市場が開いていた日数です。半日立会日(大発会、大納会)を含みます。
- 平均について
- 利回り・ROI・TOPIXは相乗平均、その他は単純平均で算出しています。
■小グラフ3点(保有銘柄数, 月次損益率)
- 保有銘柄数
- 後場(半日立会日は前場)の終わりに保持している銘柄数の推移です。
- 月次損益率(時系列)
-
各月最終日の資産評価額と前月(初月は開始額)の比です。
テスト期間が60日以上ないと表示できません。
- 月次損益率(ヒストグラム)
-
損益率ごとの件数を表します。数は1パーセント刻みになります。
テスト期間が60日以上ないと表示できません。
■銘柄別集計
- ランキング (売買代金順,利益額順,損失額順)
-
約定した注文を銘柄別にまとめ、その売買代金・実現損益額でソートしたランキングです。
銘柄コードをクリックすると現在のチャートを Yahoo! ファイナンスでご覧いただけます。
- 散布図 (売買代金, 損益)
-
横軸を銘柄コード、縦軸を損益(率・額)としてプロットしたものです。
上位・下位それぞれ10位には点の右に銘柄名を表示しています。
(ロボットの成績により、文字が見づらいことがございます。ご了承ください。)
■トレード別集計
- 新規注文約定代金 (上位10トレードまで)
-
約定した新規注文で、約定代金が大きい順の上位10トレードです。
各ランキングの銘柄コードをクリックすると、現在のチャートを Yahoo! ファイナンスでご覧いただけます。
銘柄名をクリックすると、新規注文の1ヶ月前から注文日までの時系列データを Yahoo! ファイナンスでご覧いただけます。
- 利益額順 上位10トレード
- 利益率順 上位10トレード
- 損失額順 上位10トレード
- 損失率順 上位10トレード
- 保有日数順 上位10トレード
-
それぞれ対象のカラムでソートしたランキングです。
ソート順はタイトルとカラムの▼|▲マークであらわしています。
トレード単位の集計ですので、複数回に分けて反対売買約定した場合も1トレードと数えられます。
その際の評価損益は、約定単位の合計を使用しています。保有日数に関しては最長のものを使用しています。
- 保有日別件数(積み上げヒストグラム)
- 保有日別平均損益額ヒストグラム
- 保有日別平均損益率ヒストグラム
- トレード毎実現損益額別件数ヒストグラム
- トレード毎実現損益率別件数ヒストグラム
-
それぞれ、保有日数と損益額/率ごとに集計したヒストグラムです。
約定件数が32件以上ないと、表示できません。
- 個別トレード集計レポート
- 統計的なレポートです。約定ではなく反対売買もあわせたトレード単位で集計しています。
■注文理由別集計 (アルゴリズムデバッグ)
- 注文箇所集計レポート
-
注文箇所のソースファイル名:行数で集計したランキングです。
不出来などにより未約定となった注文も集計対象としています。
「システムによる強制反対売買」とでた場合は、強制損切や、上場廃止・監理ポスト入りなどと考えられます。
- 新規取引注文理由別 集計レポート
-
新規取引注文を注文理由別に集計したレポートです。
新規取引注文なので「システムによる強制反対売買」はありません。
直近の運用日までの注文が対象で、未決済(未クローズ)のトレードを含んでいます。未クローズのトレードについては、最終日の評価額を用いて集計しています。
各項目の意味については「注文理由別 集計レポートの項目別解説」をご覧ください。
- 反対売買注文理由別 集計レポート
-
反対売買注文を注文理由別に集計したレポートです。
「システムによる強制反対売買」は無視しています。
直近の運用日までの注文が対象ですが、反対売買が行われていないため、直近のポートフォリオ(未クローズのトレード)を含んでいません。
各項目の意味については「注文理由別 集計レポートの項目別解説」をご覧ください。
- 注文理由別 集計レポートの項目別解説
-
- 総件数
- 取引総件数です。注文単位で、トレードID単位ではありません。
- 勝率
-
上記の総件数と勝ち件数より計算しています。
- 平均日数
- 平均保有日数です。株数などによる重み付けはなく、単純平均となっています。
- 総損益額
- 新規注文の場合はそのトレード全体の損益額、反対売買注文の場合はその注文での損益額を合計しています。
- 総投資額
- 新規注文の場合はそのポジション作成時の売買代金、反対売買の場合はその注文株数の絶対値とそのポジション作成時の株価をかけたものを合計しています。
- 総損益率
- 総損益額を総投資額で割り100倍したものです。
- 平均損益率
-
注文(新規注文の場合はトレード)毎の損益率を合計し、件数で割ったものです。
損益額などによる重み付けはありません。
■ライセンスについて
本ソフトウェアは、8-6-Aを除くカブロボ利用規約の全てが適用されます。
本ソフトウェアでは以下のライブラリを利用しています。
- JFreeChart (LGPL)
- © Copyright 2000-2007, by Object Refinery Limited and Contributors.
■こんなときは
out of memory エラーが起きました
以下の項目を確認願います。
- robot-config.xml で overwrite false になっており、大量のデータが溜まっていませんか?
- overwrite true にし、再度バックテストを行ったのちに本アプリを実行してみてください。
- 物理メモリは足りていますか?
- ビデオメモリとしての使用や、常駐ソフトなどがメモリを大量使用していませんか?不要不急のアプリケーションを終了してみてください。またはメモリ増設を検討ください。
- それでも出る...
-
performance-report.bat (Linux/UNIX系OSでは .sh) の中で、
-Xmx512Mという記述があります。
こちらの数字の部分を -Xmx1024M などと書き換えてみてください。
〜Exceptionというメッセージが出ました
大変お手数ですがお問い合わせくださいますようお願いいたします。
その際、原因究明・対策のためにお使いの環境についてこちらから質問させていただく場合がございます。ご了承ください。
■改版履歴
- 2007年03月01日 ver1.0 beta1
- 新規公開しました。
- 2007年04月03日 ver1.0 RC1
- 【更新】SDK 2.0.0 RC1 用に表記等変更しました。
- 【更新】ライブラリ(JFreeChart)のバージョンアップを行いました。
- 【変更】詳細数値データで小数点以下3桁表示していたのを、見づらい(1,000と見間違う)ため、小数点以下2桁の表示としました。
- 【変更】トレード集計の件数規制を8件に緩めました。
- 【修正】銘柄別集計について、最終ポートフォリオのうち信用取引(空売り)部分の取り扱い不具合を修正しました。
- 【修正】最大/最小/平均勝ち月数の表示を変更しました。満一年(1月〜12月)の運用がない場合はグレーアウトするようにしました。
- 【修正】[ドキュメント] Eclipse の設定画像を差し替えました。
- 【追記】[ドキュメント] 改版履歴(本項)を追記しました。
- 【追記】[ドキュメント] こんなときはを追記しました。
- 【追記】[ドキュメント] コマンドラインオプションの使い方を追記しました。
- 2007年04月27日 ver1.0 RC2
- 【更新】SDK 2.0.0 RC2 に対応しました。
- 【更新】年次成績表の資産内株式比率について、前場のみでしたが後場があれば後場のデータから計算するようにしました。
- 【修正】--list、-n のとき表示せず終了することがあった問題を修正しました。
- 【修正】その他細かな表記を修正しました。
- 2007年05月22日 ver1.0.0
-
【改良】注文理由別 集計レポートを新規取引・反対売買で分割し、詳細に解析するようにしました。
また、それに併せて本ドキュメントを修正いたしました。
- 2007年06月22日 ver1.0.1
- 【変更】銘柄別集計の「取引件数」カラムの表記を実態に合わせ、「約定件数」としました。
- 【修正】注文結果の記録がない場合の対応を強化しました。
- 2007年07月10日 ver1.0.2
- 【更新】SDK 2.0.3 に対応しました。
- 2007年10月05日 ver1.0.3
- 【更新】使用ライブラリのバージョンチェックを行うようにしました。
- 【修正】
"c:\program files\kaburobo"のようなスペースを含むパスで問題が起きるのを修正しました。
- 【変更】資産推移グラフの時間軸書式を若干変更しました。