盈透證券 (IB) 是否有 Web 友好的 API?
我的要求是實現一個利用 Interactive Brokers 的 API 獲取數據的網路應用程序。我瀏覽了 IB API 網頁,發現了兩種可行的方法:TWS 和 IB Gateway。但是這兩種方法都需要執行專有的執行檔。從 Web 的角度來看,這沒有任何意義,因為我的託管服務提供商不允許在其基礎架構上執行執行檔。難道不能只使用使用者名/密碼或一些 API 密鑰或類似的東西從 Web 伺服器訪問他們的 API 嗎?
如果不可能,您能否分享一下其他公司(如 IB)有哪些網路友好的 API。
不要嘗試使用 WebApp 擷取實時報價數據。
我並不是說它不能完成,我只是說你會得到零收益,你必須更加努力地讓它發揮作用。Web 伺服器的設計有一個前提,即盡可能快地為使用者提供請求的數據並釋放該資源。
- 您將不得不與伺服器邏輯作鬥爭(因為它並非旨在以這種方式執行)
- 您將不得不與您的提供商抗爭(因為它可能會將伺服器解釋為崩潰並關閉它)
為了使用 IB 擷取滴答數據,請使用 Java 並查看 VPS(虛擬專用伺服器),您可以在其中執行您想要的任何程序。
在過去的 4 年裡,我一直在使用以下公司開發幾個長輪詢應用程序(包括金融和非金融相關的),並取得了巨大的成功。
您甚至可以在這些無頭系統上執行 X(並且您將需要 X 來執行 Interactive Brokers API - 在 TWS 版本和網關版本上)。
我在這裡是弗蘭基回答的第二部分,但出於不同的原因和額外的警告:
首先是的,不要執行不提供您已經作為 Web 應用程序提供的內容的程序。Web 應用程序的重點是簡單地在標準化媒體上提供內容以用於分發目的,而不是用於計算或數據收集目的。
我見過人們在網路應用程序上實施一個完整的策略測試和交易平台,恕我直言,這是零意義的。這是一個非常低效且容易出錯的過程。關鍵是,如果您的某個計算出現故障,它實際上會使整個 Web 應用程序無用。執行此程序的正確方法是通過伺服器或本地電腦上的 API(無論您喜歡什麼)收集您的數據,然後通過 Web 應用程序將收集到的數據(原始或清理或以其他方式處理)提供給使用者。
您實際上自己回答了這個問題,您經常需要執行其他程序來收集您查詢的數據,並且您不想在網路應用程序上搞砸這個問題,甚至更糟的是迫使網路應用程序的使用者執行其他程序只是為了使其工作。在機器上收集數據,處理數據,通過 Web 伺服器使數據可用,並使用 Web 應用程序作為界面。就那麼簡單。