16 個金融演算法交易機器人開源專案

策展摘要說明

目前金融市場交易有很多是用機器人做演算法交易,想要學習這些黑箱背後的原理,我們從開源報報整理出了以下的開源專案,可以用來當作演算法交易的學習參考。

演算法交易和量化交易開源平台,用於開發交易機器人(股票市場、外匯、密碼、比特幣和期權)

Stocksharp (簡稱 S#)-是一個免費程式,可以在世界任何市場(美國、歐洲、亞洲、俄羅斯、股票、期貨、期權、比特幣、外匯等)進行交易。 你將能夠手動或自動交易(演算法交易機器人,傳統或高頻交易)。

一個使用 Java 開發的開放原始碼交易框架

這個 Java 框架讓具備基本程式設計技能的任何人都能有效地建立和測試用於買賣股票、加密貨幣或任何其他類型工具的交易演算法。

有了這個框架,你可以從任何提供公共 API 的交易平台上獲取歷史和及時交易詳細資訊,根據歷史資料測試你的演算法,最佳化你的演算法,並執行一個機器人來同時使用一個或多個賬戶為你自動交易。

與大多數其他平台不同,這個框架允許你建立策略,在同一時間觀察不同的圖表間隔,你可以結合多個策略的訊號,在多個間隔工作產生一個“最終”訊號,或者甚至在不同時間混合指標,例如移動平均線交叉。

使用 Python 開發的開源加密貨幣交易機器人

Freqtrade 是一個用 Python 編寫的自由和開源的加密貨幣交易機器人。 它的目的是透過 Telegram 支援所有主要的交換和控制。 它包含回溯測試、繪圖和資金管理工具,以及機器學習的策略最佳化。

加密貨幣交易機器人

Hummingbot 是一個開源專案,它整合了集中交易和分散通訊協定上的加密貨幣交易。它允許使用者執行一個客戶端來執行客製化的、自動化的加密貨幣交易策略。

使用 Python 開發的加密貨幣交易機器人

簡單的加密貨幣機器人。 它是用 Python 編寫的,在 Binance 上交易,並將所有的日誌和交易資訊儲存到 MongoDB 資料庫中。 也有支援簡單的交易策略

gym-trading – 強化學習演算法交易模型的環境

交易環境為使用歷史條形資料( historical bar data )進行單一工具交易提供了環境。

點選這裡檢視一個 jupyter 筆記本,它描述了基本用法,並說明了一個(有時)基於 tensorflow 實現的政策漸變( policy gradients )的制勝策略。

使用 Node 開發的比特幣交易機器人

這位開發者已經不再維護這個開源專案,如果對開發交易機器人有興趣,還是一個不錯的參考 – Archiving open source Gekko

交易中的機器學習

這本書旨在展示機器學習如何以一種實用而全面的方式為演算法交易策略增值。它涵蓋了從線性迴歸到深度強化學習的廣泛機器學習技術,並展示如何建立,回溯測試和評估由模型預測驅動的交易策略。

本書分為四個部分,共有23章加上附錄,包括以下內容:

  • 資料來源、財務特徵工程和投資組合管理的重要觀點,
  • 基於基本的監督式和非監督的 ML 演算法的長短策略的設計和評估
  • 從美國證券交易委員會備案檔案、盈利通話記錄或財經新聞等財務文字資料中提取可交易訊號
  • 使用像 CNN 和 RNN 這樣的深度學習模型來獲取金融資料和可選資料,利用生成性對抗性網路來生成合成資料,並使用深度強化學習來培訓交易代理人

這個 repository 包含超過150個筆記本,將書中討論的概念、演算法和用例付諸行動。它們包含了大量的範例

  • 如何處理和提取市場訊號,fundamental和替代文字和影象資料,
  • 如何培訓和調整預測不同資產類別和投資視野回報率的模型,包括如何複製最近發表的研究成果,以及
  • 如何設計,回溯和評估交易策略

附有 Jupyter notebook 的金融模型演算法收集

這不適合給初學者,這些主題需要有隨機分析,金融數學和統計的基本知識。 還需要掌握 python 程式設計的基本知識。

在網路上找到用 python 編寫的金融模型的範例並不容易,這些模型可以隨時使用,並且有詳細的檔案記錄。

JavaScript/Python/PHP 加密貨幣交易 API,支援120多個比特幣/altcoin 交易所

一個用於加密貨幣交易和電子商務的 JavaScript/Python/PHP 程式庫,支援許多比特幣/以太/altcoin交易市場和商業 api。

CCXT 程式庫用於與全世界的加密貨幣交換和支付處理服務進行連線和交易。它為儲存、分析、視覺化、指標開發、演算法交易、策略回溯測試、 機器人程式設計和相關軟體工程提供了市場資料的快速訪問。

它被程式設計師、開發人員、技術熟練的交易員、資料科學家和金融分析師用於建構交易演算法。

精益演算法交易引擎

Lean Engine 是一個開源演算法交易引擎,用於簡單的策略研究、回溯測試和即時交易。整合了常見的資料提供商和經紀商,這樣你就可以快速部署演算法交易策略。

Lean Engine 的核心是用 C# 編寫的,但它可以在 Linux、 Mac 和 Windows 作業系統上無縫操作。它支援用 Python 3.6、 C# 或 F# 編寫的演算法。精益驅動基於 web 的演算法交易平台 QuantConnect

Zenbot 是一個使用 Node.js 和 MongoDB 的命令列加密貨幣交易機器人

Zenbot 是一個使用 Node.js 和 MongoDB 的命令列加密貨幣交易機器人,它的特點是:

  • 全自動化基於技術分析的交易方法
  • 全力支援 Binance, Bitfinex, Bitstamp, Bittrex, CEX.IO, GDAX, Gemini, HitBTC, Kraken, Poloniex, QuadrigaCX 及TheRockTrading ,進一步的 exchange 支援工作正在進行中
  • 用於實現 exchange 支援或編寫新策略的外掛架構
  • 回溯測試策略與歷史資料進行比對的模擬器
  • “票據”交易模式,在模擬平衡的基礎上運作,同時觀察現場市場
  • 可配置的賣出止損點、買入止損點和(跟蹤)利潤止損點
  • 靈活的抽樣週期和交易頻率——平均每天1-2次,1h 週期,15-50天,5m 週期

每個人的統計和演算法投資策略

Eiten 是 Tradytics 開發的一個開源工具包,它實現了各種統計和演算法投資策略,如本金投資組合、最小方差投資組合、最大夏普比投資組合和基於遺傳演算法的投資組合。它可以讓你建立自己的投資組合與你自己的股票集,可以擊敗市場。包含在 Eiten 中的嚴格測試框架使你能夠對你的投資組合有信心。

使用深度強化學習操作股票

投資有賺有賠,僅供參考

監督學習與強化學習的區別

監督學習(如 LSTM)可以根據各種歷史資料來預測未來的股票的價格,判斷股票是漲還是跌,幫助人做決策。

drawing

而強化學習是機器學習的另一個分支,在決策的時候採取合適的行動 (Action) 使最後的獎勵最大化。與監督學習預測未來的數值不同,強化學習根據輸入的狀態(如當日開盤價、收盤價等),輸出系列動作(例如:買進、持有、賣出),使得最後的收益最大化,實現自動交易

drawing

Qlib 是一個人工智慧導向的定量投資平台,實現人工智慧技術在定量投資中的潛力,賦予研究力量,創造價值。

有了 Qlib,你可以很容易地嘗試你的想法來建立更好的 Quant 投資策略。

這個開源專案基於這篇論文  “Qlib: An AI-oriented Quantitative Investment Platform”.

Qlib 的框架

一個 Pythonic 演算法交易程式庫

Zipline 是一個 Pythonic 演算法交易程式庫。它是一個事件驅動的回溯測試系統。Zipline 目前在營運中用作量化證券的回溯測試和即時交易引擎,這是一個免費的、以社群為中心的託管平台,用於建構和執行交易策略。還為專業人士提供完全管理的服務,包括 Zipline、 Alphalens、 Pyfolio、 FactSet 資料等等。

功能

  • 易用性: Zipline 試圖排除障礙,這樣你就可以專注於演算法開發了。
  • “Batteries Included” : 許多常見的統計資料,如行動平均數和線性迴歸,可以很容易地從使用者編寫的演算法中訪問
  • PyData 整合: 歷史資料的輸入和效能統計資料的輸出基於 Pandas datatrames,可以很好地整合到現有的 PyData 生態系統中
  • 統計和機器學習程式庫: 你可以使用 matplotlib、 scipy、 statsmodels 和 sklearn 等程式庫來支援最先進交易系統的開發、分析和視覺化

相關線上課程

 歡迎使用 App / Email | Telegram 訂閱 網站更新

Comments are closed.

Powered by WordPress.com.

Up ↑

%d 位部落客按了讚: