quantrader和matlab不匹配,【Matlab量化投资】支持向量机择时策略
原標題:【Matlab量化投資】支持向量機擇時策略
感謝國泰安與本公眾號合作
推出【Matlab量化投資系列】
機器學習
所謂機器學習,其實就是根據樣本數據尋找規律,然后再利用這些規律來預測未來的數據(結果)。
但是,直到今天,機器學習也沒有一種被大家廣泛認同的理論框架產生,這個也是機器學習被大家詬病的原因之一:它是沒有理論基礎的。
目前機器學習的方法大概可以分為以下幾種:
1、經典的參數統計估計方法:基于傳統統計學,需要已知的樣本分布形式,局限性比較大。
2、經驗非線性方法:利用已知樣本建立非線性模型(如人工神經網絡),克服了傳統參數估計方法的困難,但缺乏統一的數學理論。
3、統計學習理論(SLT):專門研究小樣本情況下機器學習規律的理論,核心概念是VC維概念,解決了神經網絡結構選擇、局部極小點等問題。支持向量機(SVM)就是基于這一理論產生的。
SVM支持向量機擇時策略
支持向量機
支持向量機是用來解決分類問題的。
先考慮最簡單的情況,豌豆和米粒,用曬子很快可以分開,小顆粒漏下去,大顆粒保留。用一個函數來表示就是當直徑d大于某個值D,就判定為豌豆,小于某個值就是米粒。
d>D, 豌豆;d
在數軸上表現為d左邊就是米粒,右邊就是綠豆,這是一維的情況。
但是實際問題沒這么簡單,考慮的問題不單單是尺寸。
一個花的兩個品種,怎么分類?
假設決定他們分類的有兩個屬性,花瓣尺寸和顏色。單獨用一個屬性來分類,像剛才分米粒那樣,就不行了。這個時候我們設置兩個值:尺寸x和顏色y。
我們把所有的數據都丟到x-y平面上作為點,按道理如果只有這兩個屬性決定了兩個品種,數據肯定會按兩類聚集在這個二維平面上。
我們只要找到一條直線,把這兩類劃分開來,分類就很容易了,以后遇到一個數據,就丟進這個平面,看在直線的哪一邊,就是哪一類。
例如:x+y-2=0這條直線,我們把數據(x,y)代入,只要認為x+y-2>0的就是A類,x+y-2<0的就是B類。
以此類推,還有三維的,四維的,N維的屬性的分類,這樣構造的也許就不是直線,而是平面,超平面。
例如:一個三維的函數分類 :x+y+z-2=0,這就是個分類的平面了。
有時候,分類的那條線不一定是直線,還有可能是曲線,我們通過某些函數來轉換,就可以轉化成剛才的那種多維的分類問題,這個就是核函數的思想。
例如:分類的函數是個圓形x^2+y^2-4=0。這個時候令x^2=a; y^2=b,還不就變成了a+b-4=0 這種直線問題了。
這就是支持向量機的思想。
機的意思就是算法,機器學習領域里面常常用“機”這個字表示算法。
支持向量意思就是數據集種的某些點,位置比較特殊,比如剛才提到的x+y-2=0這條直線,直線上面區域x+y-2>0的全是A類,下面的x+y-2<0的全是B類,我們找這條直線的時候,一般就看聚集在一起的兩類數據,他們各自的最邊緣位置的點,也就是最靠近劃分直線的那幾個點,而其他點對這條直線的最終位置的確定起不了作用,所以我姑且叫這些點叫“支持點”(意思就是有用的點),但是在數學上,沒這種說法,數學里的點,又可以叫向量,比如二維點(x,y)就是二維向量,三維度的就是三維向量(x,y,z)。所以 “支持點”改叫“支持向量”,聽起來比較專業,NB。
所以就是”支持向量機了。
當然了,SVM的實際理論要復雜的多,如果大家有興趣,就自行去搜索一下參考資料來看啦,由于篇幅關系,這邊就不贅述了。
核函數分類
目前應用最多的四類核函數分別為:線性核函數、多項式核函數、高斯核函數和Sigmoid核函數。
選擇不同的核函數和參數,SVM的性能會有很大的差異,因此核函數及其參數的選擇是SVM理論和應用研究中的一個重要課題。
SVM看上去是比較復雜,但是在實際應用當中還是比較簡單的,因為Matlab本身就已經提供了SVM的工具箱(函數),我們直接調用就可以了,當然,大家也可以自行去安裝一些其他SVM的工具箱來實現。
那下面我們就開始編寫策略啦~
小編所使用的數據、策略回測、交易等等都是來自于國泰安量化終端Quantrader。而小編使用的策略編寫語言是Matlab,實現策略不要太簡單。
策略簡介
訂閱中證800指數和相應的成分股,使用了日頻最高價、最低價、收益率、成交金額、營業收入增長率和次日停牌因子等數據。
策略流程圖如下:
策略參數配置
根據之前提到的訂閱的交易代碼和數據,使用Quantrader可以直接配置如下:
策略主程序
數據準備好了之后,我們就可以開始碼代碼啦。
1、訓練分類器:
2、預測:
3、交易下單:
策略回測
策略寫完了當然要用歷史數據回測看看績效。同樣的,使用Quantrader,完成回測。
從過去3年半的績效來看,這個策略年化收益約50%左右,夏普達到了2。
完整版源代碼請點擊閱讀原文
關注者
從1到10000+
每天我們都在進步
閱讀量前10文章
No.01
No.02
No.03
No.04
No.05
No.06
No.07
No.08
No.09
No.10
聽說,置頂關注我們的人都不一般返回搜狐,查看更多
責任編輯:
總結
以上是生活随笔為你收集整理的quantrader和matlab不匹配,【Matlab量化投资】支持向量机择时策略的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 鼠标停留时,[Java教程]鼠
- 下一篇: java最基础语句,Java基础:Jav