辅导Tensorflow、keras、lstm 股票预测编程

- 首页 >> C/C++编程

股票预测需求和技术路径


一、数据准备

(一)给定股票日线数据,txt格式。格式如下:

数据列表内容=['open','high','low','close','vol','value']

(二)每行数据后面增加macd和kdj(仅j线)的日、2日、周、月等四个周期的数据,将macd、kdj(仅j线)多周期叠加作为输入变量。可增加自定义指标。

Macd公式:

input:p(26,20,100),s(12,5,40),m(9,2,60);

DIFF : EMA(CLOSE,S) - EMA(CLOSE,P);

DEA  : EMA(DIFF,M);

MACD : 2*(DIFF-DEA), COLORSTICK

Kdj公式:

input:n(9,1,100),p1(3,2,40),p2(3,2,40);

RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;

K:SMA(RSV,P1,1);

D:SMA(K,P2,1);

J:3*K-2*D;

月、周、2日、日需要你看一下talib,应该可以的。如果不成再商量。

二、构建模型

采用Tensorflow、keras、lstm等技术训练和拟合数据。

(一)训练目标

目标好=20日最大涨幅>30%+20天末期涨幅>0;历史指标输入=20日内macd+kdj(仅j线)多周期叠加到日线。

目标坏=20日最大跌幅>20%+20天末期涨幅<0。

采取三分类法将所有好图形分类,求出好的概率和坏的概率(好图形并不一定都真好)。好的概率=好的数量\本图形总数,坏的概率=坏的数量\本图形总数。

基本步骤:1、通过标签找出好图形。2、将这类好图形三分类。3、好图形中真正好的概率=好概率。4、好图形中坏的概率=坏概率。5、剩下的是不好不坏的概率。6、好概率+坏概率+不好不坏概率=1。

日线横向周期及涨幅可自定义。

(二)训练数据

将历史数据分为训练集、验证集和测试集。

计算三率:

精确率 =真正例数/(真正例数 +假正例数)

召回率 =真正例数/(真正例数 +假负例数)

准确率 =正确的预测数/样本总数

三、预测实现

(一)初步决策概率=实盘个股好的概率-实盘个股坏的概率,并排序。(当前完成此项,其他为后续)。

(二)以上述数据库为基础,逐日推演5天,得出5日平均概率。

(三)综合上述两个概率,得出最终决策概率。

(四)将自定义功能集成到一个对话框。

(五)用统计方式实现上述需求。

站长地图