【机器学习入门笔记13:BP神经网络逼近股票收盘价格】20190218

2019-02-18  by 崔斐然 

目标:实现股票日线的绘制并且利用人工神经网络实现股票价格的拟合。

分为两大部分,第一部分基础数据绘制,第二部分BP神经网络搭建

第一部分:基础数据图绘制

 

1、导入模块:

import os
import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt

os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'

2、手动添加数据,准备了15组数据,横坐标表示天数 ,使用for循环加载进去,绘制折线图:

# date 表示日期
date = np.linspace(1,15,15)
# endprice 表示收盘价格
endPrice = np.array([2511.90,2538.26,2510.68,2591.66,2732.98,2701.69,2701.29,2678.67,2726.50,2681.50,2739.17,2715.07,2823.58,2864.90,2919.08]
)
# 设置开盘价格
beginPrice = np.array([2438.71,2500.88,2534.95,2512.52,2594.04,2743.26,2697.47,2695.24,2678.23,2722.13,2674.93,2744.13,2717.46,2832.73,2877.40])

print(date)

打印结果如下:

3、绘制柱状图:

(1)figure语法说明

figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True)

num:图像编号或名称,数字为编号 ,字符串为名称
figsize:指定figure的宽和高,单位为英寸;
dpi参数指定绘图对象的分辨率,即每英寸多少个像素,缺省值为80      1英寸等于2.5cm,A4纸是 21*30cm的纸张 
facecolor:背景颜色
edgecolor:边框颜色
frameon:是否显示边框

(2)使用for循环完成数据装载

import os
import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt

os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'

# date 表示日期
date = np.linspace(1,15,15)
# endprice 表示收盘价格
endPrice = np.array([2511.90,2538.26,2510.68,2591.66,2732.98,2701.69,2701.29,2678.67,2726.50,2681.50,2739.17,2715.07,2823.58,2864.90,2919.08]
)
# 设置开盘价格
beginPrice = np.array([2438.71,2500.88,2534.95,2512.52,2594.04,2743.26,2697.47,2695.24,2678.23,2722.13,2674.93,2744.13,2717.46,2832.73,2877.40])

print(date)

plt.figure()

for i in range(0,15):
    # 1 柱状图 每个柱状其实是一个折线
    dateOne = np.zeros([2])
    dateOne[0] = i;
    dateOne[1] = i;
    priceOne = np.zeros([2])
    priceOne[0] = beginPrice[i]
    priceOne[1] = endPrice[i]
    if endPrice[i]>beginPrice[i]:
        plt.plot(dateOne,priceOne,'r',lw=8)
    else:
        plt.plot(dateOne,priceOne,'g',lw=8)
plt.show()

至此,我们完成了基础数据柱状折线图的绘制。下一步实现BP神经网络的搭建,在下一个笔记中讲解。

猜你喜欢

转载自blog.csdn.net/qq_33273956/article/details/87611569