1. 程式人生 > >每一個寬客都應該收藏的量化“利器”

每一個寬客都應該收藏的量化“利器”

工欲善其事,必先利其器,本文精心整理了各大程式語言常用的量化分析工具,會用其中幾個就應該可以在私募找到一份不錯的量化工作,如果不想安裝推薦 BigQuant 人工智慧量化投資 一站式的Python+機器學習+量化投資平臺,開啟瀏覽器就可以開發演算法策略。

歡迎大家補充~~~

程式語言

1.Python
2.R
3.Matlab
4.Julia
5.Java
6.JavaScript
7.Scala
8.Ruby
9.Frameworks

Python

  • numpy
    介紹:一個用python實現的科學計算包。包括:1、一個強大的N維陣列物件Array;2、比較成熟的(廣播)函式庫;3、用於整合C/C++和Fortran程式碼的工具包;4、實用的線性代數、傅立葉變換和隨機數生成函式。numpy和稀疏矩陣運算包scipy配合使用更加方便。

  • scipy
    介紹:SciPy是一款方便、易於使用、專為科學和工程設計的Python工具包。它包括統計、優化、線性代數、傅立葉變換、訊號和影象處理、常微分方程求解等等。

  • pandas
    介紹:Python Data Analysis Library 或 pandas 是基於NumPy 的一種工具,該工具是為了解決資料分析任務而建立的。Pandas 納入了大量庫和一些標準的資料模型,提供了高效地操作大型資料集所需的工具。pandas提供了大量能使我們快速便捷地處理資料的函式和方法。你很快就會發現,它是使Python成為強大而高效的資料分析環境的重要因素之一。

  • quantdsl


    介紹: quantdsl包是Quant DSL語法在Python中的一個實現。Quant DSL 是財務定量分析領域專用語言,也是對衍生工具進行建模的功能程式語言。Quant DSL封裝了金融和交易中使用的模型(比如市場動態模型、最小二乘法、蒙特卡羅方法、貨幣的時間價值)。

  • statistics
    介紹:python內建的統計庫,該庫提供用於計算數值資料的數學統計的功能。

  • PyQL
    介紹: PyQL構建在Cython之上,並在QuantLib之上建立一個很淺的Pythonic層,是對QuantLib的一個包裝,並利用Cython更好的效能。

  • pyfin
    介紹:針對於中國市場的Pandas定量投資金融工具包

  • vollib
    介紹:Vollib是用於計算期權價格、隱含波動率的紀念日工具包。能夠非常快速和準確的技術來獲得期權的隱含波動率。

  • QuantPy
    介紹:python量化金融框架。目前還是一個alpha版本,可以從雅虎網站獲取每日收益的投資組合類。計算夏普比率和有效邊界,並實現投資組合優化。

  • Finance-Python
    介紹:純python實現的金融計算庫,目標是提供進行量化交易必要的工具,包括但不限於:定價分析工具、技術分析指標。其中部分實現參考了quantlib。

  • ffn
    介紹:ffn是一個專門為從事量化金融工作的人們提供金融資料分析功能的python包。 它位於重量級包(Pandas,Numpy,Scipy等)的基礎上,並提供了廣泛的功能模組,包括效能測量、圖形視覺化和資料轉換。

  • pynance
    介紹:PyNance是用於從股票和衍生品市場檢索、分析和視覺化資料的開源軟體。 比較特別的是它能夠用於生成機器學習演算法的特徵和標籤的工具。

  • tia
    介紹:TIA是針對彭博資料庫設定的,它提供bloomberg資料訪問、更簡便的pdf文件生成、回溯測試功能、技術分析功能、收益率分析和幾個常用的Windows utils的工具包。

