貿易

使用python在linux中進行算法交易

  • February 12, 2017

在 Linux 中是否有任何實時交易平台,可以通過在試用或模擬賬戶中向經紀人訂購來測試用 python 編寫的自動交易腳本?IbPy 是要走的路嗎?但是IB不提供任何試用賬戶。

我知道的幾個選項:

  • 盈透證券為其賬戶持有人提供“模擬交易”模式,讓您可以從假想的一堆錢開始,並進行模擬交易以測試交易想法。他們還提供了一個 API,允許您以程式方式與他們的平台互動,以檢索報價、下訂單等。但是,正如您所指出的,它不是免費的。您必須持有一個有資金的經紀賬戶才能有資格訪問他們的平台。為了維持一個帳戶,所需的淨值和每月活動(以您在佣金上花費的美元衡量)有最低要求,因此如果您在遊戲中沒有相當數量的皮膚,您將無法訪問他們的平台。

IB的原生API是基於Java的;IbPy 是一個非官方的包裝器,它使介面在 Python 中可用。我自己根本沒有使用過 IB,但我聽說過關於他們的 API 及其通過 IbPy 的可訪問性的好消息。

編輯: IB 現在通過其發布的 API 原生支持 Python,因此不再需要使用 IbPy,除非您希望使用 Python 2.x。官方支持的 API 基於 Python 3。

  • TD Ameritrade還提供可供其經紀客戶使用的 API。他們不提供任何此類“模擬交易”模式,因此您需要根據相應交易時間的報價“執行”交易,然後自己跟踪您的模擬賬戶歷史記錄。該 API 支持報價檢索、價格歷史記錄和交易執行等功能。如果您正在尋找與市場數據的低成本連結,TDA 可能比 IB 更具吸引力,因為我相信他們的最低權益水平較低。

要獲得訪問權限,您需要註冊一個 API 開發人員帳戶,我認為這需要 NDA。我不相信該 API 有官方的 Python 實現,但如果你是一位有能力的 Python 編寫者,那麼連接到已發布的介面應該不會有問題。

一些警告:在進行任何策略回測時,您需要確保在這樣做時保持悲觀,因此您的樂觀不會使您的交易看起來比在現實世界中更成功。至少,您需要確保您的模擬以公佈的買入/賣出價格進行交易,不一定是最後一筆交易的價格,以及與交易相關的任何佣金和費用。更穩健的方案還將考慮訂單簿的深度(也稱為 2 級報價),這可能會導致您購買/出售證券的價格出現額外滑點。更強大的方案將考慮交易執行的潛在延遲,查看涵蓋最大預期延遲的一段時間內的所有價格,並以最差的價格模擬交易。

引用自:https://money.stackexchange.com/questions/13671