當前位置:
首頁 > 最新 > 深度學習這麼火,快看如何使用TensorFlow基礎函數構建信號回測!

深度學習這麼火,快看如何使用TensorFlow基礎函數構建信號回測!

深度學習這個詞「耳聞目染」了很多次了,大家也都躍躍欲試,想在量化研究中用上深度學習。優礦集成了TensorFlow 1.4.1版本,我們終於可以大展身手了。

下手前,我們先大概的了解一下TensorFlow。TensorFlow字面上的意思是張量在流動,那什麼是張量,張量又在哪流動呢?Google對TensorFlow的定位其實不僅僅是一個深度學習的庫,而是一個基於數據流圖的數值計算框架。在數據流圖中節點表示操作,邊表示在節點間相互聯繫的多為數組即張量,只要把這個數據流圖畫好,張量就可以在圖上「流動」起來。使用TensorFlow前,先畫個圖(graph)。除此之外我們還需要了解:

使用Variable表示那些可被訓練的變數,維護計算狀態;

在會話session中執行圖;

使用feed和fetch可以為任意的操作賦值或獲取數據。

以上幾點我們會在實際代碼中一一介紹到。隨著近幾年深度學習的火熱,使得模型變得越來越多,CNN、RNN、LSTM等等一個個都如雷灌耳,它們在圖像語音上的效果很好,能否在量化投資上取得成效就看各位的了。本系列只作為一個TensorFlow的使用教程,幫助大家能快速上手,希望大家多多在優礦上使用,榨乾我們的伺服器資源。本系列預計分下面幾貼:

使用TensorFlow基礎函數構建簡單的神經網路模型進行回測;

使用TensorFlow中的高級API:Estimator、Experiment和Dataset;

使用TensorFlow構建深度學習網路並進行調優。

本文將展示如何用TensorFlow畫一個簡單LR和多層神經網路模型流程圖並進行效果回測。畫圖前我們得明確輸入輸出是啥,從多因子模型角度來說我們的輸入是一堆因子然後希望得到alpha信號,從機器學習模型的角度來說輸入就是一堆特徵輸出是分類或回歸結果。本文中我們的輸入是優礦提供的因子,基於我們對這些因子有預測能力的假設,我們目標是通過因子判斷下一個調倉周期中股票是漲是跌。具體而言,我們取每月末的每隻股票的因子為輸入特徵,以下個月股票是漲(值為1)是跌(值為0)為輸出標籤。一般而言我們需要分訓練集、測試集。訓練集用來訓練我們的模型,測試集用來驗證我們的模型效果如何,是否過擬合導致模型在測試集上的效果大打折扣。

準備完輸入輸出,我們就要開始畫圖了。

我們說了半天畫圖,但其實是在堆代碼,那我們的圖到底長啥樣呢?我們將上面定義的圖可視化後如下圖所示,圖中標識了主要的計算節點,邊就是流動的張量,和本文開頭介紹的一樣。

上面我們定義了一個簡單的LR模型,下面我們增加網路的層數。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 優礦量化實驗室 的精彩文章:

TAG:優礦量化實驗室 |