交易和回測

  • BigQuant
    介紹:人工智慧量化交易平臺,擁有豐富的金融資料,可直接使用90%的主流機器學習/ 深度學習Python包。

  • TA-Lib
    介紹:TA-Lib的簡稱是Technical Analysis Library,主要功能是計算價格的技術分析指標。 是技術分析者和量化人員在策略開發中常用的量化分析包。

  • easytrader
    介紹:提供券銀河/銀河客戶端/廣發/湘財證券/雪球的基金、股票自動程式化交易以及自動打新,支援跟蹤 joinquant /ricequant 模擬交易 和 實盤雪球組合, 量化交易元件。作者如果我說是90後,你敢信?

  • vnpy
    介紹:vn.py - 基於python的開源交易平臺開發框架,在github上是一個比較火的專案,目前對接的交易介面特別豐富,無論是股票介面還是期貨介面。

  • 實盤易
    介紹:實盤易(ShiPanE)Python SDK,通達信自動化交易 API 及量化平臺。

  • easyquotation
    介紹:實時獲取新浪 / Leverfun 的免費股票以及 level2 十檔行情 / 集思路的分級基金行情, 很小,但非常實用。

  • pyalgotrade-cn
    介紹:Pyalgotrade-cn 在原版的基礎上加入了A股歷史行情回測,並整合了tushare提供實時行情。以便大家對自己的策略進行回測和模擬測試。這個專案提供了比特幣的交易介面。

  • pyktrader 基於pyctp介面,並採用vnpy的eventEngine,使用tkinter作為GUI的python交易平臺

  • trade
    介紹:trade是金融應用的一個包。 它主要是用於分析主題投資和事件驅動策略。 主題代表可以交易的任何東西,而事件則代表影響一個或多個主題的任何內容,如證券交易所政策或股票分割。它是針對與金融市場有關的任何一種主題和事件進行開發的投資工具包。

  • zipline
    介紹:一個事件驅動股票策略量化回測框架,由Quantopian開源,目前國內的很多Python程式語言的線上量化回測平臺都是以zipline為模板開發應用的。

  • QuantSoftware Toolkit
    介紹:QSToolKit(QSTK)是一個基於Python的開源軟體框架,旨在支援組合構建和管理。 為金融學生、計算機學生和具有程式設計經驗的量化分析師建立QSToolKit。支援建模分析、回測分析和實盤交易。

  • quantitative
    介紹:quantitative是一個事件驅動和多功能的反向測試庫。 使用者可以用定量測試他們的交易模型。由於仍在開發中,謹慎使用。

  • analyzer
    介紹:用於實時金融資料收集、分析和開發交易策略的一個金融分析包。

  • bt
    介紹:bt是用於測試定量交易策略的Python的靈活的backtesting框架。 bt建立在ffn之上,封裝了很多機器學習、訊號處理和統計函式。bt的目的是建好輪子,讓量化人員把重點放在策略開發上。

  • rqalpha 介紹:一款量化回測平臺。

  • quantconnect 介紹:國外一款線上的量化回測平臺。

  • backtrader
    介紹:一個功能豐富的Python測試和交易框架。backtrader能夠讓策略研究員專注於編寫可重用的交易策略、指標和分析器,而不是花時間構建基礎設施。理念類似bt.

  • pythalesians
    介紹:網上對這個量化分析包的介紹資料並不多。

  • pybacktest
    介紹:在Python 結合Pandas包的向量化測試框架,旨在幫助寬客回測更容易、 緊湊、簡單、快速。

  • pyalgotrade
    介紹:PyAlgoTrade是一個事件驅動的演算法交易Python庫。 儘管設計初衷是回溯測試,但現在已經可以實盤交易,並且包含比特幣的交易。pyalgotrade-cn是國內版針對中國市場的開源量化包。

  • tradingWithPython
    介紹:從名字就可以看出,這是一個使用Python 來進行交易的一個量化分析包,使用它可以完成一系列金融量化教程的學習。

  • algobroker
    介紹:這是一個演算法交易執行引擎。

  • pysentosa
    介紹:pysentosa是一個針對sentosa自動化交易系統的Python介面,作者Wu Fuheng

  • finmarketpy
    介紹:finmarketpy是一個基於Python的庫,幫助你能夠使用簡單易用的API分析金融資料以及回測交易策略。

  • volatility-trading 基於Euan Sinclair的波動率交易的波動率估計器

  • quant 在這裡收集了一些量化金融和演算法交易的資料,大多數基於Quantopian、Zipline、Pandas的ipython notebook。

風險分析

  • pyfolio
    介紹:組合投資和風險分析的庫,是與zipline配合使用的一個組合風險分析工具。BigQuant平臺可直接使用,已安裝完成。

  • qrisk
    介紹:和pyfolio一樣,也是配合zipline使用的,主要用來分析因子風險。

  • finance
    介紹:財務風險計算庫,該專案的目的是提供易於使用的python程式碼進行財務風險計算。

  • qfrm
    介紹:定量金融風險管理,用於度量、管理和視覺化投資組合風險的極好的OOP工具。

  • visualize-wealth
    介紹:投資組合構建與定量分析

  • VisualPortfolio
    介紹:用於視覺化分析投資組合的工具

時序分析

  • ARCH
    介紹:專門針對金融時間序列資料進行ARCH模型建模

  • statsmodels
    介紹:Python的統計建模和計量經濟學工具包,包括一些描述統計、統計模型估計和推斷

  • dynts
    介紹:對於時間序列分析和操作的庫

  • PyFlux
    介紹:同樣為時間序列模型庫

交易日曆

  • tradingcalendar
    介紹:證券交易所交易日曆的模組,配合zipline使用

  • bizdays
    介紹:工作日計算和建議實用程式

