如何投資是現代企業、個人投資者所面臨的實際問題,投資的目標是收益盡可能大,但是投資往往伴隨着風險,如果在保證收益最大化的情況下,風險最小;或是風險相同的情況下,如何實現收益的最大化;通過本實訓,可以使學生了解投資收益的來源,如何去識別、區分風險類型,通過模型測算投資組合的風險和收益大小,從而靈活調整投資組合,制定並實施投資決策。
項目開發流程分以下四步:
數據收集 (爬取證券市場數據)
數據清洗(得到訓練數據)
模型使用(得到推薦結果)
結果評估(推薦結果評估)
具體描述如下:
- 使用python爬取新浪財經等網站中的股票交易數據。數據包括了交易日期、開盤價、最高價、最低價、收盤價、調整后的收盤價以及成交量。其中調整后的收盤價最為重要,它對股票分割、股息和其他公司行為進行了標准化,能真實地反映股票隨時間的回報。
- 將爬取的數據進行清洗,得到結構化的數據,並存儲到MySQL中。
收益計算:
3. 使用pandas的.pct_change()方法來計算收益率。繪制股票歷史每日收益隨時間變化的圖。
- 使用numpy包中的mean()函數計算股票歷史收益的均值(日平均收益)。
- 根據日平均收益計算平均年化收益。
- 使用matplotlib繪圖包中的hist()函數繪制收益直方圖,了解收益分布情況及收益中的異常值。
風險計算:
7. 使用numpy包中的std()函數計算收益的方差,並轉為年化方差。投資回報中較高的標准差意味着較高的風險。
-
使用scipy.stats提供的skew()函數計算收益分布的偏度。在金融領域,人們更傾向於正的偏度,因為這意味着高盈利的概率更大。
-
使用scipy.stats提供的 kurtosis() 函數計算收益分布的超值峰度。大部分金融收益都具有正的超值峰度。
-
使用scipy.stats提供的shapiro()函數判斷收益分布的正態性。