今天要介紹的是用 當我有多個資產或說多隻股
在操作的時候 我應該要怎麼分配我的資金呢?
很簡單的方法是...... 平均分配 
比如: 我有兩支股票 我就把錢投一半一半
         有三支我就各分三分之一 ..... 依此類推
但這樣好像有點不夠帥氣

所以我就在網上找了看起來簡單但又有理論架構的方法
叫做 馬克維茨優化模型
http://wiki.mbalib.com/zh-tw/%E6%8A%95%E8%B5%84%E7%BB%84%E5%90%88%E7%90%86%E8%AE%BA
這是一個最佳化的問題 因為每支股票都有預期的報酬和風險
我們希望的是在最小化風險(這邊用樣本均差) 的情況下 來分配我們的權重 使得報酬率最高

這是1952 年就研究出來的東西
當然 還有人持續在研究更好的方法 
不過新手小白覺得已經夠酷的了
他的計算方法因為要用到 數學公式 這邊就不講了
可以參考https://zh.wikipedia.org/wiki/%E6%8B%89%E6%A0%BC%E6%9C%97%E6%97%A5%E4%B9%98%E6%95%B0
 


http://ge.tt/9e0rEOq2
##範例檔案在這邊下載

是長這樣

這邊是亂數生成的
可以想成是 : 收集了 4個資產及他們11期的報酬率
希望可以用這4個資產組成一個較佳的組合

實際在R裡實踐 只有幾行code 
我就直接先貼下來了


dat=read.csv("covv.csv")
n=dim(dat)[1]
p=dim(dat)[2]
a=t(a)%*%a
one<-rep(1,p)
a1<-cbind(a,one)
one1<-c(rep(1,p),0)
lf=rbind(a1,one1)
rf=matrix(c(rep(0,p),1),nrow=p+1)
result<-solve(lf,rf)

最後執行出來 會得到如下圖 分別是資產1~4的投資組合權重
你可以看到sum 起來是1 十分合理 
至於 為甚麼會多一個 -0.1126 ,這個是計算上會用到的 就不理它吧~
還有  資產4 係數是負的  這看似有點不合理 
但不同支股票會有相關性  (可以想成是 資產4 漲 其他的資產會跌)
所以持有 資產4 (放空) 和其他股票搭配起來 反而會讓整體的風險下降
這點是很值得探討的喔~~~


 


另外 code裡邊 特別值得一提的是solve 這個函數
他可以幫忙解多元一次方程式
只是要把公式寫成矩陣的形式

我用一個簡單的例子好了:
假設我要解x y z 所組成的方程式

coef1=c(14,20,1,20,6,1,1,1,0)   #等式左邊 
coef2=c(0,0,1)  #等式的右邊
lf<-matrix(coef1,nrow=3,byrow=T)   # 寫成矩陣的樣子
# 稍微解釋一下   第一行它在說 14X+20Y+1Z
rf<-matrix(coef2,nrow=3)

#而這邊的 第一行是說 等於零
result<-solve(lf,rf)
result


得出答案囉 X=0.7 Y= 0.3  Z=-1.58
新手小白是沒有用手算去驗證啦~~~大家有空可以試試XD

好啦~~ 今天的分享就到這邊   如有其他 批評指教的地方 
歡迎大家在下邊留言

arrow
arrow

    Markjong001 發表在 痞客邦 留言(0) 人氣()