資料來源

  • findatapy
    介紹:通過Bloomberg,Quandl,Yahoo的交易資料

  • googlefinance
    介紹:通過Google金融api獲得的實時股票資料

  • yahoo-finance
    介紹:從Yahoo獲得股票資料

  • pandas-datareader
    介紹:從多個不同渠道(包括yahoo)獲得的交易資料,配合Pandas包使用

  • pandas-finance
    介紹:獲取和分析金融資料的api

  • yfinanceapi
    介紹:金融資料獲取api

  • ystockquote
    介紹:yahoo金融的股票資料

  • wallstreet
    介紹:實時股票資料
    Wallstreet是一個用於監控和分析實時股票和期權資料的Python庫。 資料由Google財經API提供,是一個提供特別簡單的獲取美股資料API的開源庫。

  • stock_extractor
    介紹:該庫提供了兩個資料來源,一個是Yahoo Finance,一個是http://Barchart.com

  • Stockex
    介紹:用以獲取yahoo金融資料的庫

  • finsymbols
    介紹:能夠獲取來自AMEX、NYSE、NASDAQ等幾大交易所的行情資料。

  • FRB
    介紹:FRED® API的客戶端

  • inquisitor
    介紹:http://Econdb.com是經濟資料的彙總網站。inquisitor這個Python模組提供了一個圍繞http://Econdb.com的API的包裝器,可以快速批量獲取http://Econdb.com資料。

  • chinesestockapi
    介紹:獲取中國股票資料的python API

  • exchange
    介紹:獲得當前匯率資料的API

  • ticks
    介紹:通過命令列獲得交易Tick資料的庫

  • pybbg
    介紹:Bloomberg的python介面,方便其使用者快速獲取資料

  • ccy
    介紹:一個用於貨幣的python模組。該模組編譯一個貨幣物件字典,包含有用的財務分析資訊。但並不是所有的貨幣都被支援,處於持續增加中。

  • tushare
    介紹:獲取歷史以及實時的中國股票資料,簡單好用,但資料質量堪憂,而且不太穩定

  • jsm
    介紹:獲取日本股票資料的一個API庫

  • cn_stock_src
    介紹:獲取中國股票資料的庫,比較小眾

  • coinmarketcap
    介紹:用於獲取coinmarketcap資料的Python API

  • after-hours
    介紹:獲得給定股票的歷史資料和小時股票價格

  • bronto-python
    介紹:brontoAPI整合,bronto-python是一個python資料查詢客戶端

Excel整合

  • xlwings
    介紹:處理excel檔案的庫

  • openpyxl
    介紹:處理xlsx字尾格式檔案的庫

  • xlrd
    介紹:處理excel的庫

  • xlsxwriter
    介紹:將資料寫入到xlsx的庫

  • xlwt
    介紹:建立可相容的excel的庫

  • ExcelPython
    介紹:處理excel的python庫

  • pyxll
    介紹:處理excel的庫

R

  • xts
    介紹:xts是對時間序列資料(zoo)的一種擴充套件實現,目標是為了統一時間序列的操作介面。實際上,xts型別繼承了zoo型別,豐富了時間序列資料處理的函式,API定義更貼近使用者,更實用,更簡單!

  • data.table
    介紹:data.table繼承於data.frame。它提供了一個快速通道,讓我們能更加快速的讀取檔案,對資料進行篩選、分組、排序、聯表,而且其語法靈活、簡介。由於data.table是一個data.frame所以它幾乎相容所有的函式。

  • TSdbi
    介紹:提供了一個時間序列資料庫的介面

  • tseries
    介紹:時間序列分析和金融資料分析出來的包

  • its
    介紹:不規則時間序列資料分析的包

  • zoo
    介紹:zoo是一個R語言類庫,zoo類庫中定義了一個名為zoo的S3型別物件,用於描述規則的和不規則的有序的時間序列資料。zoo物件是一個獨立的物件,包括索引、日期、時間,只依賴於基礎的R環境,zooreg物件繼承了zoo物件,只能用於規則的的時間序列資料。

  • tis
    介紹:專門針對帶時間戳資料的分析的包

  • tfplot
    介紹:資料操作和快速的時間序列視覺化的包

  • tframe
    介紹:時間序列資料操作包

資料包

  • IBrokers
    介紹:提供本地R訪問Interactive Brokers Trader的一個介面。

  • Rblpapi
    介紹:Bloomberg的基於R語言的資料介面

  • Quandl
    介紹:獲得金融資料的R包

  • Rbitcoin
    介紹:統一市場API介面(包括bitstamp、kraken、btce、bitmarket)。

  • GetTDData
    介紹:直接從Tesouro Direto網站下載並彙總巴西政府發行債券的資料。

  • GetHFData
    介紹:從Bovespa ftp站點直接下載並彙總的高頻交易資料

