kabucom / kabusapi Goto Github PK
View Code? Open in Web Editor NEWkabuステーションAPI ポータル
Home Page: https://kabucom.github.io/kabusapi/ptal/
License: MIT License
kabuステーションAPI ポータル
Home Page: https://kabucom.github.io/kabusapi/ptal/
License: MIT License
EXCELのアドインがツールバーに表示されず困っています。
32bit版は正常に動いたのですが、64bit版の別のエクセルでも使用できるようにセッティングしたところ、ツールバーにアドインが表示されません。
一部ファイルがダウンロード時にブロックされてしまっており、それが原因でインストールに失敗した可能性があります。
KabuSuteAddin.dllがブロックされていたようです。アドインインストール後それに気づいてダウンロードしましたがアドインは表示されません。
また、再インストールしたいのですが、コントロールパネルのプログラムのアンインストール又は変更にアドインが表示されないためアンインストールできません。
また、有効なアドインにカブステの64bit用アドインは表示されており、選択はできています。選択を外して、参照から再度64bit用ファイルのパスを選択、上書きしても症状は解消されません。
エクセルは2019です。
対応方法を回答いただけないでしょうか。よろしくお願いします。
返却されるデータにおいて、現行は秒までのデータと認識しています。
WebSocketのPUSH配信の場合ですと、1秒の間に複数回通知を受けることがあり
受信データの前後関係を適切に管理するため、タイムスタンプについてミリ秒への対応を要望いたします。
本APIを利用したシステムを自作する場合は問題ないかと思うのですが、
本APIを利用した自作の自動売買システムを他社に販売することについて、御社の許可が必要というレギュレーションはあるのでしょうか?
法人によるAPI契約は審査等がおありの様ですが、伺えたら幸いです。
一般信用の売り銘柄の一部には、注文有効期限を当日しか指定できないものがあります。
そのような銘柄については、土日祝日や発注する時間帯を考慮して発注有効期限を決定する必要があり、誤発注の原因となります。
そこで、ExpireDayに当日のみを指定できる仕様と追加していただきたい。
ExpireDay | integer 必須注文有効期限yyyyMMdd形式
https://kabucom.github.io/kabusapi/reference/index.html#tag/info%2Fpaths%2F~1orders%2Fget
注文約定照会の正常系レスポンスに、 State
と OrderState
とがありますが、定義値が一致してます。
どのような違いがあるのでしょうか?
注文発注で現物の注文を出したところ、下記エラーが返されました
預り区分はリファレンスでいう資産区分のことだとは思うのですが、何が問題なのかが分かりません。
発注エラーコードの一覧を参照できるページはありませんでしょうか?
銘柄を登録するため、下記のコードを作成したのですが、動作しません。(指定されたコードが見つかりません。とダイアログが表示される)JsonConverter.ConvertToJsonに渡すパラメーターが間違っていると思っているのですが、どの部分に誤りがあるのか回答をいただけると幸いです。
また、Pythonのコードをみると、複数銘柄同時に登録が可能なようなので、その方法もご教示いただけると助かります。
さらに、Pythonでは下記のようなコードが公開されていますが、VBAでもこれらのコードを公開していただけないでしょうか。
よろしくお願いいたします。
kabusapi_orders.py
kabusapi_positions.py
kabusapi_register.py
kabusapi_register1.py
・・・
Public Function regset(code As Variant, ex As Variant) As Variant '引数:code 銘柄コード,ex 取引所
Dim objHTTP As Object
Set objHTTP = CreateObject("msxml2.xmlhttp")
Dim param(1) '←通常Dim param(2)と思われるが、2にするとJsonConverter.ConvertToJson(param)で、3つ目の要素にnull値が入って返ってきます。
param(0) = "Symbol: 7203"
param(1) = "Exchange: 1"
objHTTP.Open "PUT", "http://localhost:" & PortNo & "/kabusapi/register", False
objHTTP.setRequestHeader "Content-Type", "application/json"
objHTTP.setRequestHeader "X-API-KEY", ApiToken
objHTTP.send JsonConverter.ConvertToJson(param)
End Function
kabuSTATION_API_ORDER_sample.xlsmに下記コードについてですが、 ClosePositionListで一括注文するように見受けられますが、単一発注しかできません。ClosePositionList(i) の配列を作る意味を教えていただけないでしょうか?
よろしくお願いします。
If ClosePositionCount > 0 Then
Dim row As Integer
row = RowNo
For i = 0 To (ClosePositionCount - 1)
Dim dic As Object
Set dic = CreateObject("Scripting.Dictionary")
dic.Add "HoldID", ActiveSheet.Cells(row, 信用_返済建玉ID)
dic.Add "Qty", ActiveSheet.Cells(row, 信用_返済建玉数量)
Set ClosePositionList(i) = dic
row = row + 1
Next
param("ClosePositions") = ClosePositionList
APIドキュメントにて、各種id類は ID
の命名を取っているようですが、 OrderId
だけ Id
の命名になっているようです。
これは正しい仕様でしょうか。
時価情報・板情報APIにて返却されるCalcPriceについて「計算用現値」という記載がありますが
これはどのような値でしょうか?
取引時間中であればCurrentPriceと一致する値となるでしょうか?
いつも、WEBから、信用取引で指値注文して、「Uターン」注文して、「約定±指値」でUターン注文を出しています。
このAPIで、そのように、「Uターン」注文まで出すことは可能でしょうか?
残高照会APIを叩くと500エラーが発生しました。
以下、KabuS_20200821.logに出力されたログです。
20:42:14.2643,E,3848,0016 リクエスト処理中のエラー
System.DivideByZeroException: 0 で除算しようとしました。
場所 System.Decimal.FCallDivide(Decimal& d1, Decimal& d2)
場所 System.Decimal.op_Division(Decimal d1, Decimal d2)
場所 TA.KC.Enterprise.ClientApplication.Infrastructure.Core.KabuSApi.ApiPositionsResult..ctor(Position oPosition, SymbolDetail symbolDetail, Nullable`1 currentPrice)
場所 TA.KC.Enterprise.ClientApplication.Infrastructure.Core.KabuSApi.ApiCashPositionsResult..ctor(Position oPosition, SymbolDetail symbolDetail, Nullable`1 currentPrice)
場所 ny.e(Int32 A_0, String A_1, Boolean A_2)
場所 tr.c(HttpListenerRequest A_0, HttpListenerResponse A_1, Boolean A_2)
場所 tr.b(HttpListenerContext A_0)
ご確認をよろしくお願いします。
お世話になっております。
カブコムの自動売買機能をエクセルでも使いたいのですが、対応しておりますでしょうか?
よろしくお願いします。
/tokenにおいて、リファレンスとレスポンスの値が異なっています。
{
"Result": 0,
"Token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}
実際のレスポンス
{
"ResultCode":0, <--
"Token":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}
配布されているkabuSTATION_API_ORDER_sample.xlsmを使って株式信用取引を検証しています。
新規買い注文→約定は確認しています。
返済のほうがうまくいかないため質問させて下さい。
・決済順序
・返済建玉指定(返済建玉ID・返済建玉数量)
質問① まず返済建玉IDとは関数「=POSITIONS(0)」で返ってくる配列の一番左の列に表示される14桁の英数字で合っていますでしょうか?
質問②
No1. 決済順序を「日付(古い順)、損益(高い順)」と入力、返済建玉IDと返済建玉数量を空白で発注すると、発注結果欄に{"Code":1009001,"Message":"建玉が選択されていません。"}と返ってきます。
No2. 決済順序を空白、返済建玉IDに質問①で挙げた14桁の英数字を入力、返済建玉数量を現在保有の100と入力して発注すると、
発注結果欄に{"Code":4001005,"Message":"パラメータ変換エラー - 詳細はkabuSログファイルを確認してください"}と返ってきます。
ログのスクショ画像↓
No3. 決済順序を「日付(古い順)、損益(高い順)」と入力、返済建玉IDに質問①で挙げた14桁の英数字を入力、返済建玉数量を現在保有の100と入力して発注すると、
発注結果欄に「決済順序、返済建玉指定はどちらか一方を入力してください」と返ってきます。
正しい入力方法を教えて下さい。
具体的なサンプル画像など掲載していただけると助かります。
なお、当方のケアレスミスが原因でしたらそのときは申し訳ありません…
現在、仕様書を読み始めた段階ですが、
このAPIは、kabuステーションを起動しておかないと動かないのでしょうか?
お世話になっております。
kabuステーションのAPIについて、localhostのみアクセスが許可されていると認識しておりますが、
localhost以外からもアクセスできるようにしていただけますと大変有り難く思います。
(セキュリティ上の制約もあるかと思いますので、例えば、設定でアクセスできるサブネットを指定できるなど)
例えばLinux上で走らせているPython等からkabuステーションAPIへのアクセスを想定しています。
ご検討のほど、宜しくお願い申し上げます。
銘柄登録のリスト情報をAPIから取得できるよう、銘柄登録リストの取得APIのREST API追加を要望いたします。
VBAで注文約定照会するため、次の通りQueryを設定していますがレスポンスを取得できません。(エラーは表示されない)
レスポンスはJsonConverter.ConvertToJson(objHTTP)で確認しています。
初歩的な質問で申し訳ないのですが、対応策の回答をお願いします。
Set objHTTP = CreateObject("msxml2.xmlhttp")
objHTTP.Open "GET", "http://localhost:" & PortNo & "/kabusapi/orders/?product=0, False"
objHTTP.setRequestHeader "Content-Type", "application/json"
objHTTP.setRequestHeader "X-API-KEY", ApiToken
objHTTP.send
APIに発注の機能がございますが、発注数に制限などはございますか。
制限がない場合、短期間に大量の注文を送ることも許されているという理解でよろしいでしょうか。
現状 kabu_STATION_API.yaml は OpenAPI Specification Version 2(Swagger)にて記載されているかと思います。
こちらについて、OpenAPI Version 3 のものも別途同梱されていると周辺ツールの活用の幅が広がって嬉しいです。
サンプルのエクセルファイル(kabuSTATION_API_ORDER_sample.xlsm)で返済注文時 パラメーター変換エラーがでます。
1 現物信用区分を返済を新規に変更して、決済順序、返済建玉指定を空欄にするとオーダーは通ります。
2 売り玉を買い返済するとき 売買区分 買 決済順序を '日付(古い順)、損益(高い順) に変更してオーダーすると'{"Code":4001005,"Message":"パラメータ変換エラー - 詳細はkabuSログファイルを確認してください"}とエラーが出ます。
3 さらに2を売買区分 売に変更してオーダーすると'{"Code":1009001,"Message":"建玉が選択されていません。"}とエラーが出ます。
オーダーを通したいのですが何が不具合の原因か不明なため回答をお願いします。
注文約定照会のレスポンスにある RecvTime
について、
多くの場合は 2020-08-20T13:22:19.471516
のようなタイムゾーンなしの結果が返されますが、
稀に 2020-08-21T08:44:05.8233361+09:00
のようなタイムゾーン付きの結果が返されます。
タームゾーンありなしはどのように区別すれば良いでしょうか?
{"Code":4001013,"Message":"トークン取得失敗"}
で返って来ましたが、4001007 | ログイン認証エラーの間違いでは?
注文発注の決済順序と返済建玉指定には「※信用取引の場合、必須。」とありますが、
信用新規の場合にも必要なのでしょうか?
また、「※ClosePositionOrderとClosePositionsを両方指定した場合、エラー。」とありますが、
現物の場合や信用新規の場合にもこのバリデーションに引っかかるのでしょうか?
Excelマクロのリアルタイム情報の更新間隔ですが、ご利用されている端末のレジストリ設定に依存します。
変更例をご紹介させていただきます。
※レジストリの変更となり、他Excel、マクロ、他ツール等の挙動等にも影響を及ぼす可能性があります。
変更に関しては自己責任の下、実施いただきますよう、よろしくお願いいたします。
例)500ミリ間隔での更新設定の場合。
※Officeのバージョンにより、レジストリパスは異なります。
ご利用のExcelバージョンに合わせて適宜調整ください
[HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Excel\Options]
"RTDThrottleInterval"=dword:000001f4
利用規定によると「同一銘柄に対しての注文は5件を上限としてご利用ください」とありますが、
同時に注文を出しておける件数が5件まで、という理解でよろしいでしょうか?
EXCELアドインのツールバー(kabuSTATION アドイン)を操作したのですが、nameがわからないので、コマンドバーの名前を教えていただけないでしょうか。
よろしくお願いします。
お世話になっております。
kabuSTAION_API_PUSH_sampleのエクセルを参照しているのですが、このエクセル内に日経平均株価の値をリアルタイムで表示させたいのですが、対応していますでしょうか?
ご確認よろしくお願い致します。
WebSocketプロトコルの標準に沿ったping/pongへの対応を要望いたします
https://tools.ietf.org/html/rfc6455#section-5.5.2
現状、Pythonのwebsocketsライブラリを始めとした、標準でpingによるハートビートが有効になっているライブラリを用いて接続した場合に、一定時間後にコネクションクローズとなってしまいます。
ライブラリ側でping機能を無効にすることで回避できますが、何らかの形でハートビートを行えるような機能追加を要望いたします。
async with websockets.connect("ws://localhost:18080/kabusapi/websocket",ping_interval=1) as ws:
while not ws.closed:
data = await ws.recv()
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Users\Administrator\Documents\aiokabucom.py", line 143, in run
data = await ws.recv()
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38-32\lib\site-packages\websockets\protocol.py", line 509, in recv
await self.ensure_open()
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38-32\lib\site-packages\websockets\protocol.py", line 812, in ensure_open
raise self.connection_closed_exc()
websockets.exceptions.ConnectionClosedError: code = 1006 (connection closed abnormally [internal]), no reason
お世話になります。
発注の安全性確保のため、通常時はワンショット上限の金額を低く設定していますが、時々大きな金額で発注をするときがあり、その時にワンショット上限の金額の変更を忘れる恐れがあります。
自動取引の場合、トリガーが出現して発注した時に設定不良が発覚するので、機会損失の可能性が高いです。さらに、高額設定の時それが発生するため、通常より大きな機会損失となります。
私はエクセルを使用しているため、ワンショット上限の金額を設定するコード、もしくは設定値金額を戻り値とするファンクションを公開していただきたいです。
検討いただけると幸いです。よろしくお願いします。
kabuステーションを複数のPCにて立ち上げ、APIを利用することについて
制限などはあるでしょうか。
例えば、複数起動により50銘柄以上の情報の通知を受けようとする行為は利用許諾上の「システムの負荷を増加させると判断する行為」に当たるでしょうか。
※下記ページでは、「最後に起動したkabuステーションからの発注のみが有効となる」旨の記載があります。
https://faq.kabu.com/s/article/k001796
新規注文、注文取消に加え PUT /editorder
のような注文訂正APIを要望いたします。
時価情報・板情報のほか、残高照会について情報更新時のPUSH配信の対応を要望いたします。
50件の制限がPUSH通信だけでなく、RESTのリクエストにも掛かっています。
寄付前気配、および昼休みのPUSH配信APIの仕様についてご教授お願いいたします。
こちら側の不具合の可能性もございますので、まずはデータ配信のタイミング、値について明確にしていただきたく。
■寄付前気配について
(1)データ配信は有り、という理解でよいでしょうか
(2)一部配信されてこない(null?)ように見えている項目がございます。(CurrentPriceなど) 配信されてこない項目値を明確にしていただくことは可能でしょうか。
(3)板寄せ中かの判断についてはBidSign、AskSignを見るのが適切でしょうか。CurrentPriceStatusについても寄り付き前気配にて配信なし(null)となるでしょうか?
■昼休み
(1)データ配信は無し、という理解でよいでしょうか
時価情報・板情報のほか、注文約定照会について情報更新時のPUSH配信の対応を要望いたします。
最大API実行回数は、どれくらいでしょうか?
「詳細はkabuSログファイルを確認してください」というエラーがありますが、kabuSログファイルはどこに出力されますか?
個人投資家向けの「kabuステーションAPI」の公開ありがとうございます。
非常に魅力的ですので試してみたいと思ったのですが、当方Fintechプランの条件を満たしていなかったため利用できません。
Fintechプランになるには「前月当社全取引における約定回数が1回以上ある場合」とのことで非常に良心的とは思いますが、
次月にならないと試すことができないことと、仮にとても有用なツールと確認できたとしてもシステム作成に時間を要する
ことから初月3か月等適当な期間は利用条件緩和できないでしょうか。
ご検討お願いいたします。
kabuStation APIの提供、とてもわくわくしています。早速Excelアドインのインストールを御社のマニュアル(Excelアドインの利用方法)に沿って試みようとしましたが、内容が理解できずに困っています。サンプルコードのExcelアドインを開き、Source code(zip)のZipファイルをダウンロードして、C:\Program Files (x86)の下にkabusapi-ExcelAddin-v1.0.0を置いて、エクセルから参照しようとしましたが、KabuSuteAddin-AddIn.xll のようなアドインを見るけることができません。恐らくやり方が間違っていると思います。もう少し詳しい手順を教えて貰えれば幸いです!
RegisterがRegistになっている(RegistListなど)ところがあるのですが、こういった名前の表記は現段階なら修正も検討できるものでしょうか。
WebSocketエントリーポイントのSSL対応をお願いします。
Google ChromeやFirefoxでは非SSL対応のWebSocketはデフォルトで失敗するようになっています。そのためwss対応を行えば、これらのブラウザやelectronなどのフレームワーク上でより使いやすくなると思います。
よろしくお願いします
(electronは内部でGoogle Chromeのオープンソース版であるChromiumを使っているためWebSocketの動作はGoogle Chromeと同一のようです)
APIリファレンスを見たところ、システム化して監視可能な銘柄数は最大でも50。
また各種ランキングを取得する為のメソッド等も存在しないように見受けられます。
今回の個人向けAPI公開はどのように個人投資家に使用されることを想定されているのでしょうか?
サンプルファイルをダウンロードし、発注ボタンを押下すると、
下記エラーが発生します。
{"Code":4001005,"Message":"パラメータ変換エラー - 詳細はkabuSログファイルを確認してください"}
サンプルファイル名は、kabuSTATION_API_ORDER_sample.xlsm
受け渡し区分や、預かり区分などのパラメーターも変更して複数回試してみましたが、結果に変化はありませんでした。
銘柄コード、注文価格 の書式を数値に変更。
有効期限の書式をyyyymmddに変更等も実施しまたが、同じエラーが表示されています。
「詳細はkabuSログファイルを確認」このkabuSログファイルの所在も分からなかったので、内容は確認出来ていません。
対処方法をご教示いただきたく。
各定数について言語、ライブラリ間の統一のためドキュメントに英語名を付記できないでしょうか。
現状ですと各々の開発者が翻訳した英語名もしくはローマ字にて実装されるため、互換性が低くなりがちかと思います。
日本でしかない概念の用語はローマ字でもよいと思うので、変数名に使いやすい英語名を付記いただけると自動生成にも活用しやすく助かります。
kabuステーション自体の質問になって申し訳ないのですが、強制ログアウトの挙動について教えてください。
昨晩からkabuステーションと時価情報WebSocketをつなぎっぱなしにして8時台を迎えたところ、
kabuステーションもtokenも生きたままで時価情報が渡されてきました。
強制ログアウトは何をトリガーに発動されますでしょうか?
APIトークンの取得のライフサイクルはどのような想定でしょうか。
例えば以下のような選択肢があるかと思います。
トークン取得時に有効期限も返っていないため、使い方の想定を教えていただけますと幸いです。
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.