策略概要
SVM支持向量機
SVM學習問題可以表示為凸優化問題,因此可以利用已知的有效算法發現目標函數的全局最小值。而其他分類方法(如基於規則的分類器和人工神經網絡)都採用一種基於貪心學習的策略來搜索假設空間,這種方法一般只能獲得局部最優解。
SVM支持向量機量化交易策略
根據MATLAB提供的機器學習SVM支持向量機系列工具包,根據預測標籤0和1設計交易信號:信號為0表示做空;信號為1表示做多。在商品期貨上,該SVM策略表現一般,在金融期貨上,該策略表現各異。其中,在滬深股指上表現最好,年化收益率達24.65%,勝率達54.98%。
策略優化
僅僅使用SVM進行趨勢預測得到的勝率或者收益都不是很理想,我們需要增加信號過濾條件來優化該策略,最簡單的是增加雙均線策略:當5日均線大於30日均線時,過濾做多信號;當5日均線小於30日均線時,過濾做空信號。對策略進行優化之後,策略回測表現有一定提高。其中,策略優化後在滬深股指上表現有:年化收益率為27.76%,勝率高達60%
策略研究
Logistic回歸:一種廣義線性回歸模型
1.1 概念
logistic回歸又稱logistic回歸分析,是一種廣義的線性回歸分析模型,常用於數據挖掘,疾病自動診斷,經濟預測等領域。例如,探討引發疾病的危險因素,並根據危險因素預測疾病發生的概率等。
假設函數為:
其中x是n維特徵向量,函數g就是logistic函數。則函數圖像如下:
從而,當我們要判斷一個新來的特徵屬於哪個類時,只需求h_θ (x)即可,若大於0.5,就是y=1的類,反之,屬於y=0的類。
1.2 線性分類的一個例子
如下圖:
在2維空間中找到一個分類超平面,將空間上的點分類。直線就是一個超平面,將不同類型的兩種點分開。
超平面可以用分類函數f(x)=w^Tx+b表示:
當f(x)等於0的時候,x便是超平面上的點;
f(x)大於0的點對應y=1的數據點;
f(x)小於0的點對應y=-1的數據點。
而尋找最合適的超平面,就是使得這條直線離直線兩邊的數據的間隔最大 (虛線上的點稱為支持向量)。
1.3 最大間隔分類器的定義
最大間隔分類器的目標函數可以定義為:max γ
根據間隔的定義有:
該目標函數可以轉化為:
從線性可分到線性不可分
2.1 拉格朗日對偶性變換
對於之前的目標函數:
由於求1/ω 的最大值相當於求1/2|ω |^2的最小值,所以上述目標函數等價於:
這是一個凸二次規劃問題。
可以通過拉格朗日對偶性變換到對偶變量的優化問題,即線性可分條件下支持向量機的對偶算法,這樣做的優點是:一者對偶問題往往容易求解,二者可以自然的引入核函數,進而推廣到非線性分類問題。
通過拉格朗日對偶性變換得到的目標函數為(若x_i是支持向量的話,紅色部分為0):
2.2 特徵空間的隱式映射:核函數
核函數的價值在於它雖然也是將特徵進行從低維到高維的轉換,但核函數的優點就是它事先在低維上進行計算,而將實質上的分類效果表現在了高維上,也就是說避免了直接在高維空間中的複雜計算。
多項式核函數:
高斯核函數:
線性核函數:
SVM支持向量機
3.1 概念
支持向量機(support vector machine)是一種分類算法。它通過尋求結構化風險最小來提高學習機泛化能力,實現經驗風險和置信範圍的最小化,從而達到在統計樣本量較少的情況下,亦能獲得良好統計規律的目的。
SVM學習問題可以表示為凸優化問題,因此可以利用已知的有效算法發現目標函數的全局最小值。而其他分類方法(如基於規則的分類器和人工神經網絡)都採用一種基於貪心學習的策略來搜索假設空間,這種方法一般只能獲得局部最優解。
邏輯模式(logistic)以及決策樹模式都是使用直線方法,SVM使用非線性方法。SVM結構流程圖如下:
3.2 基於MATLAB的SVM交易策略
MATLAB函數:
SVMstruct=svmtrain(
trainData,
statesData,
'kernel_function',
'rbf'
)
trainData:表示每行代表一個訓練樣本;
statesData:表示data中每個樣本所屬種類(只能有兩個類);
'kernel_function':表示SVM的方法;
'rbf':表示'kernel_function'方法的具體實現。
y=svmclassify(
SVMstruct,
trainData(end-lags2+2:end,:)
)
y=1:上漲
y=0:下跌
SVM策略回測
4.1 回測設置
(1)品種設置:單品種交易。
(2)資金分配:固定手數,每次下單1手。
(3)回測時間:20150101- 20180101
(4)回測頻率:60分鐘
4.2 品種選擇
點寬量化平臺auto-trader(AT)是一個多品種量化交易平臺,它支持期貨標的品種交易。目前AT可以獲取共48個商品期貨品種,與國內市場上的商品期貨數量吻合,這些商品期貨分別是:上海期貨交易所14種、大連商品交易所16種、鄭州商品交易所18種。根據品種流動性,我們選擇2017年成交量前10的商品期貨進行回測。其流動性如下圖所示:
如上圖,成交量排名前10的有:螺紋鋼、鐵礦石、豆粕、甲醇、PTA、玉米、熱軋卷板、天然橡膠、菜籽粕、鎳。
而對於金融期貨方面,中金所有5個品種的主力合約,分別為中證、滬深、上證、長債和國債。
4.3 策略信號
特徵選擇:以前一天的最高價、最低價收盤價為特徵,預測當天的漲跌情況。
根據預測標籤0和1設計交易信號:信號為0表示做空;信號為1表示做多。
4.4 回測結果
對前面選出的10個商品期貨品種進行單品種回測,回測結果如下:
由表可知,總體來講,該SVM策略在商品期貨上表現都不理想。我們來看看SVM策略在金融期貨上的表現。
對於金融期貨,我們對5個金融期貨主力合約進行單品種回測,回測結果如下:
由表可得,該SVM策略在金融期貨表現各異,其中,在滬深股指上表現最好,年化收益率達24.65%,勝率達54.98%。
SVM在滬深股指(IF)回測的權益曲線如下:
策略優化
僅僅使用SVM進行趨勢預測得到的勝率或者收益都不是很理想,我們需要增加信號過濾條件來優化該策略,最簡單的是增加雙均線策略。
雙均線過濾信號如下:
1)當5日均線大於30日均線時,過濾做多信號。
2)當5日均線小於30日均線時,過濾做空信號。
回測結果如下
對於10個商品期貨品種有:
對於5個金融期貨品種有:
由上兩表可得,對策略進行優化之後,策略回測表現有一定提高,但效果並不明顯。
SVM優化後的滬深股指(IF)回測的權益曲線如下:
結論
1、該SVM策略在商品期貨上表現一般,在金融期貨上表現各異。
2、對策略進行優化時,增加雙均線策略進行信號過濾,回測表現有一定提高。
3、該SVM的特徵選擇過於簡單粗暴,並沒有對更多特徵進行統計分析和擇優,這可能是策略表現不好的原因之一。
4、該SVM並沒有進行參數優化操作,這也可能是該策略表現不好的原因之一。
5、SVM策略重點在於對特徵的選擇以及參數的優化步驟,而本文並沒有對該步驟進行深入研究和統計分析。有興趣的讀者可以對這兩步驟進行優化,或許會得到預想不到的結果呢!
聲明:本文由入駐金色財經的作者撰寫,觀點僅代表作者本人,絕不代表金色財經贊同其觀點或證實其描述。
提示:投資有風險,入市須謹慎。本資訊不作為投資理財建議。