金融工具包

  • RQuantLib
    介紹:RQuantLib將GNU R與QuantLib連線起來。

  • quantmod
    介紹:定量金融建模框架。

  • Rmetrics
    介紹:數字金融教學和培訓的首要開源軟體解決方案

  • portfolio
    介紹:權益資產(股票)分析的一個包

  • portfolioSim
    介紹:模擬股票投資組合策略構建的框架

  • stockPortfolio
    介紹:建立股票模型並分析股票投資組合

  • financial 介紹:貨幣時間價值、現金流分析等財務功能

  • sde 介紹:價格隨機微分方程的模擬與推理

  • termstrc
    介紹:零息票收益率曲線估計

  • YieldCurve
    介紹:收益率曲線的建模和估計

  • SmithWilsonYieldCurve - 介紹:通過Smith-Wilson方法從LIBOR和SWAP匯率表中構建收益率曲線

  • ycinterextra
    介紹:收益率曲線或零息票據的內插和外推

  • opefimor
    介紹:優化價格和金融模型估計

  • maRketSim
    介紹:金融市場模擬模擬的一個R包

  • AmericanCallOpt
    介紹:美國看漲期權定價的一個包

  • VarSwapPrice
    介紹:權益指數定價的方差互換

  • RND - 風險分析

  • LSMonteCarlo
    介紹:美國期權定價與最小二乘法蒙特卡羅方法

  • OptHedging
    介紹:看跌期權的定價和套期保值策略的估計

  • tvm
    介紹:貨幣功能的時間價值

  • OptionPricing
    介紹:有效模擬期權定價

  • derivmkts
    介紹:金融衍生品市場的R語言包

  • FinCal
    介紹:時間序列資料處理和金融分析

  • r-quant
    介紹:R語言實現的金融資料分析庫

交易

  • TA-Lib
    介紹:對金融市場資料進行技術分析,運用非常廣泛。

  • backtest
    介紹:backtest提供了探索有關金融工具(股票、債券、掉期、期權等)的投資組合構建,能夠對多市場標的進行回測的交易包。

  • pa
    介紹:股權投資組合的績效歸因包。

  • TTR
    介紹:技術交易規則包。

  • QuantTools
    介紹:QuantTools全部在一個R包中,旨在增強量化交易策略建模。 它允許您從Yahoo、Google和IQFeed等多個來源下載和整理歷史市場資料,並快速編寫交易演算法,具有強大的事件驅動處理API,包括交易成本和交換通訊延遲,並將詳細資料無縫轉換為R程式碼。在幾行程式碼中,您將能視覺化地看到交易模型如何從bar資料到回測結果圖。

風險分析

Time Series

  • tseries
    介紹:時間序列處理和金融分析的一個R包,開篇的第一個例子就是單位根檢驗。

  • zoo
    介紹: 一個S3類,特別針對不規律的時間序列數字向量/矩陣建模。zoo包設計目標
    是為獨立的特定索引/日期/時間類提供擴充套件方法保持與ts和base R的一致性

  • xts
    介紹:通過擴充套件zoo包來提供對R不同時間資料型別的統一處理,並允許使用者定製和擴充套件,同時簡化跨類互操作性。

  • fGarch
    介紹:自迴歸條件異方差建模的一個包,這個包定位比較精專。

  • timeSeries
    介紹:如名字所示,金融工程與計算金融環境,管理金融時間序列資料物件。

  • rugarch
    介紹:提供ARFIMA、in-mean, external regressors 等各種GARCH模型,數理知識要求比較高,很多函式理解起來很困難。

交易日曆

  • timeDate
    介紹:timeDate不僅提供日期和時間功能,而且還提供複雜的工作日、週末、節假日和教會假期的日曆操作。

  • bizdays
    介紹:在許多國家,價格衍生品和固定收益工具的定價涉及到使用工作日。例如,在巴西,絕大多數的金融機構都是按照營業日計數規則定價。bizdays的目的是使日期計算更加簡單。

Matlab

  • QUANTAXIS
    介紹:Matlab上整合的量化工具包

Julia

  • QuantLib.jl
    介紹:用Julia實現的Quantlib庫。

  • FinancialMarkets.jl
    介紹:Julia的量化金融模型庫。

  • TALib.jl
    介紹:TA-LIB的Julia版本,一個技術分析的量化庫。

Java

  • JQuantLib
    介紹:純java寫的量化金融庫,類似於Python的Quantlib

  • finmat.net
    介紹:數學金融庫:與數學金融相關的演算法和方法。

  • quantcomponents
    介紹:QuantComponents - 用於量化金融和演算法交易的免費Java元件

  • DRIP
    介紹:固定收益、資產配置、交易成本分析的庫

JavaScript

Scala

Ruby

  • Jiji
    介紹:Ruby的演算法交易介面

框架

歡迎補充。

文中提供的網頁連結,均來自於網路,如有問題,請站內告知。

原創出品,轉載請先獲得作者BigQuant—人工智慧量化投資平臺同意!