久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
    分享

    從零實現”搭積木式實現策略“的回測系統 part I

     AI量化實驗室 2023-10-12 發布于北京

    對量化交易感興趣的同學,對于回測系統肯定不陌生。以quantopian為藍本的回測平臺,國內已經一抓一把,那為什么還需要從頭實現一個系統?而且,什么是“搭積木式實現策略”呢?

    對比現存的量化平臺,實現如下價值:

    1,市面上量化系統引擎是黑盒(當然大部分是zipline——代碼是開源的,但可讀性一般),從頭實現可以做到知其然更知其所以然。

    2,擁有自己的,代碼易讀性的系統,不用擔心策略泄漏。

    3,提供一個構架清晰且易擴展的系統。

    4,”積木式“寫策略,避免市面上那些冗長的模板代碼——這個是本系統的亮點之一。

    5,下一步會擴展到深度強化學習、機器學習自動調參等。

    系統運行示例

    ”積木式“策略示例,如下實現“買入并持有”和“均線交叉”策略:

    buy_and_hold = Strategy([

    RunOnce(),

    PrintBar(),

    SelectAll(),

    WeighEqually(),

    ],name='買入并持有-基準策略')


    long_expr ='cross_up(ma(close,5),ma(close,10))'

    flat_expr ='cross_down(ma(close,5),ma(close,10))'

    ma_cross = Strategy([

    SelectByExpr(long_expr=long_expr,flat_expr=flat_expr),

    WeighEqually(),

    ],name='均線交叉策略')

    幾乎沒有模板代碼,沒用調用api對不對?是的,就是這樣,我們把大量常用的算法都以模塊的形式,變成一個小小算法模塊,我們按照自己的策略想法,按需把積木搭起來就好了,簡單而且不容易出錯,基本是不需要調試的!


    運行狀態截圖


    策略指標


    策略繪圖

    背景說明

    隨著機器學習,人工智能的火熱,AI+金融受到了很多關注。alpha go大敗李世石之后,master再次完勝柯潔,人們自然而然會想,如果把前沿AI技術應用到“離錢最近”的金融證券投資會取得什么樣的效果呢?

    Quant涉及很多的基礎知識,包括金融學,投資學,經濟學,數學,統計學,甚至物理學,心理學等等,Quant系統也很復雜,由從多子系統構成。而量化回測系統(Backtesting)幾乎是Quant系統里,最為基礎且最為重要的一環。

    什么是回測系統?

    量化交易,就是計算機按指定的策略,產生特定的交易信號。因為二級市場所有歷史數據、財務數據都是可獲得的,既然是計算機進行操作,就很容易對整個交易進行復盤。好比我們玩撲克牌或者“狼人殺游戲”,在一局結束,總有自認邏輯嚴密的人喜歡對游戲過程進行復盤,剛哪里可以做得更好,分析出了什么問題,確保后續如何優先,調整和提高。這就是“回測”系統的價值

    回測系統至少有如下優點:

    一、回測系統幾乎是無代價的,我們可以調整參數,或者各種創造性的想法,這個系統會告訴你,在過往一段時間(比如一年),假如你真的這么交易了,收益率,風險,最大回撤是多少。這就避免我們花大量真金白銀去市場上買教訓。

    二、更重要的事,節省時間,你可以在幾分鐘內模擬幾個股市周期,穿越牛熊。你如果要想經歷幾個股市周期,那估計是以10年甚至更長的時間維度來計算,但對于量化回測引擎,幾秒鐘就可以告訴你結果,且沒有產生實質的損失。

    量化回測系統對于初學者是神秘的,但其原理并不復雜。此系列文章的目的,就是帶著大家,用python從零實現一個量化回測系統。

    量化回測系統總體架構一覽:

    SymbolBroker —— 記錄單支證券交易詳情,包括持倉情況(position),交易傭金(Commission),證券的收盤價(Close)。投資組合(Portfolio)會根據外部給出的交易指令,調用SymbolBroker的接口,去更改該證券的持倉情況,并計算交易所產生的傭金。

    Portfolio —— 記錄整個投資組合交易詳情,包含組合的總市值(total),現金余額(cash),交易傭金,同時維護一個SymbolBroker的dict,包含所有的證券的SymbolBroker。每一期,會根據傳入的FLAT(平倉)列表,把相應的證券平倉,同時根據需要持倉的證券的比例,將現金余額按指定的比例分配到對應的證券上。

    TradingEnv —— 交易環境,根據策略(Strategy)產生的指令,調用Portfolio更新持倉組合情況。

    DataFeed —— 數據獲取,目前支持quandl平臺的美股數據。

    Strategy —— 策略,執行相應的“積木”模塊化的算法集合。

    Algo —— 算法基類,用戶可以自行定義所需的算法模式。系統已經內置了許多常用的模塊,包括執行頻率,比如執行一次,按周執行,按月執行;資金分配模塊,按信號產生交易指令模塊等。

    這就是系統的核心組件了,其中TradingEnv是系統的最外層。


    外層循環


    項目在github上開源,歡迎star。github項目-量化回測系統

      轉藏 分享 獻花(0

      0條評論

      發表

      請遵守用戶 評論公約

      類似文章 更多

      主站蜘蛛池模板: 国产免费看插插插视频| 在线a亚洲老鸭窝天堂| 国产精品第一二三区久久蜜芽| 日韩国产成人精品视频| 人妻系列无码专区免费| 波多野结衣乳巨码无在线观看| 丁香婷婷色综合激情五月| 中文字幕无码免费久久| 国产不卡一区二区在线| 久久久噜噜噜久久| 中文字幕av一区二区| A级毛片100部免费看| 国产精品中文字幕视频| 午夜免费国产体验区免费的| 亚洲精品无码日韩国产不卡av| 欧美国产综合欧美视频| 亚洲免费成人av一区| 亚洲AV成人中文无码专区 | 免费无码又爽又刺激高潮| 亚洲日韩精品无码一区二区三区| 久久天堂综合亚洲伊人HD妓女| 亚洲AV无码之国产精品网址| 99精品视频在线观看婷婷| 中文字幕乱码一区二区免费| 成在线人永久免费视频播放| 国产午精品午夜福利757视频播放| 亚洲综合色婷婷在线观看| 国产在线午夜不卡精品影院 | 337P日本欧洲亚洲大胆精品| 亚洲欧美日产综合在线网| 精品亚洲精品日韩精品| JIZZJIZZ亚洲日本少妇| 国产线观看免费观看| 国产中文字幕精品在线| 最新中文字幕AV无码专区不| 又色又污又爽又黄的网站| 另类专区一区二区三区| 精品成人乱色一区二区| 男人添女人下部高潮视频| 99久久婷婷国产综合精品青草漫画| 欧美人妻在线一区二区|