![translation](https://cdn.durumis.com/common/trans.png)
これはAIが翻訳した投稿です。
言語を選択
durumis AIが要約した文章
- 韓国投資証券 API を開発するために必要な情報を収集するプロセスをまとめました。
- 公式サイト、KIS 開発者センター、github、WikiDocs などのさまざまな資料を通じて情報を取得しました。特に github レポジトリは多くの 助けになりました。
- リアルタイムデータハンドリングの部分で苦労しましたが、github で他の開発者が共有したソースを参照することで問題を解決できました。
これまで、韓国投資証券APIを使って自動売買プログラムをなぜ作ろうとしているのか、どのような利点があるのかを調べました。
今回は、韓国投資証券APIを開発するために必要な情報を収集した過程をまとめ、共有しようと思います。すでに多くのベテランの方が 韓国投資証券APIを共有してくれているため、情報を探すのは難しくありませんでした。それでもどのような内容を得られたのか、感じたことを簡単に コメントしてみようと思います。この内容が皆様のお役に立てれば幸いです。(githubリポジトリから見ると良いでしょう!!)
公式ウェブサイト
韓国投資証券公式ウェブサイト
基本的な内容は公式ウェブサイトから入手できます。韓国投資証券公式ウェブサイトを通じて、ID、口座設定、模擬投資の申込み、海外 取引の申込みなどの作業を行うことができます。また、公式ウェブサイトから開発向けのサイトへのリンクが容易にされています。
韓国投資証券のメニューの中で開発のための内容は、トレーディングメニューにあります。
KIS Developer 開発者センター
KIS Developerサイトは、APIを開発しながら常に見ておくべきサイトです。APIドキュメントの詳細を確認できます。
最も基本的なアクセス トークンを取得する API です。
API のリクエスト値と応答値に関する詳細情報です。これらの値を参照して呼び出し、応答を受け取り、処理します。
github - koreainvestment/open-trading-api
Open Trading API githubリポジトリです。README.mdファイルで親切な作業手順を案内しています。 そのため、上に書いたようにgithubから見ると良いでしょう。
github レポジトリです。
WikiDocs
最後に、python開発時に参考になるWikiDocsです。著者が韓国投資証券であるため、ほとんどの内容は信頼できます。 ほとんどの内容という理由は、時間が経つにつれて追加された内容がないことと、個人的にリアルタイムデータの部分で真似をして詰まったのですが、解決策が見つからなかったからです。
WikiDocs で開発ガイドが整備されています。
追加レファレンス
ここまで参考になる内容を見て、ちゃちゃっと作れたら良いのですが、私にはそのような実力がないため、詰まる部分が多くありました。そのため、 あれこれたくさん調べて、助けになった追加レファレンスを列挙してみます。私が調べた内容なので、皆さんも簡単に探せるはずです。
ジョコーディングさんのYouTube動画(23:41秒)
この動画を通じて、韓国投資証券APIの利点をユーザー視点から理解することができました。そして、やはり動作するソースを動画で 説明してくれるので、理解がより簡単でした。先に公式ウェブサイトを通じて何が含まれているのか概観していたのであれば、ジョコーディングさんの動画 (23:41秒)をすばやく見ておくことをお勧めします。
Websockets
前述したように、リアルタイムデータのハンドリング部分で詰まったのですが、WikiDocsではpythonのwebsocketsを使用していました。しかし、websocketが何かよく理解できませんでした。こういう時は聞いてみるしかないですよね。 +_+
ChatGPTさん、助けてください。
ChatGPT がなくなったら大変です。
通信のための方法であり、接続されると、データを次々と受け取ることができるようになるようです。ここまで見て感じたのは、REST APIは 一度のリクエストに対して一度のレスポンスを受け取るものであり、Websocketは一度のリクエストが登録されると、それに関連して継続的にレスポンスを受け取るということです。 自動売買プログラミングを行うためには、この2つがうまく実装され、組み合わせられる必要がありますね。
しかし、WikiDocsの例で詰まりました。websocketでリクエストを送信するまでは良かったのですが、すぐにwhile True:になって、 ずっとその状態になりました。明らかに方法があるはずなのに、私のような初心者には概念に慣れていないため、どのように解決すれば良いのか見当がつきませんでした。 そこで、githubに別の方法で実装したソースがあるのか調べてみました。
githubリポジトリ
- python-kis - Soju06/python-kis: 📈 파이썬 한국투자증권 REST 기반 Trading API 라이브러리 (github.com)
- pykis - pjueon/pykis: 한국투자증권 신규 Open Trade API 를 쉽게 사용하기 위한 python 패키지 (github.com)
- mojito - sharebook-kr/mojito: python wrapper for the KIS (github.com)
本当に多くのベテランがいることを改めて感じました。3つを確認しましたが、今回使用したリポジトリは1番のpython-kisです。このロジックを取り入れて、websocket部分を参考にしました。結論として、websocketsライブラリではなく、websocket、websocket-clientライブラリを使用しました。 この場を借りて、Soju06様をはじめ、githubで素晴らしいソースを共有してくださっている皆様に感謝申し上げます。
これでこれらの情報を参考に開発を進めることができます。多少の試行錯誤がありましたが、それについては別途まとめ、共有させていただきます。次に、少し根本的な「株式自動売買の構造」について、考えてみた内容を列挙してみます。これを 土台にして、今後は試行錯誤を減らし、すでに開発された部分を簡単に再利用できるようにすることを期待しています。