大宗交易數據挖掘(四)

數據分析

維度初步整理好以後,可以嘗試用R去做一些相關性分析,不過效果太差,因爲實際情況中,線性迴歸的效果是很差的。
這裏我定義了1個CHANCE的列(Factor),當買入天數(BuyRK)和賣出天數(SellRK)都存在時,則機會爲1,否則爲0。
當然,這是一個分類的問題,也就少不了用SVM和樸素貝葉斯嘗試去做分類,不過效果都非常差(無法整體分類),所以都不展示了。如果第一篇所述,這裏選擇決策樹來分析。
針對1萬多條數據,統計的基本情況如下:

>round(prop.table(summary(dzjy$CHANCE)),3)
    0     1 
0.792 0.208 

可以看到,只有21%的大宗交易是有機會的。之前看到有人分析,說大宗交易對於股價的影響爲0(漲跌概率50%),這點算是符合的。機會遠小於風險(指從邏輯上無法解釋,不會產生機會的情況),其中有幾類風險是要規避的:
1. 交易量不能超過流通股本的百分之二,這是因爲這種行爲不太可能是短期的,不符合假設;
2. 距離上一次大宗交易超過5個交易日,因爲超頻繁的大宗交易不符合假設;
3. 不存在同席位交易,同席位意味着大概率上是自導自演;
4. 近3日波動幅度低於15%,因爲中間出現某隻股票連續漲/跌停。

在過濾掉以上數據後,得到如下結果:

(b=rpart(CHANCE~Discount+BuyerCount+SellerCount+TradeToSelf+VolumeToCapital+LastDZJYDays+ClosedDays+ZSCloseToMA20+ZSCloseToMA5+CloseToMA20+CloseToMA5+FluctRange3, data=dzjy))

n= 3355 

node), split, n, loss, yval, (yprob)
      * denotes terminal node

1) root 3355 736 0 (0.7806259 0.2193741) *

雖然有機會的概率只提高了1%,但去掉那些數據毫無疑問是必需的。
再來查看折扣率(存在2.17是因爲復權),波動幅度等數據:

summary(dzjy$Discount)
     Min.   1st Qu.    Median      Mean   3rd Qu.      Max. 
-0.181000 -0.074000 -0.011000  0.004642  0.001500  2.172000 

summary(dzjy$FluctRange3)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
0.00470 0.03430 0.04990 0.05634 0.07220 0.14980 

對這部分數據嘗試用決策樹求解,找到這樣的葉節點:當折扣率介於 [-4%, 0.0%],3日內波動幅度>=3%,交易量佔流通股本的比例超過0.013%,指數在其20日線之下11%時(大盤超跌):

rpart(CHANCE~Discount+BuyerCount+SellerCount+TradeToSelf+VolumeToCapital+LastDZJYDays+ClosedDays+ZSCloseToMA20+ZSCloseToMA5+CloseToMA20+CloseToMA5+FluctRange3, data=dzjy[ind1, ])
n= 12 

node), split, n, loss, yval, (yprob)
      * denotes terminal node

1) root 12 1 1 (0.08333333 0.91666667) *

查看具體是哪幾天:

> unique(dzjy[ind1, ]$TradeDate)
 [1] "2017-04-25" "2017-11-03" "2017-12-11" "2017-11-30" "2017-10-19" "2017-04-20" "2017-05-09"
 [8] "2017-05-26" "2017-06-01" "2017-06-06" "2017-11-29"

同樣,按照這種方法,也找到另一些數據集,如:

rpart(CHANCE~Discount+BuyerCount+SellerCount+TradeToSelf+VolumeToCapital+LastDZJYDays+ClosedDays+ZSCloseToMA20+ZSCloseToMA5+CloseToMA20+CloseToMA5+FluctRange3, data=dzjy2)

n= 95 

node), split, n, loss, yval, (yprob)
      * denotes terminal node

1) root 95 13 1 (0.13684211 0.86315789)  
  2) ZSCloseToMA20< 0.0015 42  9 1 (0.21428571 0.78571429)  
    4) ZSCloseToMA5>=-0.0033 25  8 1 (0.32000000 0.68000000)  
      8) VolumeToCapital>=0.00055 7  3 0 (0.57142857 0.42857143) *
      9) VolumeToCapital< 0.00055 18  4 1 (0.22222222 0.77777778) *
    5) ZSCloseToMA5< -0.0033 17  1 1 (0.05882353 0.94117647) *
  3) ZSCloseToMA20>=0.0015 53  4 1 (0.07547170 0.92452830) *

綜合幾種情況後,就得到一些較高成功率的篩選規則,剩下的就是止損點的計算了,這是一個反覆嘗試的過程,估計出止損點是-7%,在買入後第5個交易日止損。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章