Documentation
¶
Index ¶
- Variables
- func APIKey() string
- func OpenQuote(handlers ...func(Quote)) (closeFunc func(), err error)
- func SetAPIKey(k string)
- func SetBaseURL(u string)
- func SetHTTPClient(c *http.Client)
- type APIError
- type ErrorResponse
- type Handler
- type Quote
- type ReqGetInfoOrders
- type ReqGetInfoPositions
- type ReqGetInfoSymbolnameFuture
- type ReqPostAuthToken
- type ReqPostOrderSendorderFuture
- type ReqPutOrderCancelorder
- type ReqPutRegisterRegister
- type ReqPutRegisterUnregister
- type ReqPutRegisterUnregisterAll
- type ResGetInfoOrders
- type ResGetInfoPositions
- type ResGetInfoSymbolnameFuture
- type ResPostAuthToken
- type ResPostOrderSendorderFuture
- type ResPutOrderCancelorder
- type ResPutRegisterRegister
- type ResPutRegisterUnregister
- type ResPutRegisterUnregisterAll
Constants ¶
This section is empty.
Variables ¶
var BaseURL = "http://localhost:18080/kabusapi"
BaseURL は API のベースURL。 変更したい場合は SetBaseURL("http://localhost:18081/kabusapi") のように設定してください。
var HTTPClient = &http.Client{Timeout: 30 * time.Second}
HTTPClient は REST 呼び出しに使用されるクライアントです。必要に応じて差し替え可能です。
Functions ¶
func APIKey ¶
func APIKey() string
APIKey は現在設定されているトークンを返します。
機能:
- SetAPIKey で保持した X-API-KEY 用トークンを参照する。
引数:
- なし。
返り値:
- string: 現在保持している API トークン。未設定の場合は空文字。
func OpenQuote ¶
OpenQuote は WebSocket に接続して板情報を受信し、ハンドラーへ配信します。
機能:
- kabuステーションの WebSocket エンドポイントへ接続し、受信した Quote を逐次ハンドラーへ渡す。
- 返された closeFunc を呼び出すことで受信ループと接続を安全に終了できる。
引数:
- handlers (...func(Quote)): 受信した Quote を処理するコールバック。nil は無視される。
返り値:
- closeFunc (func()): 接続と受信を停止させるための関数。
- err (error): 初回接続に失敗した場合のエラー。
func SetAPIKey ¶
func SetAPIKey(k string)
SetAPIKey は X-API-KEY ヘッダー用のトークンを設定します。
機能:
- API 呼び出し時に利用するトークンを上書きして保持する。
引数:
- k (string): 新しく設定する API トークン。
返り値:
- なし。
func SetBaseURL ¶
func SetBaseURL(u string)
SetBaseURL は BaseURL を差し替えます。
機能:
- API の送信先となるベース URL を上書きし、末尾のスラッシュを除去する。
引数:
- u (string): 新しいベース URL。空文字は無視される。
返り値:
- なし。
func SetHTTPClient ¶
SetHTTPClient は使用する http.Client を差し替えます。
機能:
- REST 呼び出しに使用する HTTP クライアントを任意の設定に置き換える。
引数:
- c (*http.Client): 使用したいクライアント。nil の場合は既定を維持。
返り値:
- なし。
Types ¶
type APIError ¶
type APIError struct {
StatusCode int // HTTPステータスコード
Code int // API固有のエラーコード
Message string // APIメッセージ
Body string // 生のレスポンスボディ
}
APIError は非2xxのHTTPレスポンスを表すエラーです。
type ErrorResponse ¶
type ErrorResponse struct {
Code int `json:"Code,omitempty"`
Message string `json:"Message,omitempty"`
}
ErrorResponse はエラー時のレスポンスボディです。
type Quote ¶
type Quote struct {
AskPrice float64 `json:"AskPrice"`
AskQty float64 `json:"AskQty"`
AskSign string `json:"AskSign"`
BidPrice float64 `json:"BidPrice"`
BidQty float64 `json:"BidQty"`
BidSign string `json:"BidSign"`
Buy1 struct {
Price float64 `json:"Price"`
Qty float64 `json:"Qty"`
Sign string `json:"Sign"`
} `json:"Buy1"`
Buy10 struct {
Price float64 `json:"Price"`
Qty float64 `json:"Qty"`
} `json:"Buy10"`
Buy2 struct {
Price float64 `json:"Price"`
Qty float64 `json:"Qty"`
} `json:"Buy2"`
Buy3 struct {
Price float64 `json:"Price"`
Qty float64 `json:"Qty"`
} `json:"Buy3"`
Buy4 struct {
Price float64 `json:"Price"`
Qty float64 `json:"Qty"`
} `json:"Buy4"`
Buy5 struct {
Price float64 `json:"Price"`
Qty float64 `json:"Qty"`
} `json:"Buy5"`
Buy6 struct {
Price float64 `json:"Price"`
Qty float64 `json:"Qty"`
} `json:"Buy6"`
Buy7 struct {
Price float64 `json:"Price"`
Qty float64 `json:"Qty"`
} `json:"Buy7"`
Buy8 struct {
Price float64 `json:"Price"`
Qty float64 `json:"Qty"`
} `json:"Buy8"`
Buy9 struct {
Price float64 `json:"Price"`
Qty float64 `json:"Qty"`
} `json:"Buy9"`
CalcPrice float64 `json:"CalcPrice"`
ChangePreviousClose float64 `json:"ChangePreviousClose"`
ChangePreviousClosePer float64 `json:"ChangePreviousClosePer"`
ClearingPrice float64 `json:"ClearingPrice"`
CurrentPrice float64 `json:"CurrentPrice"`
CurrentPriceChangeStatus string `json:"CurrentPriceChangeStatus"`
CurrentPriceStatus float64 `json:"CurrentPriceStatus"`
CurrentPriceTime time.Time `json:"CurrentPriceTime"`
Exchange float64 `json:"Exchange"`
ExchangeName string `json:"ExchangeName"`
HighPrice float64 `json:"HighPrice"`
HighPriceTime time.Time `json:"HighPriceTime"`
LowPrice float64 `json:"LowPrice"`
LowPriceTime time.Time `json:"LowPriceTime"`
OpeningPrice float64 `json:"OpeningPrice"`
OpeningPriceTime time.Time `json:"OpeningPriceTime"`
PreviousClose float64 `json:"PreviousClose"`
PreviousCloseTime time.Time `json:"PreviousCloseTime"`
SecurityType float64 `json:"SecurityType"`
Sell1 struct {
Price float64 `json:"Price"`
Qty float64 `json:"Qty"`
Sign string `json:"Sign"`
} `json:"Sell1"`
Sell10 struct {
Price float64 `json:"Price"`
Qty float64 `json:"Qty"`
} `json:"Sell10"`
Sell2 struct {
Price float64 `json:"Price"`
Qty float64 `json:"Qty"`
} `json:"Sell2"`
Sell3 struct {
Price float64 `json:"Price"`
Qty float64 `json:"Qty"`
} `json:"Sell3"`
Sell4 struct {
Price float64 `json:"Price"`
Qty float64 `json:"Qty"`
} `json:"Sell4"`
Sell5 struct {
Price float64 `json:"Price"`
Qty float64 `json:"Qty"`
} `json:"Sell5"`
Sell6 struct {
Price float64 `json:"Price"`
Qty float64 `json:"Qty"`
} `json:"Sell6"`
Sell7 struct {
Price float64 `json:"Price"`
Qty float64 `json:"Qty"`
} `json:"Sell7"`
Sell8 struct {
Price float64 `json:"Price"`
Qty float64 `json:"Qty"`
} `json:"Sell8"`
Sell9 struct {
Price float64 `json:"Price"`
Qty float64 `json:"Qty"`
} `json:"Sell9"`
Symbol string `json:"Symbol"`
SymbolName string `json:"SymbolName"`
TradingValue float64 `json:"TradingValue"`
TradingVolume float64 `json:"TradingVolume"`
TradingVolumeTime time.Time `json:"TradingVolumeTime"`
VWAP float64 `json:"VWAP"`
}
Websocket受信データ
type ReqGetInfoOrders ¶
type ReqGetInfoOrders struct {
// 取得する商品 定義値 説明 0 すべて 1 現物 2 信用 3 先物 4 OP
Product string `json:"-" query:"product"`
// 注文番号 ※指定された注文番号と一致する注文のみレスポンスします。 ※指定された注文番号との比較では大文字小文字を区別しません。 ※複数の注文番号を指定することはできません。
ID string `json:"-" query:"id"`
// 更新日時 ※形式:yyyyMMddHHmmss (例:20201201123456) ※指定された更新日時以降(指定日時含む)に更新された注文のみレスポンスします。 ※複数の更新日時を指定することはできません。
Updtime string `json:"-" query:"updtime"`
// 注文詳細抑止 定義値 説明 true 注文詳細を出力する(デフォルト) false 注文詳細の出力しない
Details string `json:"-" query:"details"`
// 銘柄コード ※指定された銘柄コードと一致する注文のみレスポンスします。 ※複数の銘柄コードを指定することができません。
Symbol string `json:"-" query:"symbol"`
// 状態 ※指定された状態と一致する注文のみレスポンスします。 ※フィルタには数字の入力のみ受け付けます。 ※複数の状態を指定することはできません。 定義値 説明 1 待機(発注待機) 2 処理中(発注送信中) 3 処理済(発注済・訂正済) 4 訂正取消送信中 5 終了(発注エラー・取消済・全約定・失効・期限切れ)
State string `json:"-" query:"state"`
// 売買区分 ※指定された売買区分と一致する注文のみレスポンスします。 ※フィルタには数字の入力のみ受け付けます。 ※複数の売買区分を指定することができません。 定義値 説明 1 売 2 買
Side string `json:"-" query:"side"`
// 取引区分 ※指定された取引区分と一致する注文のみレスポンスします。 ※フィルタには数字の入力のみ受け付けます。 ※複数の取引区分を指定することができません。 定義値 説明 2 新規 3 返済
Cashmargin string `json:"-" query:"cashmargin"`
}
ReqGetInfoOrders は **GET /orders** のリクエスト。
注文約定照会
- 認証: 必須(X-API-KEY ヘッダー)
type ReqGetInfoPositions ¶
type ReqGetInfoPositions struct {
// 取得する商品 定義値 説明 0 すべて 1 現物 2 信用 3 先物 4 OP
Product string `json:"-" query:"product"`
// 銘柄コード ※指定された銘柄コードと一致するポジションのみレスポンスします。 ※複数の銘柄コードを指定することはできません。
Symbol string `json:"-" query:"symbol"`
// 売買区分フィルタ 指定された売買区分と一致する注文を返す 定義値 説明 1 売 2 買
Side string `json:"-" query:"side"`
// 追加情報出力フラグ(未指定時:true) ※追加情報は、「現在値」、「評価金額」、「評価損益額」、「評価損益率」を意味します。 定義値 説明 true 追加情報を出力する false 追加情報を出力しない
Addinfo string `json:"-" query:"addinfo"`
}
ReqGetInfoPositions は **GET /positions** のリクエスト。
残高照会
- 認証: 必須(X-API-KEY ヘッダー)
type ReqGetInfoSymbolnameFuture ¶
type ReqGetInfoSymbolnameFuture struct {
// 先物コード ※大文字小文字は区別しません。 定義値 説明 NK225 日経平均先物 NK225mini 日経225mini先物 TOPIX TOPIX先物 TOPIXmini ミニTOPIX先物 GROWTH グロース250先物 JPX400 JPX日経400先物 DOW NYダウ先物 VI 日経平均VI先物 Core30 TOPIX Core30先物 REIT 東証REIT指数先物 NK225micro 日経225マイクロ先物
FutureCode string `json:"-" query:"FutureCode"`
// 限月 ※限月はyyyyMM形式で指定します。0を指定した場合、直近限月となります。 ※取引最終日に「0」(直近限月)を指定した場合、日中・夜間の時間帯に関わらず、 取引最終日を迎える限月の銘柄コードを返します。取引最終日を迎える銘柄の取引は日中取引をもって終了となりますので、ご注意ください。
DerivMonth string `json:"-" query:"DerivMonth" required:"true"`
}
ReqGetInfoSymbolnameFuture は **GET /symbolname/future** のリクエスト。
先物銘柄コード取得
- 認証: 必須(X-API-KEY ヘッダー)
type ReqPostAuthToken ¶
type ReqPostAuthToken struct {
// APIパスワード
APIPassword string `json:"APIPassword" validate:"required"`
}
ReqPostAuthToken は **POST /token** のリクエスト。
### 概要 トークン発行
type ReqPostOrderSendorderFuture ¶
type ReqPostOrderSendorderFuture struct {
// Symbol は先物銘柄コード。
// 取引最終日に DerivMonth=0(直近限月)を指定した場合は最終日の限月コードが返るため、日中引けで取引終了となる点に注意。
Symbol string `json:"Symbol" validate:"required"`
// Exchange は市場コード。2:日通し、23:日中、24:夜間、32:SOR日通し、33:SOR日中、34:SOR夜間。
// SOR は日経225先物(ラージ/ミニ)、TOPIX(ラージ/ミニ)、東証マザーズ指数、JPX日経400、NYダウなど一部銘柄のみ有効。
Exchange int `json:"Exchange" validate:"required"`
// TradeType は取引区分。1:新規、2:返済。
TradeType int `json:"TradeType" validate:"required"`
// TimeInForce は有効期間条件。1:FAS、2:FAK、3:FOK。
// FrontOrderType および市場コードとの組み合わせに制限があるため、必要に応じて仕様書の対応表を参照する。
TimeInForce int `json:"TimeInForce" validate:"required"`
// Side は売買区分。1:売、2:買。
Side string `json:"Side" validate:"required"`
// Qty は注文数量。
Qty int `json:"Qty" validate:"required"`
// ClosePositionOrder は決済順序。0:日付古→損益高、1:日付古→損益低、2:日付新→損益高、3:日付新→損益低、
// 4:損益高→日付古、5:損益高→日付新、6:損益低→日付古、7:損益低→日付新。ClosePositions との同時指定は不可。
ClosePositionOrder int `json:"ClosePositionOrder,omitempty"`
// ClosePositions は返済建玉を個別指定する。ClosePositionOrder と排他。
ClosePositions []struct {
HoldID string `json:"HoldID,omitempty"` // 返済建玉ID。
Qty int `json:"Qty,omitempty"` // 返済建玉数量。
} `json:"ClosePositions,omitempty"`
// FrontOrderType は執行条件。18:引成(TimeInForce は FAK のみ)、20:指値、28:引指(TimeInForce は FAS のみ)、
// 30:逆指値(AfterHitPrice 側で価格を指定)、120:成行(Price は 0 を指定)。
FrontOrderType int `json:"FrontOrderType" validate:"required"`
// Price は注文価格。成行や引成では 0 を指定し、その他は発注したい単価を設定する。
Price float64 `json:"Price" validate:"required"`
// ExpireDay は注文有効期限の日付。yyyyMMdd 形式、0 は「本日」扱い(市場の引け後は翌取引所営業日、休前日は休日明け)。
// 日替わりは kabu ステーション側の日付更新タイミングに従う。
ExpireDay int `json:"ExpireDay" validate:"required"`
// ReverseLimitOrder は FrontOrderType=逆指値のときに設定する条件。
ReverseLimitOrder *struct {
TriggerPrice float64 `json:"TriggerPrice,omitempty"` // TriggerPrice は逆指値の発動価格。未設定や数値以外はエラー。
UnderOver int `json:"UnderOver,omitempty"` // UnderOver は発動条件。1:以下、2:以上。未設定や 1/2 以外はエラー。
AfterHitOrderType int `json:"AfterHitOrderType,omitempty"` // AfterHitOrderType はヒット後の執行条件。1:成行、2:指値。日通しでは 2 のみ有効、日中/夜間では 1 または 2 を指定。逆指値成行は TimeInForce=FAK、逆指値指値は TimeInForce=FAS を指定する。
AfterHitPrice float64 `json:"AfterHitPrice"` // AfterHitPrice はヒット後の価格。成行なら 0、指値なら単価を指定。未設定や数値以外はエラー。
} `json:"ReverseLimitOrder,omitempty"`
}
ReqPostOrderSendorderFuture は **POST /sendorder/future** のリクエストボディ。
概要:
- 先物銘柄の新規・返済注文を発注する。
- X-API-KEY ヘッダーによる認証が必須。
- 同一銘柄での同時発注は 5 件程度までを推奨。
type ReqPutOrderCancelorder ¶
type ReqPutOrderCancelorder struct {
// 注文番号<br>sendorderのレスポンスで受け取るOrderID。
OrderId string `json:"OrderId" validate:"required"`
}
ReqPutOrderCancelorder は **PUT /cancelorder** のリクエスト。
### 概要 注文取消
- 認証: 必須(X-API-KEY ヘッダー)
type ReqPutRegisterRegister ¶
type ReqPutRegisterRegister struct {
Symbols []struct {
Symbol string `json:"Symbol,omitempty"` // 銘柄コード
// Exchange は市場コード。
// - 1: 東証
// - 3: 名証
// - 5: 福証
// - 6: 札証
// - 2: 日通し
// - 23: 日中
// - 24: 夜間
Exchange int `json:"Exchange,omitempty"`
} `json:"Symbols"`
}
ReqPutRegisterRegister は PUT /register のリクエストボディ。
- 用途: PUSH 配信対象の銘柄を登録する
- 認証: 必須(X-API-KEY ヘッダー)
type ReqPutRegisterUnregister ¶
type ReqPutRegisterUnregister struct {
// 為替銘柄を登録解除する場合の指定:
// - Symbol: 通貨A/通貨B(例: EUR/USD)
// - Exchange: 300
Symbols []struct {
Symbol string `json:"Symbol,omitempty"` // 銘柄コード
// Exchange は市場コード。
// - 1: 東証
// - 3: 名証
// - 5: 福証
// - 6: 札証
// - 2: 日通し
// - 23: 日中
// - 24: 夜間
// - 300: 為替(通貨ペア)
Exchange int `json:"Exchange,omitempty"`
} `json:"Symbols"`
}
ReqPutRegisterUnregister は PUT /unregister のリクエストボディ。
- 用途: PUSH 登録した銘柄を個別に解除する
- 認証: 必須(X-API-KEY ヘッダー)
type ReqPutRegisterUnregisterAll ¶
type ReqPutRegisterUnregisterAll struct {
}
ReqPutRegisterUnregisterAll は PUT /unregister/all のリクエストボディ。
- 用途: 登録済み銘柄を全件解除する
- 認証: 必須(X-API-KEY ヘッダー)
type ResGetInfoOrders ¶
type ResGetInfoOrders []struct {
// 注文番号
ID string `json:"ID,omitempty"`
// 状態 ※OrderState と同一。1:待機 2:処理中 3:処理済 4:訂正取消送信中 5:終了
State int `json:"State,omitempty"`
// 注文状態 ※State と同一。1:待機 2:処理中 3:処理済 4:訂正取消送信中 5:終了
OrderState int `json:"OrderState,omitempty"`
// 執行条件 1:ザラバ 2:寄り 3:引け 4:不成 5:対当指値 6:IOC
OrdType int `json:"OrdType,omitempty"`
// 受注日時
RecvTime string `json:"RecvTime,omitempty"`
// 銘柄コード
Symbol string `json:"Symbol,omitempty"`
// 銘柄名
SymbolName string `json:"SymbolName,omitempty"`
// 市場コード 1:東証 3:名証 5:福証 6:札証 9:SOR 27:東証+ 2:日通し 23:日中 24:夜間
Exchange int `json:"Exchange,omitempty"`
// 市場名
ExchangeName string `json:"ExchangeName,omitempty"`
// 有効期間条件 ※先物・オプション銘柄の場合のみ 1:FAS 2:FAK 3:FOK
TimeInForce int `json:"TimeInForce,omitempty"`
// 値段
Price float64 `json:"Price,omitempty"`
// 発注数量 ※期限切れや失効でもゼロにはならない
OrderQty float64 `json:"OrderQty,omitempty"`
// 約定数量
CumQty float64 `json:"CumQty,omitempty"`
// 売買区分 1:売 2:買
Side string `json:"Side,omitempty"`
// 取引区分 2:新規 3:返済
CashMargin int `json:"CashMargin,omitempty"`
// 口座種別 2:一般 4:特定 12:法人
AccountType int `json:"AccountType,omitempty"`
// 受渡区分 2:お預り金 3:auマネーコネクト
DelivType int `json:"DelivType,omitempty"`
// 注文有効期限 yyyyMMdd 形式
ExpireDay int `json:"ExpireDay,omitempty"`
// 信用取引区分 1:制度信用 2:一般信用(長期) 3:一般信用(デイトレ)
MarginTradeType int `json:"MarginTradeType,omitempty"`
// プレミアム料 ※信用を注文した際に表示
MarginPremium float64 `json:"MarginPremium,omitempty"`
// 注文詳細
Details []struct {
// 注文明細レコードの生成順序。通番ではないが大小による順序は維持される。
SeqNum int `json:"SeqNum,omitempty"`
// 注文詳細番号
ID string `json:"ID,omitempty"`
// 明細種別 1:受付 2:繰越 3:期限切れ 4:発注 5:訂正 6:取消 7:失効 8:約定
RecType int `json:"RecType,omitempty"`
// 取引所番号
ExchangeID string `json:"ExchangeID,omitempty"`
// 状態 1:待機 2:処理中 3:処理済 4:エラー 5:削除済み
State int `json:"State,omitempty"`
// 処理時刻
TransactTime string `json:"TransactTime,omitempty"`
// 執行条件 null:取消 / 0:期限切れ・失効・約定 / 1:ザラバ / 2:寄り / 3:引け / 4:不成 / 5:対当指値 / 6:IOC
OrdType int `json:"OrdType,omitempty"`
// 値段
Price float64 `json:"Price,omitempty"`
// 数量
Qty float64 `json:"Qty,omitempty"`
// 約定番号
ExecutionID string `json:"ExecutionID,omitempty"`
// 約定日時
ExecutionDay string `json:"ExecutionDay,omitempty"`
// 受渡日
DelivDay int `json:"DelivDay,omitempty"`
// 手数料 ※明細種別が約定(RecType=8)の場合に設定
Commission float64 `json:"Commission,omitempty"`
// 手数料消費税 ※明細種別が約定(RecType=8)の場合に設定
CommissionTax float64 `json:"CommissionTax,omitempty"`
} `json:"Details,omitempty"`
}
ResGetInfoOrders は **GET /orders** のレスポンス。
注文約定照会
func GetInfoOrders ¶
func GetInfoOrders(req ReqGetInfoOrders) (code int, res ResGetInfoOrders, err error)
GetInfoOrders は **GET /orders** を呼び出して注文・約定状況を取得します。
機能:
- 商品区分や注文番号などで絞り込み、現在の注文一覧を取得する。
引数:
- req (ReqGetInfoOrders): 注文照会の絞り込み条件。
返り値:
- code (int): HTTP ステータスコード。
- res (ResGetInfoOrders): 注文・約定に関する情報。
- err (error): 通信エラーまたは APIError。
type ResGetInfoPositions ¶
type ResGetInfoPositions []struct {
// 約定番号 ※現物取引では、nullが返ります。
ExecutionID string `json:"ExecutionID,omitempty"`
// 口座種別 2:一般 4:特定 12:法人
AccountType int `json:"AccountType,omitempty"`
// 銘柄コード
Symbol string `json:"Symbol,omitempty"`
// 銘柄名
SymbolName string `json:"SymbolName,omitempty"`
// 市場コード 1:東証 3:名証 5:福証 6:札証 9:SOR 27:東証+ 2:日通し 23:日中 24:夜間
Exchange int `json:"Exchange,omitempty"`
// 市場名
ExchangeName string `json:"ExchangeName,omitempty"`
// 銘柄種別 ※先物・オプション銘柄の場合のみ 0:指数 1:現物 101:日経225先物 103:日経225OP 107:TOPIX先物 121:JPX400先物 144:NYダウ 145:日経平均VI 154:グロース250先物 155:TOPIX_REIT 171:TOPIX CORE30 901:日経平均225ミニ先物 907:TOPIXミニ先物
SecurityType int `json:"SecurityType,omitempty"`
// 約定日(建玉日) ※信用・先物・オプションの場合のみ ※現物取引では、nullが返ります。
ExecutionDay int `json:"ExecutionDay,omitempty"`
// 値段
Price float64 `json:"Price,omitempty"`
// 残数量(保有数量)
LeavesQty float64 `json:"LeavesQty,omitempty"`
// 拘束数量(返済のために拘束されている数量)
HoldQty float64 `json:"HoldQty,omitempty"`
// 売買区分 1:売 2:買
Side string `json:"Side,omitempty"`
// 諸経費 ※信用・先物・オプションの場合のみ
Expenses float64 `json:"Expenses,omitempty"`
// 手数料 ※信用・先物・オプションの場合のみ
Commission float64 `json:"Commission,omitempty"`
// 手数料消費税 ※信用・先物・オプションの場合のみ
CommissionTax float64 `json:"CommissionTax,omitempty"`
// 返済期日 ※信用・先物・オプションの場合のみ
ExpireDay int `json:"ExpireDay,omitempty"`
// 信用取引区分 ※信用の場合のみ 1:制度信用 2:一般信用(長期) 3:一般信用(デイトレ)
MarginTradeType int `json:"MarginTradeType,omitempty"`
// 現在値 追加情報出力フラグ:falseの場合、null
CurrentPrice float64 `json:"CurrentPrice,omitempty"`
// 評価金額 追加情報出力フラグ:falseの場合、null
Valuation float64 `json:"Valuation,omitempty"`
// 評価損益額 追加情報出力フラグ:falseの場合、null
ProfitLoss float64 `json:"ProfitLoss,omitempty"`
// 評価損益率 追加情報出力フラグ:falseの場合、null
ProfitLossRate float64 `json:"ProfitLossRate,omitempty"`
}
ResGetInfoPositions は **GET /positions** のレスポンス。
残高照会
func GetInfoPositions ¶
func GetInfoPositions(req ReqGetInfoPositions) (code int, res ResGetInfoPositions, err error)
GetInfoPositions は **GET /positions** を呼び出して建玉残高を取得します。
機能:
- 商品区分や銘柄、保有区分でフィルタし、保有中の建玉一覧を取得する。
引数:
- req (ReqGetInfoPositions): 残高照会の絞り込み条件。
返り値:
- code (int): HTTP ステータスコード。
- res (ResGetInfoPositions): 建玉残高の一覧。
- err (error): 通信エラーまたは APIError。
type ResGetInfoSymbolnameFuture ¶
type ResGetInfoSymbolnameFuture struct {
// 銘柄コード
Symbol string `json:"Symbol,omitempty"`
// 銘柄名称
SymbolName string `json:"SymbolName,omitempty"`
}
ResGetInfoSymbolnameFuture は **GET /symbolname/future** のレスポンス。
先物銘柄コード取得
func GetInfoSymbolnameFuture ¶
func GetInfoSymbolnameFuture(req ReqGetInfoSymbolnameFuture) (code int, res ResGetInfoSymbolnameFuture, err error)
GetInfoSymbolnameFuture は **GET /symbolname/future** を呼び出して先物銘柄コードを取得します。
機能:
- 先物銘柄コード区分や限月指定に基づき、取引可能な先物銘柄コード一覧を取得する。
引数:
- req (ReqGetInfoSymbolnameFuture): 先物コード区分や限月、取引日を指定するリクエスト。
返り値:
- code (int): HTTP ステータスコード。
- res (ResGetInfoSymbolnameFuture): 取得した先物銘柄コード情報。
- err (error): 通信エラーまたは APIError。
type ResPostAuthToken ¶
type ResPostAuthToken struct {
// 結果コード<br>0が成功。それ以外はエラーコード。
ResultCode int `json:"ResultCode,omitempty"`
// APIトークン
Token string `json:"Token,omitempty"`
}
ResPostAuthToken は **POST /token** のレスポンス。
### 概要 トークン発行
func PostAuthToken ¶
func PostAuthToken(req ReqPostAuthToken) (code int, res ResPostAuthToken, err error)
PostAuthToken は **POST /token** を実行し、API トークンを発行します。
機能:
- kabuステーション API のトークン発行エンドポイントへリクエストを送り、新規トークンを取得する。
引数:
- req (ReqPostAuthToken): API パスワードを含むリクエストボディ。
返り値:
- code (int): HTTP ステータスコード。
- res (ResPostAuthToken): 発行結果コードと取得したトークン。
- err (error): 通信エラーまたは APIError。
type ResPostOrderSendorderFuture ¶
type ResPostOrderSendorderFuture struct {
// 結果コード<br>0が成功。それ以外はエラーコード。
Result int `json:"Result,omitempty"`
// 受付注文番号
OrderId string `json:"OrderId,omitempty"`
}
ResPostOrderSendorderFuture は **POST /sendorder/future** のレスポンス。
### 概要 注文発注(先物)
func PostOrderSendorderFuture ¶
func PostOrderSendorderFuture(req ReqPostOrderSendorderFuture) (code int, res ResPostOrderSendorderFuture, err error)
PostOrderSendorderFuture は **POST /sendorder/future** を実行し、先物の注文を発注します。
機能:
- 取引区分や数量、執行条件などを指定し、先物取引の新規・返済注文を送信する。
引数:
- req (ReqPostOrderSendorderFuture): 先物注文の内容をまとめたリクエスト。
返り値:
- code (int): HTTP ステータスコード。
- res (ResPostOrderSendorderFuture): 受付結果と注文番号。
- err (error): 通信エラーまたは APIError。
type ResPutOrderCancelorder ¶
type ResPutOrderCancelorder struct {
// 結果コード<br>0が成功。それ以外はエラーコード。
Result int `json:"Result,omitempty"`
// 受付注文番号
OrderId string `json:"OrderId,omitempty"`
}
ResPutOrderCancelorder は **PUT /cancelorder** のレスポンス。
### 概要 注文取消
func PutOrderCancelorder ¶
func PutOrderCancelorder(req ReqPutOrderCancelorder) (code int, res ResPutOrderCancelorder, err error)
PutOrderCancelorder は **PUT /cancelorder** を実行し、既存注文を取り消します。
機能:
- 受付済みの注文番号を指定して、発注済みの注文をキャンセルする。
引数:
- req (ReqPutOrderCancelorder): 取消対象の OrderId を含むリクエスト。
返り値:
- code (int): HTTP ステータスコード。
- res (ResPutOrderCancelorder): 取消結果と注文番号。
- err (error): 通信エラーまたは APIError。
type ResPutRegisterRegister ¶
type ResPutRegisterRegister struct {
// 現在登録されている銘柄のリスト
RegistList []struct {
Symbol string `json:"Symbol,omitempty"` // 銘柄コード
// Exchange は市場コード。
// - 1: 東証
// - 3: 名証
// - 5: 福証
// - 6: 札証
// - 2: 日通し
// - 23: 日中
// - 24: 夜間
Exchange int `json:"Exchange,omitempty"`
} `json:"RegistList,omitempty"`
}
ResPutRegisterRegister は PUT /register のレスポンス。
- 返却内容: 登録済み銘柄リスト
func PutRegisterRegister ¶
func PutRegisterRegister(req ReqPutRegisterRegister) (code int, res ResPutRegisterRegister, err error)
PutRegisterRegister は **PUT /register** を実行し、PUSH 配信対象の銘柄を登録します。
機能:
- PUSH 配信で受信したい銘柄と市場コードのリストを API 登録銘柄リストに追加する。
引数:
- req (ReqPutRegisterRegister): 登録する銘柄コードと市場コードの配列。
返り値:
- code (int): HTTP ステータスコード。
- res (ResPutRegisterRegister): 登録後の銘柄リスト。
- err (error): 通信エラーまたは APIError。
type ResPutRegisterUnregister ¶
type ResPutRegisterUnregister struct {
// 現在登録されている銘柄のリスト
RegistList []struct {
Symbol string `json:"Symbol,omitempty"` // 銘柄コード
// Exchange は市場コード。
// - 1: 東証
// - 3: 名証
// - 5: 福証
// - 6: 札証
// - 2: 日通し
// - 23: 日中
// - 24: 夜間
// - 300: 為替(通貨ペア)
Exchange int `json:"Exchange,omitempty"`
} `json:"RegistList,omitempty"`
}
ResPutRegisterUnregister は PUT /unregister のレスポンス。
- 返却内容: 登録解除後の銘柄リスト
func PutRegisterUnregister ¶
func PutRegisterUnregister(req ReqPutRegisterUnregister) (code int, res ResPutRegisterUnregister, err error)
PutRegisterUnregister は **PUT /unregister** を実行し、指定銘柄の PUSH 登録を解除します。
機能:
- API 登録銘柄リストに登録済みの銘柄を指定し、PUSH 配信対象から削除する。
引数:
- req (ReqPutRegisterUnregister): 解除対象の銘柄コードと市場コードのリスト。
返り値:
- code (int): HTTP ステータスコード。
- res (ResPutRegisterUnregister): 解除後の登録銘柄リスト。
- err (error): 通信エラーまたは APIError。
type ResPutRegisterUnregisterAll ¶
type ResPutRegisterUnregisterAll struct {
// 現在登録されている銘柄のリスト。
// - 全解除が成功した場合は空。
// - エラーがある場合は解除前の登録銘柄を返す。
RegistList []interface{}
}
ResPutRegisterUnregisterAll は PUT /unregister/all のレスポンス。
- 返却内容: 全解除後の登録銘柄リスト
func PutRegisterUnregisterAll ¶
func PutRegisterUnregisterAll(req ReqPutRegisterUnregisterAll) (code int, res ResPutRegisterUnregisterAll, err error)
PutRegisterUnregisterAll は **PUT /unregister/all** を実行し、登録銘柄を一括解除します。
機能:
- API 登録銘柄リストに登録されている全銘柄を PUSH 配信対象からまとめて削除する。
引数:
- req (ReqPutRegisterUnregisterAll): 全解除を指示する空のリクエスト。
返り値:
- code (int): HTTP ステータスコード。
- res (ResPutRegisterUnregisterAll): 解除後の登録銘柄リスト。
- err (error): 通信エラーまたは APIError。