(로또 사는 아빠) 살림 하는 엄마

韓國投資證券 API 開發參考

  • 撰写语言: 韓国語
  • 基准国家: 所有国家country-flag
  • 信息技术

撰写: 2024-04-22

撰写: 2024-04-22 23:53

先前我們已經了解過為什麼要使用韓國投資證券 API 來建立自動交易程式,以及使用它有什麼優點。

這次,我想要整理並分享收集韓國投資證券 API 開發所需資訊的過程。由於許多高手已經分享了韓國投資證券 API 的相關資訊,因此尋找資訊並不困難。儘管如此,我還是想簡單地評論一下獲得了哪些資訊以及我的感受,希望這些內容對您有所幫助。(建議從 GitHub 儲存庫開始瀏覽!!)


官方網站

韓國投資證券官方網站

您可以透過官方網站獲得基本資訊。透過韓國投資證券官方網站,可以執行帳戶設定、帳戶管理、模擬交易申請、海外交易申請等操作。此外,官方網站也提供了方便的連結,可輕鬆導向開發者網站。

韓國投資證券 API 開發參考

在韓國投資證券的選單中,與開發相關的內容位於交易選單中。



KIS 開發者中心

KIS 開發者網站是開發 API 時需要持續參考的網站。您可以在此查看 API 文件的詳細內容。

韓國投資證券 API 開發參考

這是最基本的取得存取權杖的 API。


韓國投資證券 API 開發參考

這是 API 的請求值和回應值的詳細內容。我們參考這些值來發出請求、接收回應並進行處理。



GitHub - koreainvestment/open-trading-api

這是 Open Trading API 的 GitHub 儲存庫。README.md 檔案提供了詳細的操作步驟指南。因此,如前所述,建議您先從 GitHub 瀏覽。

韓國投資證券 API 開發參考

這是 github 程式碼庫。



WikiDocs

最後,這是 Python 開發時可以參考的 WikiDocs。由於作者是韓國投資證券的員工,因此大部分內容都值得信賴。之所以說是大部分,是因為隨著時間推移,沒有新增任何內容,而且就我個人而言,在實時數據部分按照 WikiDocs 的方法操作時遇到了問題,但卻找不到解決方案。

韓國投資證券 API 開發參考

WikiDocs 提供了完善的開發指南。



額外參考資源

看到這些參考內容,如果能夠憑藉這些資訊快速開發,那真是太好了,但由於我的能力有限,因此遇到不少問題。因此,我搜尋並參考了許多資源,並在此列出。由於是我自己找到的資源,所以大家應該也都能輕易找到。

JoCoding 的 YouTube 影片(23:41 秒)

透過這部影片,我從使用者的角度了解了韓國投資證券 API 的優勢。而且,影片中展示了運作中的程式碼並進行了說明,因此更容易理解。如果您已經透過官方網站大致了解了有哪些功能,那麼建議您快速觀看 JoCoding 的影片(23:41 秒)。


WebSocket

如前所述,我在處理實時數據的部分遇到了問題,WikiDocs 中使用了 Python 的 WebSocket。但是,我不太了解 WebSocket 的概念。遇到這種情況,就需要詢問他人了。+_+


ChatGPT,幫幫我。

韓國投資證券 API 開發參考

如果沒有 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)

再次感受到高手如雲。我查看了三個儲存庫,但這次用的是第一個 python-kis。我參考了這個儲存庫中的邏輯,並借鑒了 WebSocket 部分的程式碼。最終,我使用了 websocket 和 websocket-client 庫,而不是 websockets 庫。在此,我要感謝 Soju06 以及所有在 GitHub 上分享優質程式碼的人。

現在,我可以參考這些資訊進行開發了。雖然也遇到了一些問題,但會另外整理並分享。接下來,我打算探討一些更基礎的問題,即「股票自動交易的架構」。希望透過這些探討,能在後續的開發中減少錯誤,並能輕鬆重複使用已開發的部分。

评论0