日本株には、MT4 のストラテジーテスターに当たる共通の検証環境がありません。データは J-Quants で手に入るようになりましたが、そのままでは検証に使えない形で配られています。カブテスターは、そこを埋めるための道具です。
- 21億行のティックを、1銘柄あたり数十msで読める形に組み替えます
- 損切りと利確が同じ足に入ったとき、決め打ちしません
- データは同梱しません。お客様のAPIキーで、お客様のPCが取得します
- 買い切りです。月額も、シグナル配信もありません
何を解決するのか
1. 配られる形のままでは使えない
J-Quants のティックは「日付ごと・全銘柄」のCSVで配られます。検証で要るのは「銘柄ごと・全期間」です。この向きが合っていません。
| 実測値 | |
|---|---|
| 配られる形(2年・圧縮) | 20.6 GB |
| 解凍すると | 116.7 GB・21億3,800万行 |
| 1銘柄の2年分を読むのにかかる時間(そのまま) | 約49秒 |
| カブテスターで組み替えた後 | 18 GB / 1銘柄 数十ms |
組み替えは一度きりで、2年分で約1時間20分。以降の毎日の追加は数秒です。

2. 四本値では決められないことがある
損切りと利確を同時に置くと、同じ1分足の中で両方に触ることがあります。四本値しか無いと、どちらが先だったかは決め打ちするしかありません。
| 建値からの幅 | 両方に触った割合 | 上が先 | 下が先 |
|---|---|---|---|
| 0.1% | 10.0% | 47.1% | 52.9% |
| 0.2% | 8.1% | 46.1% | 53.9% |
| 0.5% | 5.3% | 48.7% | 51.3% |
どちらが先かは、ほぼ半々です。52銘柄・2,908取引で試したところ、決め打ちの向きだけで損益が −38% 〜 +35% 動きました。両方に触った足がたった1回で損益の符号が変わった銘柄もあります。
カブテスターは、その足の約定を順に見て実際に先に触ったほうで決めます。決め打ちしません。

3. 配られたままのCSVは、並び順に罠がある
CSVは時刻順に並んでいますが、約定順ではありません。同じ時刻の約定が全体の4.1%あり、そこで順序が入れ替わっています。そのまま1分足を組むと、4,201銘柄のうち1,238銘柄で始値か終値がずれます。
カブテスターは取り込みの時点でこれを直します。組み直した1分足が公式の分足と468,960本すべて一致することを確認済みです。

使い方
# 1. 自分の J-Quants の APIキーを入れる(同梱データはありません)
kabutester key set
# 2. 2年分のティックを取ってきて、検証に使える形に組み替える
kabutester build --from 2024-10 --to 2026-09
# ダウンロード 約24分 → 変換 約16分 → 銘柄別に転置 約37分
# 3. 戦略を回す
kabutester run mystrategy.py --code 86970戦略は Python で書きます。MT4 の EA と同じ感覚で、1ファイルに1つのクラスです。
from kabutester import Strategy
class 高値ブレイク(Strategy):
def on_bar(self, ctx, bar):
if ctx.position != 0:
return
hi = ctx.bars["H"].iloc[-21:-1].max()
if bar.C > hi:
ctx.buy()
ctx.set_exit(stop=bar.C * 0.998, take=bar.C * 1.002)データの扱い(大事なこと)
カブテスターにデータは同梱されていません。
お客様ご自身の J-Quants 契約と APIキーで、お客様のPCが直接データを取得します。運営者がお客様のAPIキーや取引データを受け取ることはありません。
J-Quants の規約は、取得したデータを第三者が使える状態にすることを禁じています。この形以外では、そもそも商品として成立しません。
別途、J-Quants の「株価 分足・ティック」アドオンのご契約が必要です(Light 1,650円+アドオン 5,500円=月7,150円。Freeプランにはアドオンを付けられません)。プランの選び方はこちら。
正直に書いておくこと
- 成行だけで、損切りも利確も置かないなら、ティックの優位はほとんどありません。1分足では「次の足の始値」と「次のティック」が同じ値段になるためです(38銘柄で損益まで完全一致しました)
- 板情報はありません。J-Quants のティックは約定データだけです。そのため「自分の指値が列の何番目か」は分かりません。指値の約定判定は、既定で辛め(その値段を抜けて初めて成立)にしてあります
- 売買方向もありません。約定が買い手・売り手どちらから出たかは推定しかできません
- 立会外取引(ToSTNeT)は含まれません。立会内のみです
- ティックの期間は2年です。これは J-Quants 側の制限で、プランを上げても変わりません。長期の検証は日足になります
これらはデータ側の制限で、道具を作り込んでも消えません。買ってから気づくより、先に知っておいていただくほうがよいと考えています。
動作環境
| OS | Windows 10 / 11(64bit) |
| Python | 3.11 以上 |
| メモリ | 8GB 以上(16GB 推奨) |
| 空き容量 | 2年分で 40GB 程度(配られるCSV 20.6GB+組み替え後 18GB) |
| 別途必要 | J-Quants の分足・ティックアドオン |
価格
12,800円(税込・買い切り)
- 買い切りです。月額はありません
- シグナルの配信、銘柄の推奨、投資の助言は行いません
- 更新は無料です
月額の会員制や、分析結果を継続して配信するサービスは行いません。売り切りの道具として提供します。
※ 現在開発中です。公開時期が決まりましたらこのページでお知らせします。