![translation](https://cdn.durumis.com/common/trans.png)
这是AI翻译的帖子。
选择语言
durumis AI 总结的文章
- 整理了開發韓國投資證券 API 所需的資訊收集過程。
- 通過官方網站、KIS 開發者中心、github、WikiDocs 等多種資源獲取資訊,其中 github 存放庫幫助很大。
- 在處理即時數據時遇到了一些困難,但通過參考 github 上其他開發者分享的源代碼,成功解決了問題。
前面我們已經了解了為什麼要使用韓國投資證券 API 來製作自動交易程式,以及它有什麼優點。
這次我將整理並分享我收集韓國投資證券 API 開發所需資訊的過程。因為已經有許多高手分享了韓國投資證券 API 的資訊,所以並不難找到。 儘管如此,我還是想簡單地分享一下我從中獲得了什麼以及我的感受,希望這些內容能對您有所幫助。(建議從 github 倉庫開始查看!)
官方網站
韓國投資證券官方網站
您可以透過官方網站取得基本資訊。透過韓國投資證券官方網站,您可以進行帳號、帳戶設定、模擬投資申請、海外交易申請等操作。 此外,官方網站也提供了方便的連結,讓您輕鬆訪問開發網站。
韓國投資證券的菜單中,開發相關內容位於交易菜單。
KIS 開發者中心
KIS 開發者網站是您在開發 API 時需要持續關注的網站。您可以在這裡找到 API 文件的詳細內容。
最基本的獲取訪問權杖的 API。
API 的請求值和回應值的詳細內容。請參考這些值以進行呼叫、接收回應並進行處理。
github - koreainvestment/open-trading-api
這是 Open Trading API 的 github 倉庫。README.md 文件提供了友善的操作步驟指南。因此,如前所述,建議您從 github 開始查看。
github 存放庫。
WikiDocs
最後,這是 Python 開發時可以參考的 WikiDocs。由於作者是韓國投資證券,因此大部分的內容都是可以信賴的。 之所以說「大部分」,是因為隨著時間推移,並沒有添加新內容,而且我個人在實時數據部分遇到了問題,但沒有找到解決方案。
WikiDocs 上有完善的開發指南。
額外參考
如果只參考這些內容,就能輕輕鬆鬆地做出程式,那當然很好,但我沒有那样的能力,所以遇到了不少困難。因此,我搜尋了許多資訊並獲得了額外的參考。 這些是我找到的內容,相信您也輕易就能找到。
JOCoding 的 Youtube 影片 (23:41 秒)
透過這個影片,我能夠從使用者的角度理解韓國投資證券 API 的優點。而且,影片中展示了實際運作的程式碼,讓理解更加容易。 如果您之前已經透過官方網站大致了解了內容,建議您快速瀏覽 JOCoding 的影片 (23:41 秒)。
Websockets
如前所述,我在處理實時數據時遇到了問題,WikiDocs 使用了 Python 的 websockets。但我對 websocket 不太了解。這種情況下,就需要請教別人了。^_^
ChatGPT,請幫幫我。
如果 ChatGPT 消失了,那可就大事不妙了。
它似乎是一種用於通訊的方法,建立連接後,就可以接收各種數據。我從中了解到,REST API 是一次請求一次回應,而 Websocket 則是建立一次請求,並持續接收相關回應。 要實作自動交易程式,這兩種方法都需要良好地整合。
但是,我在 WikiDocs 的範例中遇到了問題。雖然透過 websocket 發送了請求,但它馬上就進入 while True: 狀態,並一直停留在該狀態。 一定有解決辦法,但對於我這種新手來說,由於不熟悉這個概念,很難理解如何解決。因此,我在 github 上搜尋了其他實作方式的程式碼。
github 倉庫
- python-kis - Soju06/python-kis: 📈 基於 Python 韓國投資證券 REST 交易 API 庫 (github.com)
- pykis - pjueon/pykis: 韓國投資證券全新 Open Trade API 的 Python 套件 (github.com)
- mojito - sharebook-kr/mojito: 韓國投資證券 KIS 的 Python 包裹器 (github.com)
再一次感受到高手真的很多。我雖然檢視了 3 個倉庫,但這次使用的是第 1 個 python-kis。我取得了這個邏輯,並參考了其中的 websocket 部分。 最終我使用了 websocket、websocket-client 庫,而不是 websockets 庫。在此感謝 Soju06 等所有在 github 上分享優秀程式碼的人。
現在我可以參考這些資訊進行開發了。雖然遇到了一些問題,但我會另外整理並分享相關内容。接下來,我將整理一下關於「股票自動交易架構」的思考。 我希望這些思考能幫助我減少以後的錯誤,並方便我重複使用已開發的部分。