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

    十分鐘學會寫量化策略

     昵稱36538943 2017-01-19

    十分鐘學會寫量化策略

    本文通過講述 [單股票均線策略] 在 Ricequant 量化平臺的實現,熟悉平臺并快速入門、創建自己的量化策略代碼。

    難易度:入門級

    那么以下我們就先從 [單股票均線策略] 的代碼實現及進行日級別回測講起吧。

    1 確定框架:

    [單股票均線策略] 的主要策略框架: 5 日均線高于 30 天均線,則全倉買入股票 5 日均線低于 30 天均線,則賣出所持股票

    從我們日常交易的角度,一般交易者的行為可以拆分以下兩部分:

    1 選擇標的(初始化):

    在交易之前,我們通常會先選定要交易的股票池或者單個股票

    2 交易(每天盯盤):

    我們會觀察該股票的五日均線和 30 日均線,并進行比較 如果該股票的五日均線在 30 天均線以上,則全倉買入股票 如果該股票的五日均線在 30 天均線以下,則全倉賣出(空倉)

    那么程序中,我們是怎么做的呢?

    先看看 Ricequant 平臺中對應的代碼框架會是怎么樣的吧:

    對照策略思路 及 Ricequant 代碼框架,你會發現我們可以很輕松地把 兩者結合起來

    以上框架也是 Ricequant 平臺的最基本也最主要的框架,也就是

        1.初始化

        2.循環 - 根據選擇的頻率(日、分鐘)循環運行

    2 初始化:

    選擇標的:本策略的交易股票設定為 300059 ”東方財富“。

    延伸閱讀:

    1 在 init 中實現程序的初始化,例如存入目標股票池,設置滑點、基準等參數以及設置其它變量。

    context 是一個全局的容器,你可以通過它設置任何全局變量并初始化:如 context.stock 將會在后面代碼所被調用到。

    2 代碼中 # 代表注釋,作為代碼說明,執行時會被跳過而不為程序所運行。

    3 如何填寫股票代碼:你會發現策略代碼中 股票代碼后帶有后綴,那么它們分別代表什么呢?

    后綴為

    (1)XSHE 代表在深交所上市交易的股票XSHG 在上交所上市交易的股票

    例子:

    (2)300059.XSHE 為深交所上市的東方財富600000.XSHG 為上交所上市的浦發銀行

    我們的代碼編輯器還提供了非常便利的股票代碼自動尋找和補全功能,在 Windows 中你可以用 ctrl+i,

    Mac 系統你可以用 cmd+i 激活證券代碼自動補全功能。如下圖:

    3 獲取均價:

    我們分別獲取該股票 5 日和 30 日的均價

    4 判斷買賣條件:

    獲得均價數據之后,我們就可以進行一個判斷決定是否買賣了:

    在判斷之前,我們還漏了一步,那是什么呢?就是要知道我們有多少現金,那么在程序中是如何獲得現金的呢?我們使用以下代碼

    延伸閱讀: portfolio 中 包含所有的投資組合的信息,請參考文檔 - Portfolio 對象

    5 買入 /賣出:

    在判定買賣的條件成立之后,我們會對股票進行買入或者賣出的操作:

    6 策略回測

    以上,我們用幾行代碼就把策略的框架完整地搭建起來了,最終的完整代碼為:

    寫完了策略,那么我們接下去做什么呢? 先對我們的策略進行一次歷史回測,看看它的歷史表現是如何吧。

    在策略編輯頁面右上方,選擇從2015年1月4日至2016年10月4日,用資金10萬元進行日回測吧,請點擊 運行回測

    如代碼沒有問題,在數秒之后,我們就會拿到該策略的歷史表現結果:

    我們可以看到回測詳情中有精致的圖表,詳細的各項風險收益指標、以及持倉、落單等詳情輔助你進一步了解你的策略的表現。

    到這里,一個完整的從 [構建策略思路] 到 [策略代碼編寫] 到 [回測結果檢驗] 的流程就結束了。

    7 從日回測到分鐘回測:

    在循環部分, handle 函數根據選擇的頻率(日、分鐘)循環運行,在以上的日回測中, handle 內的代碼會每日被觸發一次

    如果是進行分鐘回測或模擬實盤,那么這個 handle 里的代碼就會被每分鐘觸發一次;

    因此,我們的代碼邏輯也勢必要進行一定的改進,使得策略按照我們的邏輯正常地運行。

    我們先把修改好的代碼貼上來:

    可以看到這里改動并不多,

    這里需要介紹到框架中常用到的函數 before_trading :

    我們在 before_trading 中設置一個變量命名為 fired ,賦值為0

    由于 before_trading 是每天開盤前運行一次,所以 context.fired 會被每天重置為 0

    在 handle 函數中,我們加入了判斷,如 context.fired 為 0 ,則繼續執行下面的代碼,否則本次循環結束。

    并在執行完判斷和買賣操作之后,設定 context.fired 的值等于 1 ,使得當日余下的分鐘循環操作均被跳過。

    在完成以上代碼后,我們開始進行分鐘回測吧: 在策略編輯頁面右上方,選擇從2015年1月4日至2016年10月4日

    ,用資金10萬元進行分鐘回測吧,請點擊 運行回測


    8 模擬交易:

    模擬交易通過實時的分鐘切片數據進行撮合,也就是 handle 函數會每分鐘被觸發一次循環。在開啟你的策略的模擬交易之前,

    你必須要對它進行一次分鐘回測,才可以開啟模擬交易。在上面分鐘回測之后,你可以在策略回測詳情頁面點擊 開啟模擬交易。

    然后你將在模擬交易列表中看到進行中的策略。


    9 開啟微信通知,接收交易信號:

    點擊導航欄中的 [我的策略] ,可以在 [模擬交易] 一欄看到創建的模擬交易,如下圖:

    點擊右邊的微信通知開關,將 OFF 調至 ON ,并按照指示掃描二維碼,綁定微信,就能通過微信接收交易信號了。

    當該策略進行買賣操作,你的微信會收到類似下圖的信號提醒。微信推送的延遲非常小,使得你能根據信號進行及時的下單操作。

    是不是很輕松,數行代碼就可以把你的投資策略變成代碼,大家都來試試吧!

    原文鏈接

    $上證指數(SH000001)

    @今日話題 @一只特立獨行的豬 @量化鋼鐵俠 @ETF拯救世界 @市值風云 @DAVID自由之路 @沒干貨不廢話 @stockmarker @弱弱的投資者 

      本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發現有害或侵權內容,請點擊一鍵舉報。
      轉藏 分享 獻花(0

      0條評論

      發表

      請遵守用戶 評論公約

      類似文章 更多

      主站蜘蛛池模板: 四虎永久精品免费视频| 宝贝腿开大点我添添公视频免| 无码高潮少妇毛多水多水免费| 国产一区二区三区美女| 天天澡日日澡狠狠欧美老妇 | 久久大香伊蕉在人线免费AV| 国精品人妻无码一区免费视频电影 | 国产中文三级全黄| 制服丝袜美腿一区二区| 中文字幕在线观看| 一卡二卡三卡四卡视频区| 久久久久波多野结衣高潮| 国产精品免费中文字幕| 人妻影音先锋啪啪AV资源| 久久精品丝袜高跟鞋| 2021国产精品视频网站| 日日碰狠狠添天天爽无码| 免费无码又爽又刺激高潮虎虎视频| 欧美孕妇变态孕交粗暴| 99国产欧美另类久久久精品| 国产欧美日韩高清在线不卡| 国产麻豆成人传媒免费观看| 四虎亚洲精品高清在线观看| 性一交一乱一伦一| 精品国偷自产在线视频99| 国产精品福利中文字幕| 少妇人妻偷人精品视蜜桃| 无码人妻斩一区二区三区| 久久婷婷五月综合尤物色国产| 女高中生强奷系列在线播放| 国产精品久久久久7777| 亚洲日本成本人观看| 日韩人妻一区中文字幕| 国精产品一区二区三区有限公司 | 三上悠亚久久精品| 亚洲精品成人福利网站 | 人妻中文字幕亚洲一区| 日韩内射美女人妻一区二区三区| 任我爽精品视频在线播放| 国产中文字幕日韩精品| 人妻久久久一区二区三区|