摘要:最近研究量化交易,看了幾個回測的框架,最后盯上這個項目。所以對這個框架進行了一番研究。比如的設(shè)計,也是采用事件回調(diào)來計算指標或者進行交易。在的科學計算框架體系中,是核心,其核心的數(shù)據(jù)結(jié)構(gòu)也被廣泛使用于其他數(shù)據(jù)分析框架之中。
最近研究量化交易,看了幾個回測的框架,最后盯上PyAlgoTrade這個項目。感覺很不錯,支持
策略回測和實盤交易,提供全面的技術(shù)分析接口,算是python的量化交易框架里比較出色的作品。所以對這個框架進行了一番研究。
量化交易,一般是采用統(tǒng)計學和數(shù)學工具,對資產(chǎn)的各個方面進行定量分析,并制訂程序化的交易策略嚴格執(zhí)行來獲得收益。這里面有兩大核心任務(wù),
一個是數(shù)據(jù)分析,一個是程序化交易。
與純粹的數(shù)據(jù)分析不同,因為有交易動作的存在,同時,在實盤交易中,還要實時更新價格、成交量等數(shù)據(jù)。這里面可以很明顯的看到系統(tǒng)的結(jié)構(gòu):
數(shù)據(jù)分析模塊----行情接口和數(shù)據(jù)源----交易訂單管理模塊----交易下單API
這幾個模塊之間還存在狀態(tài)一致性的維護。因此,交易系統(tǒng)的設(shè)計,一般采用事件驅(qū)動的設(shè)計。比如MetaTrader 4的設(shè)計,MQL也是采用事件回調(diào)來計算指標或者進行EA交易。PyAlgoTrade也是基于這個理念開發(fā)的。PyAlgoTrade自己封裝了一套事件分發(fā)機制,具體的實現(xiàn)可以參考:
observer和
dispatcher這兩個模塊
量化交易中的數(shù)據(jù)以資產(chǎn)價格或者成交量的時間序列為主,這類序列化數(shù)據(jù)的分析框架有很多。大部分的科學計算框架,比如:Numpy、SciPy、statsmodels、scikit-learn等等,都支持序列或者Array的分析。在Python的科學計算框架體系中,Numpy是核心,其核心的ndarray數(shù)據(jù)結(jié)構(gòu)也被廣泛使用于其他數(shù)據(jù)分析框架之中。但是盡管ndarray適用于分析領(lǐng)域,在程序化交易中,仍然希望數(shù)據(jù)結(jié)構(gòu)內(nèi)的變化依然能有一個對外的通知,需要一個帶有事件支持的數(shù)據(jù)結(jié)構(gòu)。因此PyAlgoTrade并沒有采用ndarray或者pandas的dataframe作為基礎(chǔ)數(shù)據(jù)結(jié)構(gòu),而是自行封裝了一個DataSeries結(jié)構(gòu),以及針對每個K線或者蠟燭圖的Bar結(jié)構(gòu)。
與數(shù)據(jù)分析框架的整合方式盡管因為需求的原因,需要多帶帶實現(xiàn)一套數(shù)據(jù)結(jié)構(gòu),但是要使用主流的分析框架,依然需要使用ndarray這樣的數(shù)據(jù)結(jié)構(gòu)。這里就存在一個數(shù)據(jù)轉(zhuǎn)換的問題。同時,由于實盤交易的原因,PyAlgoTrade策略實現(xiàn)上,以復(fù)寫onBars方法(其意義與MQL中的onTick方法類似)為主,因此也是需要每次更新Tick數(shù)據(jù)就進行一次計算。
這里就涉及到一個移動窗口問題。PyAlgoTrade也對此做了一定的封裝。這里可以參考:
technical.EventWindow這個類。
而talibext.indicator模塊中包含了talib的封裝。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/37592.html
摘要:深度學習框架作為熱身,我們先看一下深度學習框架。在年有急劇的增長,但在過去幾個月被超越。 你是否使用過 Google Trends?相當?shù)目?,你在里面輸入關(guān)鍵詞,看一下谷歌搜索中這一詞條如何隨時間變化的。我想,過去 5 年中 arxiv-sanity 數(shù)據(jù)庫中剛好有 28303 篇機器學習論文,為什么不做一些類似的工作,看一下過去 5 年機器學習研究有何進化?結(jié)果相當?shù)挠腥?,所以我把它貼了出...
摘要:近日,與微軟聯(lián)合推出了開放式神經(jīng)網(wǎng)絡(luò)交換格式,它是一個表征深度學習模型的標準,可實現(xiàn)模型在不同框架之間的遷移。例如,在中,條件句通常是對輸入張量的大小或維度上的計算。 近日,F(xiàn)acebook 與微軟聯(lián)合推出了開放式神經(jīng)網(wǎng)絡(luò)交換(ONNX)格式,它是一個表征深度學習模型的標準,可實現(xiàn)模型在不同框架之間的遷移。ONNX 是構(gòu)建開源生態(tài)環(huán)境的第一步,供人工智能開發(fā)者輕松選擇并組合較先進的工具。開發(fā)...
摘要:最近很熱的討論關(guān)于真阿當對目前流行前端技術(shù)的批判我眼中的前端框架,,,以及我看前端架構(gòu)關(guān)于前端工具變化過快的討論我感覺到的前端變化上面幾篇文章對于前端的發(fā)展討論較多。 showImg(https://segmentfault.com/img/bVr3sx); 最近很熱的討論 關(guān)于『真阿當』對目前流行前端技術(shù)的批判 https://www.zhihu.com/question/3892...
摘要:一項由清華大學計算機系智能技術(shù)與系統(tǒng)國家重點實驗室清華國家信息實驗室清華大學計算機科學與技術(shù)系英特爾中國研究院清華大學電子工程系的研究人員共同參與的關(guān)于高效視覺目標檢測的研究已經(jīng)被接收。 一項由清華大學計算機系智能技術(shù)與系統(tǒng)國家重點實驗室、清華國家信息實驗室、清華大學計算機科學與技術(shù)系、英特爾中國研究院、清華大學電子工程系的研究人員共同參與的關(guān)于高效視覺目標檢測的研究已經(jīng)被 CVPR 201...
摘要:截止到今天,已公開發(fā)行一周年。一年以來,社區(qū)中的用戶不斷做出貢獻和優(yōu)化,在此深表感謝。所以與衡量它的指標包括在機器學習研究論文中的使用。來自香港科技大學的在上推出了面向普通觀眾的在線課程。 Yann LeCun Twitter截止到今天,PyTorch 已公開發(fā)行一周年。一年以來,我們致力于打造一個靈活的深度學習研究平臺。一年以來,PyTorch 社區(qū)中的用戶不斷做出貢獻和優(yōu)化,在此深表感謝...
閱讀 3469·2023-04-25 23:25
閱讀 2117·2021-11-12 10:36
閱讀 2827·2019-08-30 12:47
閱讀 2050·2019-08-29 18:45
閱讀 450·2019-08-29 17:28
閱讀 1796·2019-08-29 17:15
閱讀 1720·2019-08-29 16:05
閱讀 1424·2019-08-29 14:17