基於CNN預測股票漲跌幅

2021-02-07 用數說

本文我們基於CNN進行建模單變量時間序列,預測股票的漲跌。

關於神經網絡學習和實現,大家可以參考我們公眾號上推出的一些文章。

解答:關於卷積神經網絡(CNN)

教學日記:商務智能之多層神經網絡實現--以選導師為例

那些年我們追過的羅伯特巴喬遇到神經網絡

足球啊足球!今晚Sweden會贏!基於神經網絡的預測!

Tensorflow2.0 深度學習實踐

基於TensorFlow 2 的 Fashion MNIST數據集分類問題

一、數據準備

對於股票等數據的獲取,大家可以使用以下幾種常見的渠道。

(1)證券寶www.baostock.com是一個免費、開源的證券數據平臺(無需註冊)。

提供大量準確、完整的證券歷史行情數據、上市公司財務數據等。通過python API獲取證券數據信息,滿足量化交易投資者、數量金融愛好者、計量經濟從業者數據需求。

http://baostock.com/baostock/index.php/%E9%A6%96%E9%A1%B5

(2)TuShare是實現對股票/期貨等金融數據從數據採集、清洗加工 到 數據存儲過程的工具,滿足金融量化分析師和學習數據分析的人在數據獲取方面的需求,它的特點是數據覆蓋範圍廣,接口調用簡單,響應快速。

https://tushare.pro

Github地址:

https://github.com/waditu/tushare

(3)DTShare是一個完全開源、免費的數據開放項目。

在DT和AI時代,數據是最寶貴的資源,是驅動信息智能化的第一生產資料。我們立志收集和整理各行各業的開放數據,為用戶實現數據便捷的獲取。截至到目前,我們主要從證券金融作為為出發點,提供了包括股票、期貨、基金和宏觀經濟等方面的數據。

http://dt-share.com/

Github地址:

https://github.com/DTShare/dtshare

(4)AkShare 是基於 Python 的財經數據接口庫, 目的是實現對股票、期貨、期權、基金、外匯、債券、指數、加密貨幣等金融產品的基本面數據、實時和歷史行情數據、衍生數據從數據採集、數據清洗到數據落地的一套工具, 主要用於學術研究目的.

https://www.akshare.xyz/zh_CN/latest/

Github地址:

https://github.com/jindaxiang/akshare

本文以baostock為例,給大家簡單嘮嘮。

首先大家可以通過清華大學的鏡像進行安裝:

pip install baostock -i https://pypi.tuna.tsinghua.edu.cn/simple/ --trusted-host pypi.tuna.tsinghua.edu.cn

調用登錄

import baostock as bs

import pandas as pd

#### 登陸系統 ####

lg = bs.login()

# 顯示登陸返回信息

print('login respond error_code:'+lg.error_code)

print('login respond  error_msg:'+lg.error_msg)

#### 獲取歷史K線數據 ####

# 詳細指標參數,參見「歷史行情指標參數」,以三峽水利為例

# 獲取指數(綜合指數、規模指數、一級行業指數、二級行業指數、策略指數、成長指數、價值指數、主題指數)K線數據

# 綜合指數,例如:sh.000001 上證指數,sz.399106 深證綜指 等;

# 規模指數,例如:sh.000016 上證50,sh.000300 滬深300,sh.000905 中證500,sz.399001 深證成指等;

# 一級行業指數,例如:sh.000037 上證醫藥,sz.399433 國證交運 等;

# 二級行業指數,例如:sh.000952 300地產,sz.399951 300銀行 等;

# 策略指數,例如:sh.000050 50等權,sh.000982 500等權 等;

# 成長指數,例如:sz.399376 小盤成長 等;

# 價值指數,例如:sh.000029 180價值 等;

# 主題指數,例如:sh.000015 紅利指數,sh.000063 上證周期 等;

#### 列印結果集 ####

返回數據說明

#### 查看數據集 ####

看下開盤價的情況

看下開盤、收盤、漲跌情況

當然把取到的數據結果也可以保存下來,以後使用

二、建模:單變量CNN

CNN可以將過去的觀測序列作為輸入映射到輸出觀測,考慮給定的單變量序列:

我們可以把以上序列分為多個樣本的輸入/輸出模式,比如使用三個時間步長作為輸入,一個時間步長作為輸出,用於單步預測。

這裡我們使用用pctChg漲跌幅序列進行預測

建立模型

模型如下

擬合模型

進行預測

我們以12.28-12.30日數據為例預測31日的漲跌情況

31日實際的漲跌為2.184500

這裡我們用最簡單的單變量CNN為例給大家做了個股票預測演示,大家還可以用其他CNN、其他序列預測的方法進行預測。

更多大家可以參考

