株式注文
REQUEST I/F の利用制限
REQUEST I/F は一問一答方式です。要求を送信したら、応答を受信してから次の要求を送信してください。HTTP プロトコルの性質上、同時並列にリクエストを送ることは可能ですが、動作保証はされません。
また、要求データに含まれる送信通番(p_no)は、前回の送信通番より大きい値を設定する必要があります。同じまたは小さい値を送信するとエラーになります(ブラウザ等の自動再送による重複送信の回避機構です)。
新規注文
import requests
import json
order_params = json.dumps({
"sCLMID": "CLMKabuNewOrder",
"sZyoutoekiKazeiC": "3", # 特定口座
"sIssueCode": "6501", # 銘柄コード
"sSizyouC": "00", # 東証
"sBaibaiKubun": "3", # 買
"sCondition": "0", # 指定なし
"sOrderPrice": "1500", # 指値 1,500円
"sOrderSuryou": "100", # 100株
"sGenkinShinyouKubun": "0", # 現物
"sOrderExpireDay": "0", # 当日限り
"sGyakusasiOrderType": "0", # 通常注文
"sSecondPassword": "",
})
response = requests.get(url_request, params=order_params)
result = response.json()
if result["sResultCode"] == "0":
print(f"注文番号: {result['sOrderNumber']}")
print(f"営業日: {result['sEigyouDay']}")
else:
print(f"注文失敗: {result['sResultText']}")
売買区分
| コード | 説明 |
|---|---|
1 | 買 |
3 | 売 |
5 | 新規(信用) |
7 | 返済(信用) |
執行条件
| コード | 説明 |
|---|---|
0 | 指定なし |
2 | 引け |
4 | 寄付 |
6 | 不成 |
注文訂正
変更しないフィールドには "*" を指定します。
correct_params = json.dumps({
"sCLMID": "CLMKabuCorrectOrder",
"sOrderNumber": "20250317-001",
"sEigyouDay": "20250317",
"sOrderPrice": "1600", # 価格を変更
"sOrderSuryou": "*", # 変更なし
"sCondition": "*", # 変更なし
"sOrderExpireDay": "*", # 変更なし
"sGyakusasiZyouken": "*", # 変更なし
"sGyakusasiPrice": "*", # 変更なし
"sSecondPassword": "",
})
response = requests.get(url_request, params=correct_params)
注文取消
cancel_params = json.dumps({
"sCLMID": "CLMKabuCancelOrder",
"sOrderNumber": "20250317-001",
"sEigyouDay": "20250317",
"sSecondPassword": "",
})
response = requests.get(url_request, params=cancel_params)
全注文取消
cancel_all_params = json.dumps({
"sCLMID": "CLMKabuCancelOrderAll",
"sSecondPassword": "",
})
response = requests.get(url_request, params=cancel_all_params)