stocker模块量化交易分析
金融市場量化交易的好處就像制造業中機器人替代手工操作,但在進行量化交易前需要做好量化分析。
下面將利用github上面的一個stocker模塊進行基本的股票價格量化分析,本文只涉及到股票價格的預測分析介紹,沒有交易策略和成型的模型。
本文要點:
I 介紹stocker模塊運行環境的配置; II 調用模塊中的方法來分析和預測股票價格
配置stocker模塊運行環境
我是在pycharm+anaconda 平臺上運行代碼, 另外 由于stocker 模塊中部分庫需要手動安裝,如quandl, pytrends, pystan, fbprophet這些庫,因而在調用stocker模塊前需要自己安裝這些模塊, 具體安裝過程請參考我的另一篇博文:pycharm 使用小技巧---方便快捷獲取python安裝庫
安裝好這些庫后,新建一個項目文件,最好是在jupter notebook中運行代碼, 咱為了方便查詢,將所有的代碼放在一個quantitative_analysis.py文件中,另外建議將stocker.py 和新建的項目文件放在同一目錄下,這樣方便直接導入。
調用模塊進行量化分析
導入模塊 ? from stocker import Stocker?
獲取高盛公司歷史股價(1999-05-04至今),并畫圖
goldman= Stocker("GS")
goldman.plot_stock()
最近一年股價和預測值對比 ,結果是預測值明顯偏離實際值。
goldman.evaluate_prediction()
為了搜尋最佳預測模型,通過調整變點先驗(Changepoint Prior)尺度參數對模型進行分析和評估,以便尋找最佳優化參數模型
goldman.changepoint_prior_analysis(changepoint_priors=[0.001,0.05,0.1,0.2])
goldman.changepoint_prior_validation(start_date="2016-01-04",end_date="2017-01-03",changepoint_priors=0.001,0.05,0.1,0.2])
根據上面兩圖的分析評估結果,發現取0.1為最佳參數,賦值給模型,
changepoint_prior_scale=0.1
接下來將利用最佳參數模型做簡單的交易策略,策略要求如下:
1. 當模型預測股價會上漲的那一天,我們開始買入,并在一天結束時賣出;當模型預測股價下跌時,我們就不買入任何股票;
2. 如果我們買入的股票的價格在當天上漲,那么我們就把股票上漲的幅度乘以我們購買的股票數量;
3. 如果我們買入的股票價格下跌,我們就把下跌的幅度乘以股票的數量,計作我們的損失。
該策略買入1000股的效果如下:
goldman.evaluate_prediction(nshares=1000)
未來10天或3個月(66天)股價預測
goldman.predict_future(days=10)
goldman.predict_future(days=66)
全部合并代碼文件可以參考github, 此處采用最佳參數優化模型在最近一年內量化交易的效果居然略好于持股策略,估計有巧合的成分。
本文借鑒公眾號文章,原文:https://mp.weixin.qq.com/s/yqSo8nF9fCDzuBREHsx1Cg
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的stocker模块量化交易分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql内置加密函数_MySQL数据库
- 下一篇: PyCharm安装及使用