時間序列預測(SVR支持向量機回歸、LSTM長短期記憶網絡)

教學日記:商務智能之可視化--股票分析

基於技術指標的股票趨勢預測 --基於Python的特徵工程和分類模型

本文僅作為投資方法的參考,沒有考慮其他各種因素,大家買股票需謹慎!萬老師對大家的盈虧不負任何責任

相關焦點

  • ...以及黃金股漲跌幅≈金價漲跌幅。從股票估值角度來說,指數比值的
    當金價受消息驅動短期快速拉升時,比值也可能同步上行,從而形成了「戴維斯雙擊」;我們以黃金周度漲跌幅作為自變量、黃金股周度漲跌幅作為因變量進行回歸分析,可以得到兩個主要結論:1.短期內黃金股和黃金漲跌存在正相關關係,並且漲跌幅越大,相關性越明顯;2. 黃金股的變動幅度大於黃金;長期來看,黃金股走勢與金價趨於同步。
  • 2020年創業板註冊制新規 這幾類股票漲跌幅變為20%
    簡單來說,新規以後,創業板的風險警示股票(ST、*ST股票)漲跌幅會變成20%(原來規定是5%)。而退市整理期股票則有兩種情況:一是新規前已進入退市整理期、且新規後還處於退市整理期的創業板股票漲跌幅始終為10%;二是新規後新進入退市整理期的股票漲跌幅變成20%。  私募人士認為,這是非常好的改革措施,完善了退市制度的一部分,有利於提高ST、*ST股、退市整理股的流動性。
  • CNN與RNN中文文本分類-基於TensorFlow 實現
    摘要:本文是基於TensorFlow在中文數據集上的簡化實現,使用了字符級CNN和RNN對中文文本進行分類,達到了較好的效果。
  • 如何看漲跌幅排行榜 什麼是漲跌幅排行榜?
    作為一個炒股新手,怎樣用電腦炒股,如何看漲跌幅排行榜呢?打開行情軟體,首先看到的是個股報價表,密密麻麻的,可能理不清頭緒來。按61,是上證A股漲跌幅排行榜;按63,是深證A股漲跌幅排行榜,對於漲跌幅的排名如何理解,如何看漲跌幅排行榜呢?關於如何看漲跌幅排行榜,接下來一起來看一下。
  • 深交所:特別規定實施後 創業板風險警示股票漲跌幅限制比例為20%
    北京商報訊(記者 劉鳳茹)7月10日晚間,深交所發布關於創業板風險警示股票和退市整理期股票交易制度安排的通知。深交所稱,為積極穩妥推進創業板改革並試點註冊制工作,深交所於2020年6月12日正式發布《深圳證券交易所創業板交易特別規定》(以下簡稱「《特別規定》」),將自按照《創業板首次公開發行股票註冊管理辦法(試行)》發行上市的首隻股票上市首日起施行。
  • CNN卷積神經網絡實例(基於pytorch)
    2.1 代碼示例# @Time : 2020/6/6 13:23 # @Author : kingback# @File : cnn_test.py # @Software: PyCharm=CNN()# print(cnn)# 添加優化方法optimizer=torch.optim.Adam(cnn.parameters(),lr=LR)# 指定損失函數使用交叉信息熵loss_fn=nn.CrossEntropyLoss()'''開始訓練我們的模型哦'''step=0for epoch in
  • 上交所:新增股票進入退市整理期交易首日不設漲跌幅限制規則
    原標題:上交所:新增股票進入退市整理期交易首日不設漲跌幅限制規則   上交所14日表示,本次退市制度改革,配套規則的內容修訂主要包括以下3項:一是明確風險警示板每日
  • 利用Python預測股票價格
    作為一種技術手段,預測在金融、證券領域的應用非常廣泛,尤其是對股票價格的預測。我們介紹一下獲得股票數據的方法,並基於此對數據進行預處理,接著使用數據分析方法,建立基礎特徵,進一步構建預測模型,且基於新數據驗證模型效果。
  • 經典目標檢測方法Faster R-CNN和Mask R-CNN|基於PaddlePaddle深度...
    目前,用於目標檢測的方法通常屬於基於機器學習的方法或基於深度學習的方法。對於機器學習方法,首先使用 SIFT、HOG 等方法定義特徵,然後使用支持向量機 (SVM)、Adaboost 等技術進行分類。對於深度學習方法,深度學習技術能夠在沒有專門定義特徵的情況下進行端到端目標檢測,並且通常基於卷積神經網絡 (CNN)。
  • 基於 CNN 的驗證碼破解實戰
    ,效果也都不錯,今天本文的主要內容就是基於卷積神經網絡CNN模型來構建驗證碼圖片識別模型。上述是之前一個實際完成的項目流程示意圖,本文主要是實踐基於CNN來構建識別模型,對於數據採集和預處理部分不作為講解的內容,感興趣可以親身實踐一下,都是圖像處理領域內的比較基礎的內容。經過處理後我們將原始的驗證碼圖片均進行了基本的去噪、二值化以及歸一化等處理得到了可用於模型直接訓練使用的特徵向量數據,原始的驗證碼圖像數據如下所示:
  • 基於GWO-BP-CNN-ec的風電功率短期預測模型*
    通過仿真分析得出,基於GWO-BP-CNN-ec的組合模型預測效果優於單一CNN,GWO-CNN及GWO-BP-CNN,然後對比了基於BP、Elman、小波神經網絡的淺層網絡預測模型與基於CNN的深層網絡組合預測模型的預測效果,驗證出了深層CNN網絡在預測方面的精度優勢,在高風速段時尤為明顯。證明深層卷積神經網絡組合模型對風電短期功率預測精度的提升有顯著作用。
  • 創業板20%漲跌幅時間定了
    《深圳證券交易所創業板股票上市規則(2020年修訂)》規定,上市公司出現下列情形之一的,深交所可以決定終止其股票上市交易:  (一)連續一百二十個交易日通過深交所交易系統實現的股票累計成交量低於200萬股;  (二)連續二十個交易日每日股票收盤價均低於每股面值;  (三)連續二十個交易日每日股票收盤市值均低於3億元;  (四)連續二十個交易日每日公司股東人數均少於
  • 【源頭活水】Sparse R-CNN:簡化版fast rcnn
    算法,是faster rcnn算法的前身,由於其巨大計算量以及無法端到端訓練,故而提出區域提取網絡RPN加上fast rcnn的faster rcnn算法。測試時候是先進行reppointv1的回歸操作,得到bbox坐標,由於cornernet算法檢測的角點會比reppointv1直接回歸的方式更準確,故在reppointv1得到的bbox左上右下坐標基礎上,去cornernet分支的角點預測圖上查找鄰域內的角點,從而得到更加準確的預測結果。
  • 教程 | 基於Matlab的卷積神經網絡(CNN)
    rand('state',0) %指定狀態使每次運行產生的隨機結果相同cnn.layers = {    struct('type', 'i') % 輸入層    struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) % 卷積層    struct('type', 's', 'scale',
  • *ST常林:7月31日起恢復上市交易 當日不設漲跌幅限制
    摘要 *ST常林(600710)7月24日晚間公告,公司24日收到上交所《關於同意常林股份有限公司股票恢復上市申請的通知》。公司股票將於7月31日在上交所恢復交易。
  • 上交所放開科創板漲跌幅限制 為新股達到均衡價格
    對下周將正式開市交易的科創板,上交所監察二部負責人曾剛今日表示,科創板股票前5日不設漲跌幅,但是針對可能存在的過度投機,異常波動甚至股價操縱行為,上交所有多方面的準備。他還具體介紹了相關防範舉措和制度設計的出發點。
  • 漲跌幅擴大為20%後,你連這道小學數學題都不會就虧大了!
    來源:新浪財經文/新浪財經意見領袖專欄作家 李鳳創業板漲跌幅擴大,投資風險加劇8月24日,創業板註冊制首批新股正式掛牌交易,18隻新股組成的「十八羅漢「首發陣容,1.6億股民也迎來創業板股票漲跌幅擴大的刺激時刻。
  • 股票漲一個點是什麼意思? 股票漲一個點是多少?
    炒股過程中會遇到很多專業術語,如果對這些詞彙的含義不了解,就有可能做出錯誤的股票投資選擇,從而遭遇失敗。今天要為大家講解的是股票裡漲一個點是什麼意思,一起來了解下。  股票裡漲一個點是什麼意思?  點是百分點的簡稱,是股票價格指數的單位。
  • ST股票是什麼意思?st股票的交易規則
    來源:FX168股票市場分類有很多,而且股票的種類也有不少,比如常見的A類股票,還有有價格較低的ST類處理股票,ST股票因為價格較低且當日的漲跌指數較低而受到投資者的青睞,那ST股票是什麼意思?交易規則有哪些?ST股票是什麼意思?
  • 深度學習RNN實現股票預測實戰(附數據、代碼)
    首先講講對於股票預測的理解,股票是一種可以輕易用數字表現律動的交易形式。因為大數定理的存在,定義了世間所有的行為都可以通過數字表示,並且存在一定的客觀規律。股票也不例外,量化交易要做的就是通過數學模型發現股票的走勢趨勢。「趨勢」要這樣理解:對於股票的預測,不是說我知道這個股票昨天指數是多少,然後預測今天他的指數能漲到多少。