最小限のコードで動かす株の注文〜自動売買の最初の一歩を体感しよう

kabuステーション API(通称:kabu API)を使えば、自分のプログラムから株の売買が可能になります。
とはいえ、
- 「コードで株を買うって、どうやるの?」
- 「自動売買の第一歩を踏み出したいけど難しそう…」
といった方も多いはず。
この記事では、JavaScript(Node.js)を使って、kabu API 経由で株を「買う・売る」だけのシンプルなコード例を紹介します。
この記事はこんな方に向けています
- kabuステーション API(kabu API)で株を自動売買してみたい方
- 「コードで株を買う」が具体的にどういうことか知りたい方
- Node.jsでのAPI操作に初挑戦してみたい方
- Pine Script経験者で、次のステップに進みたい方
最小限のコード例を通じて、 自動売買 の「最初の一歩」が踏み出せるように構成しています。
この記事を通じて、「あ、自分でも株を買えるコードが書けた!」という体験が得られればうれしいです。
JavaScript(Node.js)とは?自動売買に使う言語と実行環境

ここの記事では「JavaScript」というプログラミング言語を使います。
「Node.js」はJavaScriptをパソコンで動かすための環境の名前です。
つまり、Node.js=パソコン上で動くJavaScriptだと思ってください。
この環境で動くスクリプトを書いて、kabu API を使って株を買ったり売ったりします。
Nodeの環境構築(Windows)がまだの方は下記は参考にしてみてください。
またJavaScriptを 自動売買 に利用する上での注意点等はこちらにまとめています。
Pine Script経験者ならスムーズ!JavaScriptとの共通点とは?

TradingView の Pine Script を触ったことがある方には、JavaScriptはかなり馴染みやすい構文です。
たとえば以下のような共通点があります:
- {}で囲むブロック構文
- =での代入
- 数値や条件分岐の書き方も似ている
Pineでロジックを書いている方なら、違和感少なくスクリプトを組めるはずです。
kabuステーション APIで株を買うJavaScriptコード例(axios使用)|最小構成で注文を送信

以下が、kabu
API
で株を買うためのシンプルなJavaScriptコード例です。
公式サンプル(GitHub) をベースに、実用しやすく調整しています。
まずtokenを取得します。
const axios = require("axios");
const data = {
APIPassword: "********", // 実際のAPIパスワードに置き換えてください
};
const url = "http://localhost:18081/kabusapi/token"; // 検証用
axios
.post(url, data, {
headers: {
"Content-Type": "application/json",
},
})
.then((response) => {
console.log("レスポンスデータ:", response.data);
})
.catch((error) => {
if (error.response) {
console.error("APIエラー:", error.response.status, error.response.data);
} else {
console.error("通信エラー:", error.message);
}
});
✅ 成功時のレスポンス例:
レスポンスデータ: { ResultCode: 0, Token: '************' }
この Token を次の注文リクエストに使用します。
const axios = require("axios");
const token = "*********************"; // 取得したトークンに置き換えてください
var data = {
Symbol: "9433",
Exchange: 1,
SecurityType: 1,
Side: "2",
CashMargin: 1,
DelivType: 2,
FundType: "AA",
AccountType: 2,
Qty: 100,
FrontOrderType: 20,
Price: 2762.5,
ExpireDay: 0,
ReverseLimitOrder: {
TriggerSec: 3,
TriggerPrice: 1600,
UnderOver: 2,
AfterHitOrderType: 1,
AfterHitPrice: 0,
},
};
// 検証用
axios
.post("http://localhost:18081/kabusapi/sendorder", data, {
headers: {
"Content-Type": "application/json",
"X-API-KEY": token,
},
})
.then((response) => {
console.log("注文成功:", response.data);
})
.catch((error) => {
if (error.response) {
console.error("APIエラー:", error.response.status, error.response.data);
} else {
console.error("通信エラー:", error.message);
}
});
✅ 成功時のレスポンス例:
注文成功: { Result: 0, OrderId: null }
上記のサンプルコードはあくまで検証用で、実際には注文は通りません。
本番環境で注文を行う場合は、tokenやURLの指定を実際のものに変更する必要があります。
特に注意したいのが、以下のパラメータです:
- Symbol(銘柄コード)
- Qty(注文数量)
これらをどう設定するかで、実際にどれくらいの資金を市場に投下するかが決まってきます。
単に「何株買うか」という問題ではなく、口座資金に対するリスク割合や期待値を考慮した調整が必要です。
✅ ロジカルに ロット サイズを決めたい方へ
感覚や勘ではなく、数学的に最適なサイズを導く方法も存在します。
気になる方は、こちらの記事で紹介している「 ケリー基準 」や「バルサラ 破産確率 」なども参考にしてみてください。
kabu API利用時の注意点まとめ|APIキー・ローカル設定の確認ポイント

- localhost:18080 は kabuステーションをローカル起動中である必要があります
- (設定 → API → 有効化済みにする)
- テスト時は、リアル取引に注意して金額や銘柄を確認しましょう
まとめ:JavaScriptでも株は買える!

この記事で紹介したように、JavaScriptとaxiosを使えば、たったこれだけのコードで株の注文が可能になります。
- Pine Scriptからのステップアップにも最適
- 筆者もNode.jsでボット運用中(実績あり)
今後は、売却注文・注文確認・板情報の取得など、さらに応用的な内容も紹介していきます。
まずはこの記事のコードを試して、**「コードで株が買えた!」という体験をしてみてください。
✅ ちなみに:まだ証券口座をお持ちでない方へ
kabuステーション API を使うには、三菱UFJ eスマート証券(旧カブコム)などの対応証券口座が必要です。口座開設は無料で、 API 取引を試したい方にもおすすめです。