


摘要:目的 隨著近年來我國資本市場的發展和證券交易規模的不斷擴大,越來越多的資金投資于證券市場,與此同時市場價格的波動也十分劇烈,而波動作為證券市場中最本質的屬性和特征,市場的波動對于人們風險收益的分析、股東權益最大化和監管層的有效監管都有著至關重要的作用,因此研究證券市場波動的規律性,分析引起市場波動的成因,是證券市場理論研究和實證分析的重要內容,也可以為投資者、監管者和上市公司等提供有跡可循的依據。方法 首先把股票交易數據進行處理,從中選取多支績優股擬投資。通過收益率和風險率這兩個目標,設定收益率為正等其他約束條件下的雙目標優化模型,利用 python 的 pandas 模塊對模型進行求解,面向不同類型的投資者,得到模型下投資績優股的序號和收益率等數據。然后選取原數據中四個屬性進行相關系數分析,然后選取收盤價為參考量,最終以選取收益率風險率比值作為股票評價的指數。最后通過歷史數據求得股票的平均收益率與風險,然后建立蒙特卡羅預測模型,對未來股票走勢進行模擬,利用機器學習對模型進行求解,面向不同類型的投資者,得到該模型下的投股方案等。結果 實驗表明,基于機器學習的方法能夠很好地通過歷史的股票數據,在沒有特殊情況出現的情況下,可以預測股票的基本趨勢,并根據不同投資人群,提供不同的投資方案。結論 本文提出了一種投資人群的劃分,我們針對不同的投資人群,通過對數據的挖掘,定量分析與定性分析,結合不同股票的收益率風險率比值,推薦投股方案和資金搭配方案。實驗結果表明,在基本的場景不變的情況下,預測股票的趨勢以及給定的投資方案都能完美的契合。
關鍵詞:時間序列 ARIMA;雙目標優化模型;蒙特卡洛模擬算法;機器學習
中圖分類號:TP391.1?文獻標識碼:A?文章編號:1672-9129(2020)09-0122-02
引言:隨著近年來我國資本市場的發展和證券交易規模的不斷擴大,越來越多的資金投資于證券市場,與此同時市場價格的波動也十分劇烈,而波動作為證券市場中最本質的屬性和特征,市場的波動對于人們風險收益的分析、股東權益最大化和監管層的有效監管都有著至關重要的作用,因此研究證券市場波動的規律性,分析引起市場波動的成因,是證券市場理論研究和實證分析的重要內容,也可以為投資者、監管者和上市公司等提供有跡可循的依據。
1?數據的分析原理與處理方法
1.1數據分析。利用 python對選取的十支股票進行相關分析,得到的結果利用散點圖的方式呈現出來。
由圖1 可知,股票與股票之間存在一定的相關性,比如:abc001 股票與abc004、abc007、abc010 股票有比較明顯的正相關性。必定存在某種因素指標在影響著股票,下面以 abc001 股票為例來展開探討。
1.2指標的選取。利用相關系數分析來反映變量之間的相互關系密切的程度。
選取已有數據中的開盤、最高、最低、收盤、成交量為指標,直接計算出各指標數據間的相關系數,并作出相關系數圖。
由圖2可知,開盤價與最高、最低、收盤價之間強烈正相關,所以接下來以收盤價來討論。利用python數據可視化來繪制適用于文本數據的 K 線圖,利用 K 線圖能夠全面透徹地觀察到市場的真正變化。從 K 線圖中,既可看到股價(或大市)的趨勢,也同時可以了解到每日市況的波動情形(其中紅色代表上漲,綠色代表下跌)。使用股票數據中每日的收盤價,算出 5 日均價和 20 日均價,并將均價的折線圖與 K 線圖畫在一起。
由圖 3可知,K 線圖與均價的折線圖基本吻合,這就說明最開始的討論流程是正確的,以收盤價衍生出來的收益率和風險率也就符合指標的選取。
2?趨勢預測
2.1模型選擇。從利用歷史的數據,分析當下的指標波動并且預測未來一年的指數波動,而蒙特卡羅模擬法幾乎可以用來模擬任何問題,因此通過蒙特卡羅模擬法來建立預測模型,來計算特斯拉公司股票的風險價值,即在市場正常波動的條件下,在一定概率水平α%下,某一金融資產或金融資產組合的VαR是在未來特定一段時間Δt內最大可能損失。
2.2模型建立。首先,利用蒙特卡羅模擬法即運用歷史數據對未來進行多次模擬,以求得未來股價結果的概率分布。
可以看出,蒙特卡羅模擬法認為股票的價格波動可以分為兩部分,第一部分為drift,即股票會根據收益率波動,第二部分為 shock,即隨機波動。如下圖:
3?分析結果與結論
3.1投資人群的劃分。在實際投資中,考慮到不同投資人群的投資目的,建立三個投資模型來設定投資方案。其一是穩中求勝的投資者,在風險低量化的同時保持收益的最大化。其二是追求高收益的投資者,為了盈利最大化。一般是手上有充足的投資資金來適當規避股市市場高風險的投資者。其三是追求低風險的投資者,為了資金的穩定性。一般是小富即安,追求穩健,手上資金較少操盤或不喜歡高風險投資的投資者。為了使投資方案問題的分析更加簡化并同時保證所建立模型的合理性,對模型的建立設定一定的規則:1.收益率和風險率的計算按照經濟金融學結合實際股票操作來計算,不加以修改或者干預;2.將投資者的投資資金按照百分比配比分配給各個股票,滿倉資金操作。
3.2預測結果。通過歷史數據求得股票的平均收益率與風險,便可以通過蒙特卡羅模擬法對股票未來走勢進行模擬,利用 python 設計其算法并加以實現,得到以下圖(以abc001 股票為例):
由圖5可以看出每一次模擬所得到股價走勢都是不同的,但是大部分集中在中間。下面加入模擬風險價值和定義置信水平為 99%的預測的股票價值,繪制如下圖:
由圖6可知一年后 abc001 股票的價格最有可能為 12.19 元,而整個預測時間內的平均股票價格為 12.81 元,相較于初始價值 12.79 元,高出 0.02 元。但風險價值卻有 0.6 元。同理,可以利用設計的算法對其他九支股票進行模擬預測,得到結果如下:
3.3推薦方案。由表1可知代碼為abc003、abc010的股票,在未來一年內出現小幅下滑,而abc009股票基本維持不變,其他幾支股票出現不同幅度的增長。
所以,假設存在三種不同的投資人群,那么在一年內的投資方案如下:
參考文獻:
[1]肖華勇,實用數學建模與軟件應用[M].西安:西北工業大學出版社,2010
[2]董寧,王宇平.基于新型雙目標模型的約束優化進化算法[D].西安電子科技大學數學與統計學院;西安電子科技大學計算機科學學院
[3]簡楊君,使用機器學習和深度學習預測股票價格(Python實現),2020.5.31
作者簡介:陳思文,1998年生,男,本科生,主要研究方向為數據可視化、數據挖掘與可視分析、人工智能