簡介:
前篇提及如何使用Python 繪製效率前緣,本篇將延續前篇內容,探討在隨機選股下,十支股票為一投資組合,1000組投資組合畫成1000組效率前緣在固定報酬率下,標準差的分配情形
程式操作
step 1 載入套件:
yfinance 下載方法:
step 2 取得所有上市股票代號:
不使用證交所網址,而選擇爬取此網站主要原因為,此網站資料結構較簡單,股票代碼不會和公司在同一欄位,省掉日後整理資料麻煩
整理資料:
仔細觀察上方可以看出,頁面編號,國際證券代碼等在第一行而非在欄位名稱,因此須將第一行改為欄位名稱
加上 df.columns = df.iloc[0] 只能將原本欄位名稱改成原第一行,因此第一行重複出現 ,需使用df = df.iloc[1:]將重複部分刪除
step 3 隨機選取股票形成投資組合:
剩下步驟如上篇,只需加上迴圈即可
結果
下圖為在設定 報酬率(r)情形下,投資組合標準差分配情形
判斷偏態
計算偏態係數辦法
當x 為隨機變數時
1.動差法:
偏態係數=三階主動差/標準差三次方
當偏態係數 >0 為右偏,=0為對稱分配,<0為左偏
2.Pearson法:
Pearson法偏態係數=3(平均數-中位數)/標準差
當Pearson偏態係數 >0 為右偏,=0為對稱分配,<0為左偏
當x 為樣本資料時
- 動差法:
偏態係數=三階主動差/標準差三次方
當偏態係數 >0 為右偏,=0為對稱分配,<0為左偏
2.Pearson法:
Pearson法偏態係數=3(平均數-中位數)/標準差
當Pearson偏態係數 >0 為右偏,=0為對稱分配,<0為左偏
3.EXCEL使用SKEW函數:
當偏態系數>0 為右偏,=0為對稱分配,<0為左偏
r=0 的偏態系數為 -0.1959
r=1 的偏態系數為 0.395563
r=1.5 的偏態系數為0.376801
因此由上述資料可知,在隨機選取股票,形成1000組投資組合繪製效率前緣下,當要求報酬率由0上升至1.5,偏態系數由正轉負,由左偏圖形,變為右偏圖形。
判斷峰態?
計算峰度辦法
當x 為隨機變數時
峰態係數=四階主動差/標準差四次方
當x 為樣本資料時
1.峰態係數=四階主動差/標準差四次方
2.EXCEL使用KURT函數
當峰態係數 >3 ,為高峽峰(分配),也可以說是超高斯分配,表示資料在平均數附近的資料較少,在極端值資料較多,通常稱為肥尾。
當峰態係數=3為常態峰,也就是常態分配,但是此為常態分配的充分條件非必要。可以從常態峰推斷是常態分配,不能從常態分配推斷其為常態峰。
當峰態係數<3為低闊峰,或稱次高斯分配,表示資料在平均數附近的資料較多,在極端值資料較少,通常稱為瘦尾。
但是使用EXCEL計算時會-3所以,峰態係數 >0 ,為高峽峰,峰態係數=0為常態峰,峰態係數<0為低闊峰
r=0 的峰態系數為 1.727842
r=1 的峰態系數為 2.553344
r=1.5 的峰態系數為2.581777
由此可知,在隨機選取股票,形成1000組效率前緣下,當要求報酬率由0上升至1.5,標準差分配高峽峰特性越明顯,樣本資料在平均值附近的次數分配較少,極端值較多。
參考資料:
SKEW 函數
KURT 函數
使用Excel计算峰度(Kurtosis)和偏度(Skewness)