日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

zipline整体架构

發布時間:2024/1/4 综合教程 43 生活家
生活随笔 收集整理的這篇文章主要介紹了 zipline整体架构 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在這里可以看出,zipline由下面幾個主要的部分構成

名稱 說明
TradingAlgorithm 量化策略的抽象,既可以通過初始化傳入構造上參數的方式,也可以通過繼承的方式構造,其中zipline命令行主要的運行入口邏輯run方法也在這個類中
TradingCalendar 交易日歷的抽象,這個類非常重要,無論是在構建數據的過程還是運行的過程,都可以用到
DataPortal 數據中心的抽象,可以通過這個入口獲取很多不同類型的數據
AlgorithmSimulator 使用generator的方式,表述了策略運行過程的主循環。如果說TradingAlgorithm更像是代表了策略本身,那么AlgorithmSimulator更像是策略的執行器,尤其要關注的是他的transform方法
TradingEnvirioment 構造運行環境,主要是benchmark國債利率曲線等信息,對于美國的市場,這個類基本上不太需要關注,但是對于國內的市場,我么需要構建自己的TradingEnvironment

Every zipline algorithm consists of two functions you have to define:

initialize(context)
handle_data(context, data)

context is a persistent namespace for you to store variables you need to access from one algorithm iteration to the next.

Zipline的本地化回測應用主要涉及2大塊內容:TradingEnvironmentTradingAlgorithm
TradingEnvironment主要用于本地化交易環境設置,而TradingAlgorithm則是Zipline回測框架的主對象,可以理解為回測入口。

TradingEnvironment本地化最重要的就是設置:

tradingcalendar
benchmarke_return
treasury_return
tradingcalendar用于設置tradingdays,其默認已排除周六周日,因此只需要重寫一個py文件將每年對應的holiday(國內假期)從tradingdays除去即可。
而benchmarke_return和treasury_return則作為策略回報的比較基準,將國內滬深300和對應各期限國債收益率通過重載load函數導入,將load函數對象傳入至TradingEnvironment即可。
注意benchmarke_return為Pandas的Series對象,treasury_return為DataFrame對象,各期限必須包含1month ~ 10year間所有。

TradingAlgorithm的本地化則需要重點設置:simulation_parametersinitialize函數對象,handle_data函數對象。
simulation_parameters包括策略回測的起始日期和回測頻率,回測起始日期必須通過Pandas的tz_localize本地化,而回測頻率包含daily和minute兩種方式。
而initialize函數與handle_data函數則用于策略初始化和模擬Bar周期反復回調所用。

數據的準備:理論上Zipline只支持其內置的DataPortal類型,它是其回測模擬所有數據的接口。
考慮到通用性,Zipline目前也支持pandas的DataFrame和Panel,只不過它對DataFrame的支持就是將其很粗暴的轉換為Panel來實現的。因此,就目前來說,Zipline只支持內置DataPortal和Pandas的Panel兩種類型。所以,用戶可以將任何本地可獲取的數據首先轉換為DataFrame,其index按日遞增,columns為小寫的open、high、low、close和volume等。然后以DataFrame為value,數據ticker為key來構建相對應的Panel作為回測本地化的標準數據輸入。

總結

以上是生活随笔為你收集整理的zipline整体架构的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。