当前位置:首页 » 股票入门 » 神经网络股票择时交易
扩展阅读
设计总院股票历史股价 2023-08-31 22:08:17
股票开通otc有风险吗 2023-08-31 22:03:12
短线买股票一天最好时间 2023-08-31 22:02:59

神经网络股票择时交易

发布时间: 2022-11-30 13:19:58

A. 如何用 Python 构建神经网络择时模型

import math
import random
random.seed(0)
def rand(a,b): #随机函数
return (b-a)*random.random()+a
def make_matrix(m,n,fill=0.0):#创建一个指定大小的矩阵
mat = []
for i in range(m):
mat.append([fill]*n)
return mat
#定义sigmoid函数和它的导数
def sigmoid(x):
return 1.0/(1.0+math.exp(-x))
def sigmoid_derivate(x):
return x*(1-x) #sigmoid函数的导数
class BPNeuralNetwork:
def __init__(self):#初始化变量
self.input_n = 0
self.hidden_n = 0
self.output_n = 0
self.input_cells = []
self.hidden_cells = []
self.output_cells = []
self.input_weights = []
self.output_weights = []
self.input_correction = []
self.output_correction = []
#三个列表维护:输入层,隐含层,输出层神经元
def setup(self,ni,nh,no):
self.input_n = ni+1 #输入层+偏置项
self.hidden_n = nh #隐含层
self.output_n = no #输出层
#初始化神经元
self.input_cells = [1.0]*self.input_n
self.hidden_cells= [1.0]*self.hidden_n
self.output_cells= [1.0]*self.output_n
#初始化连接边的边权
self.input_weights = make_matrix(self.input_n,self.hidden_n) #邻接矩阵存边权:输入层->隐藏层
self.output_weights = make_matrix(self.hidden_n,self.output_n) #邻接矩阵存边权:隐藏层->输出层
#随机初始化边权:为了反向传导做准备--->随机初始化的目的是使对称失效
for i in range(self.input_n):
for h in range(self.hidden_n):
self.input_weights[i][h] = rand(-0.2 , 0.2) #由输入层第i个元素到隐藏层第j个元素的边权为随机值
for h in range(self.hidden_n):
for o in range(self.output_n):
self.output_weights[h][o] = rand(-2.0, 2.0) #由隐藏层第i个元素到输出层第j个元素的边权为随机值
#保存校正矩阵,为了以后误差做调整
self.input_correction = make_matrix(self.input_n , self.hidden_n)
self.output_correction = make_matrix(self.hidden_n,self.output_n)
#输出预测值
def predict(self,inputs):
#对输入层进行操作转化样本
for i in range(self.input_n-1):
self.input_cells[i] = inputs[i] #n个样本从0~n-1
#计算隐藏层的输出,每个节点最终的输出值就是权值*节点值的加权和
for j in range(self.hidden_n):
total = 0.0
for i in range(self.input_n):
total+=self.input_cells[i]*self.input_weights[i][j]
# 此处为何是先i再j,以隐含层节点做大循环,输入样本为小循环,是为了每一个隐藏节点计算一个输出值,传输到下一层
self.hidden_cells[j] = sigmoid(total) #此节点的输出是前一层所有输入点和到该点之间的权值加权和
for k in range(self.output_n):
total = 0.0
for j in range(self.hidden_n):
total+=self.hidden_cells[j]*self.output_weights[j][k]
self.output_cells[k] = sigmoid(total) #获取输出层每个元素的值
return self.output_cells[:] #最后输出层的结果返回
#反向传播算法:调用预测函数,根据反向传播获取权重后前向预测,将结果与实际结果返回比较误差
def back_propagate(self,case,label,learn,correct):
#对输入样本做预测
self.predict(case) #对实例进行预测
output_deltas = [0.0]*self.output_n #初始化矩阵
for o in range(self.output_n):
error = label[o] - self.output_cells[o] #正确结果和预测结果的误差:0,1,-1
output_deltas[o]= sigmoid_derivate(self.output_cells[o])*error#误差稳定在0~1内
#隐含层误差
hidden_deltas = [0.0]*self.hidden_n
for h in range(self.hidden_n):
error = 0.0
for o in range(self.output_n):
error+=output_deltas[o]*self.output_weights[h][o]
hidden_deltas[h] = sigmoid_derivate(self.hidden_cells[h])*error
#反向传播算法求W
#更新隐藏层->输出权重
for h in range(self.hidden_n):
for o in range(self.output_n):
change = output_deltas[o]*self.hidden_cells[h]
#调整权重:上一层每个节点的权重学习*变化+矫正率
self.output_weights[h][o] += learn*change + correct*self.output_correction[h][o]
#更新输入->隐藏层的权重
for i in range(self.input_n):
for h in range(self.hidden_n):
change = hidden_deltas[h]*self.input_cells[i]
self.input_weights[i][h] += learn*change + correct*self.input_correction[i][h]
self.input_correction[i][h] = change
#获取全局误差
error = 0.0
for o in range(len(label)):
error = 0.5*(label[o]-self.output_cells[o])**2 #平方误差函数
return error
def train(self,cases,labels,limit=10000,learn=0.05,correct=0.1):
for i in range(limit): #设置迭代次数
error = 0.0
for j in range(len(cases)):#对输入层进行访问
label = labels[j]
case = cases[j]
error+=self.back_propagate(case,label,learn,correct) #样例,标签,学习率,正确阈值
def test(self): #学习异或
cases = [
[0, 0],
[0, 1],
[1, 0],
[1, 1],
] #测试样例
labels = [[0], [1], [1], [0]] #标签
self.setup(2,5,1) #初始化神经网络:输入层,隐藏层,输出层元素个数
self.train(cases,labels,10000,0.05,0.1) #可以更改
for case in cases:
print(self.predict(case))
if __name__ == '__main__':
nn = BPNeuralNetwork()
nn.test()

B. 量化投资—策略与技术的作品目录

《量化投资—策略与技术》
策略篇
第 1章 量化投资概念
1.1 什么是量化投资 2
1.1.1 量化投资定义 2
1.1.2 量化投资理解误区 3
1.2 量化投资与传统投资比较 6
1.2.1 传统投资策略的缺点 6
1.2.2 量化投资策略的优势 7
1.2.3 量化投资与传统投资策略的比较 8
1.3 量化投资历史 10
1.3.1 量化投资理论发展 10
1.3.2 海外量化基金的发展 12
1.3.3 量化投资在中国 15
1.4 量化投资主要内容 16
1.5 量化投资主要方法 21
.第 2章 量化选股 25
2.1 多因子 26
2.1.1 基本概念 27
2.1.2 策略模型 27
2.1.3 实证案例:多因子选股模型 30
2.2 风格轮动 35
2.2.1 基本概念 35
2.2.2 盈利预期生命周期模型 38
2.2.3 策略模型 40
2.2.4 实证案例:中信标普风格 41
2.2.5 实证案例:大小盘风格 44
2.3 行业轮动 47
2.3.1 基本概念 47
2.3.2 m2行业轮动策略 50
2.3.3 市场情绪轮动策略 52
2.4 资金流 56
2.4.1 基本概念 56
2.4.2 策略模型 59
2.4.3 实证案例:资金流选股策略 60
2.5 动量反转 63
2.5.1 基本概念 63
2.5.2 策略模型 67
2.5.3 实证案例:动量选股策略和反转选股策略 70
2.6 一致预期 73
2.6.1 基本概念 74
2.6.2 策略模型 76
2.6.3 实证案例:一致预期模型案例 78
2.7 趋势追踪 84
2.7.1 基本概念 84
2.7.2 策略模型 86
2.7.3 实证案例:趋势追踪选股模型 92
2.8 筹码选股 94
2.8.1 基本概念 95
2.8.2 策略模型 97
2.8.3 实证案例:筹码选股模型 99
2.9 业绩评价 104
2.9.1 收益率指标 104
2.9.2 风险度指标 105
第 3章 量化择时 111
3.1 趋势追踪 112
3.1.1 基本概念 112
3.1.2 传统趋势指标 113
3.1.3 自适应均线 121
3.2 市场情绪 125
3.2.1 基本概念 126
3.2.2 情绪指数 128
3.2.3 实证案例:情绪指标择时策略 129
3.3 有效资金 133
3.3.1 基本概念 133
3.3.2 策略模型 134
3.3.3 实证案例:有效资金择时模型 137
3.4 牛熊线 141
3.4.1 基本概念 141
3.4.2 策略模型 143
3.4.3 实证案例:牛熊线择时模型 144
3.5 husrt指数 146
3.5.1 基本概念 146
3.5.2 策略模型 148
3.5.3 实证案例 149
3.6 支持向量机 152
3.6.1 基本概念 152
3.6.2 策略模型 153
3.6.3 实证案例:svm择时模型 155
3.7 swarch模型 160
3.7.1 基本概念 160
3.7.2 策略模型 161
3.7.3 实证案例:swarch模型 164
3.8 异常指标 168
3.8.1 市场噪声 168
3.8.2 行业集中度 170
3.8.3 兴登堡凶兆 172
第 4章 股指期货套利 180
4.1 基本概念 181
4.1.1 套利介绍 181
4.1.2 套利策略 183
4.2 期现套利 185
4.2.1 定价模型 185
4.2.2 现货指数复制 186
4.2.3 正向套利案例 190
4.2.4 结算日套利 192
4.3 跨期套利 195
4.3.1 跨期套利原理 195
4.3.2 无套利区间 196
4.3.3 跨期套利触发和终止 197
4.3.4 实证案例:跨期套利策略 199
4.3.5 主要套利机会 200
4.4 冲击成本 203
4.4.1 主要指标 204
4.4.2 实证案例:冲击成本 205
4.5 保证金管理 208
4.5.1 var方法 208
4.5.2 var计算方法 209
4.5.3 实证案例 211
第 5章 商品期货套利 214
5.1 基本概念 215
5.1.1 套利的条件 216
5.1.2 套利基本模式 217
5.1.3 套利准备工作 219
5.1.4 常见套利组合 221
5.2 期现套利 225
5.2.1 基本原理 225
5.2.2 操作流程 226
5.2.3 增值税风险 230
5.3 跨期套利 231
5.3.1 套利策略 231
5.3.2 实证案例:pvc跨期套利策略 233
5.4 跨市场套利 234
5.4.1 套利策略 234
5.4.2 实证案例:伦铜—沪铜跨市场套利 235
5.5 跨品种套利 236
5.5.1 套利策略 237
5.5.2 实证案例 238
5.6 非常状态处理 240
第 6章 统计套利 242
6.1 基本概念 243
6.1.1 统计套利定义 243
6.1.2 配对交易 244
6.2 配对交易 247
6.2.1 协整策略 247
6.2.2 主成分策略 254
6.2.3 绩效评估 256
6.2.4 实证案例:配对交易 258
6.3 股指套利 261
6.3.1 行业指数套利 261
6.3.2 国家指数套利 263
6.3.3 洲域指数套利 264
6.3.4 全球指数套利 266
6.4 融券套利 267
6.4.1 股票—融券套利 267
6.4.2 可转债—融券套利 268
6.4.3 股指期货—融券套利 269
6.4.4 封闭式基金—融券套利 271
6.5 外汇套利 272
6.5.1 利差套利 273
6.5.2 货币对套利 275
第 7章 期权套利 277
7.1 基本概念 278
7.1.1 期权介绍 278
7.1.2 期权交易 279
7.1.3 牛熊证 280
7.2 股票/期权套利 283
7.2.1 股票—股票期权套利 283
7.2.2 股票—指数期权套利 284
7.3 转换套利 285
7.3.1 转换套利 285
7.3.2 反向转换套利 287
7.4 跨式套利 288
7.4.1 买入跨式套利 289
7.4.2 卖出跨式套利 291
7.5 宽跨式套利 293
7.5.1 买入宽跨式套利 293
7.5.2 卖出宽跨式套利 294
7.6 蝶式套利 296
7.6.1 买入蝶式套利 296
7.6.2 卖出蝶式套利 298
7.7 飞鹰式套利 299
7.7.1 买入飞鹰式套利 300
7.7.2 卖出飞鹰式套利 301
第 8章 算法交易 304
8.1 基本概念 305
8.1.1 算法交易定义 305
8.1.2 算法交易分类 306
8.1.3 算法交易设计 308
8.2 被动交易算法 309
8.2.1 冲击成本 310
8.2.2 等待风险 312
8.2.3 常用被动型交易策略 314
8.3 vwap算法 316
8.3.1 标准vwap算法 316
8.3.2 改进型vwap算法 319
第 9章 其他策略 323
9.1 事件套利 324
9.1.1 并购套利策略 324
9.1.2 定向增发套利 325
9.1.3 套利重仓停牌股票的投资组合 326
9.1.4 封闭式投资组合套利 327
9.2 etf套利 328
9.2.1 基本概念 328
9.2.2 无风险套利 330
9.2.3 其他套利 334
9.3 lof套利 335
9.3.1 基本概念 335
9.3.2 模型策略 336
9.3.3 实证案例:lof 套利 337
9.4 高频交易 341
9.4.1 流动性回扣交易 341
9.4.2 猎物算法交易 342
9.4.3 自动做市商策略 343
9.4.4 程序化交易 343
理论篇
第 10章 人工智能 346
10.1 主要内容 347
10.1.1 机器学习 347
10.1.2 自动推理 350
10.1.3 专家系统 353
10.1.4 模式识别 356
10.1.5 人工神经网络 358
10.1.6 遗传算法 362
10.2 人工智能在量化投资中的应用 366
10.2.1 模式识别短线择时 366
10.2.2 rbf神经网络股价预测 370
10.2.3 基于遗传算法的新股预测 375
第 11章 数据挖掘 381
11.1 基本概念 382
11.1.1 主要模型 382
11.1.2 典型方法 384
11.2 主要内容 385
11.2.1 分类与预测 385
11.2.2 关联规则 391
11.2.3 聚类分析 397
11.3 数据挖掘在量化投资中的应用 400
11.3.1 基于som 网络的股票聚类分析方法 400
11.3.2 基于关联规则的板块轮动 403
第 12章 小波分析 407
12.1 基本概念 408
12.2 小波变换主要内容 409
12.2.1 连续小波变换 409
12.2.2 连续小波变换的离散化 410
12.2.3 多分辨分析与mallat算法 411
12.3小波分析在量化投资中的应用 414
12.3.1 k线小波去噪 414
12.3.2 金融时序数据预测 420
第 13章 支持向量机 429
13.1 基本概念 430
13.1.1 线性svm 430
13.1.2 非线性svm 433
13.1.3 svm分类器参数选择 435
13.1.4 svm分类器从二类到多类的推广 436
13.2 模糊支持向量机 437
13.2.1 增加模糊后处理的svm 437
13.2.2 引入模糊因子的svm训练算法 439
13.3 svm在量化投资中的应用 440
13.3.1 复杂金融时序数据预测 440
13.3.2 趋势拐点预测 445
第 14章 分形理论 452
14.1 基本概念 453
14.1.1 分形定义 453
14.1.2 几种典型的分形 454
14.1.3 分形理论的应用 456
14.2 主要内容 457
14.2.1 分形维数 457
14.2.2 l系统 458
14.2.3 ifs系统 460
14.3 分形理论在量化投资中的应用 461
14.3.1 大趋势预测 461
14.3.2 汇率预测 466
第 15章 随机过程 473
15.1 基本概念 473
15.2 主要内容 476
15.2.1 随机过程的分布函数 476
15.2.2 随机过程的数字特征 476
15.2.3 几种常见的随机过程 477
15.2.4 平稳随机过程 479
15.3 灰色马尔可夫链股市预测 480
第 16章 it技术 486
16.1 数据仓库技术 486
16.1.1 从数据库到数据仓库 487
16.1.2 数据仓库中的数据组织 489
16.1.3 数据仓库的关键技术 491
16.2 编程语言 493
16.2.1 GPU算法交易 493
16.2.2 MATLAB 语言 497
16.2.3 c#语言 504
第 17章 主要数据与工具 509
17.1 名策多因子分析系统 509
17.2 MultiCharts:程序化交易平台 511
17.3 交易开拓者:期货自动交易平台 514
17.4 大连交易所套利指令 518
17.5 mt5:外汇自动交易平台 522
第 18章 量化对冲交易系统:D-alpha 528
18.1 系统构架 528
18.2 策略分析流程 530
18.3 核心算法 532
18.4 验证结果 534
表目录
表1 1 不同投资策略对比 7
表2 1 多因子选股模型候选因子 30
表2 2 多因子模型候选因子初步检验 31
表2 3 多因子模型中通过检验的有效因子 32
表2 4 多因子模型中剔除冗余后的因子 33
表2 5 多因子模型组合分段收益率 33
表2 6 晨星市场风格判别法 36
表2 7 夏普收益率基础投资风格鉴别 37
表2 8 中信标普风格指数 41
表2 9 风格动量策略组合月均收益率 43
表2 10 大小盘风格轮动策略月收益率均值 46
表2 11 中国货币周期分段(2000—2009年) 49
表2 12 沪深300行业指数统计 50
表2 13 不同货币阶段不同行业的收益率 51
表2 14 招商资金流模型(cmsmf)计算方法 58
表2 15 招商资金流模型(cmsmf)选股指标定义 59
表2 16 资金流模型策略——沪深300 61
表2 17 资金流模型策略——全市场 62
表2 18 动量组合相对基准的平均年化超额收益(部分) 68
表2 19 反转组合相对基准的平均年化超额收益(部分) 69
表2 20 动量策略风险收益分析 71
表2 21 反转策略风险收益分析 73
表2 22 趋势追踪技术收益率 93
表2 23 筹码选股模型中单个指标的收益率情况对比 99
表3 1 ma指标择时测试最好的20 组参数及其表现 117
表3 2 4个趋势型指标最优参数下的独立择时交易表现比较 120
表3 3 有交易成本情况下不同信号个数下的综合择时策略 120
表3 4 自适应均线择时策略收益率分析 124
表3 5 市场情绪类别 126
表3 6 沪深300指数在不同情绪区域的当月收益率比较 128
表3 7 沪深300指数在不同情绪变化区域的当月收益率比较 129
表3 8 沪深300指数在不同情绪区域的次月收益率比较 130
表3 9 沪深300指数在不同情绪变化区域的次月收益率比较 130
表3 10 情绪指数择时收益率统计 132
表3 11 svm择时模型的指标 156
表3 12 svm对沪深300指数预测结果指标汇总 156
表3 13 svm择时模型在整体市场的表现 156
表3 14 svm择时模型在单边上涨市的表现 157
表3 15 svm择时模型在单边下跌市的表现 158
表3 16 svm择时模型在震荡市的表现 159
表3 17 噪声交易在熊市择时的收益率 170
表4 1 各种方法在不同股票数量下的跟踪误差(年化) 190
表4-2 股指期货多头跨期套利过程分析 199
表4 3 不同开仓比例下的不同保证金水平能够覆盖的市场波动及其概率 211
表4 4 不同仓单持有期下的保证金覆盖比例 212
表6 1 融券标的股票中在样本期内最相关的50 对组合(部分) 248
表6 2 残差的平稳性、自相关等检验 249
表6 3 在不同的阈值下建仓、平仓所能获得的平均收益 251
表6 4 采用不同的模型在样本内获取的收益率及最优阈值 252
表6 5 采用不同的模型、不同的外推方法在样本外获取的收益率(%) 253
表6 6 主成分配对交易在样本内取得的收益率及最优阈值 255
表6 7 主成分配对交易在样本外的效果 255
表6-8 各种模型下统计套利的结果 256
表6 9 延后开仓+提前平仓策略实证结果 260
表6 10 各行业的配对交易结果 261
表7 1 多头股票-期权套利综合分析表 283
表7 2 多头股票—股票期权套利案例损益分析表 284
表7 3 多头股票-指数期权套利案例损益分析表 285
表7 4 转换套利分析过程 286
表7 5 买入跨式套利综合分析表 289
表7 6 买入跨式套利交易细节 289
表7 7 卖出跨式套利综合分析表 291
表7 8 卖出跨式套利交易细节 292
表7 9 买入宽跨式套利综合分析表 293
表7 10 卖出宽跨式套利综合分析表 294
表7 11 买入蝶式套利综合分析表 296
表7 12 卖出蝶式套利综合分析表 298
表7 13 买入飞鹰套利分析表 300
表7 14 卖出飞鹰式套利综合分析表 301
表9 1 主要并购方式 324
表9 2 并购套利流程 325
表9 3 鹏华300 lof两次正向套利的情况 339
表9 4 鹏华300 lof两次反向套利的情况 340
表10 1 自动推理中连词系统 352
表10 2 模式识别短线择时样本数据分类 369
表10 3 rbf神经网络股价预测结果 375
表10 4 遗传算法新股预测参数设置 379
表10 5 遗传算法新股预测结果 380
表11 1 决策树数据表 389
表11 2 关联规则案例数据表 392
表11 3 som股票聚类分析结果 403
表11 4 21种股票板块指数布尔关系表数据片断 404
表12 1 深发展a日收盘价小波分析方法预测值与实际值比较 427
表12 2 不同分解层数的误差均方根值 428
表13 1 svm沪深300指数预测误差情况 445
表13 2 svm指数预测和神经网络预测的比较 445
表13 3 技术反转点定义与图型 448
表13 4 svm趋势拐点预测结果 450
表14 1 持续大涨前后分形各主要参数值 463
表14 2 持续大跌前后分形个主要参数值 465
表14 3 外汇r/ s 分析的各项指标 469
表14 4 v(r/s)曲线回归检验 470
表15 1 灰色马尔可夫链预测深证成指样本内(2005/1—2006/8) 484
表15 2 灰色马尔可夫链预测深证成指样本外(2006/9—2006/12) 484
表16-1 vba的12种数据类型 499
表18-1 d-alpha系统在全球市场收益率分析 534

C. 如何利用Python预测股票价格

预测股票价格没有意义。
单支股票价格,多股组合,大盘这些都可以使用神经网络来学习,02年就做过了,涨跌预测平均能达到54%到57%的准确率,但是只能定性,无法定量,因此,在扣除印花税之后无利可图。

纯粹使用股票交易数据来预测并保证总体获利不是程序能办到的,人也办不到。
目前世界上最先进的炒股机器也只能利用网络时差那微不可计的零点几秒在欧洲与美国证券间倒来倒去,那套系统研发费用数千万,硬件(主要是独立光缆)费用以亿计。

D. bp神经网络股票价格预测的MATLAB编程

P=[];‘输入,开盘价,最高价,最低价,收盘价成交量依次5天的数据’
T=[];’输出,即第二日的收盘’
net=newff(minmax(P),[7,1],{'tansig','logsig'},'traingdx');
net.trainParam.epochs=1000; ‘最大训练次数,根据需要可自行调节’
net.trainParam.goal=0.01; ‘误差’
net.trainParam.lr=0.01; ‘学习率’
net=train(net,P,T); ‘训练网络’
test=[];‘待预测数据输入’
out=sim(net,test); ‘仿真预测’
我的这个程序没有进行初始化,你还需要先将数据进行初始化后才能算。

E. 神经网络预测股票准吗

目前还达不到非常准确的效果,决定股票走势的因子很多,有些如突发的并购、减持、宏观经济的事件、公司人事的更迭等等,这些事件神经网络没法给出好的判断。

F. 如何用 Python 构建神经网络择时模型

  • 神经网络可以指向两种,一个是生物神经网络,一个是人工神经网络。

  • 生物神经网络:一般指生物的大脑神经元,细胞,触点等组成的网络,用于产生生物的意识,帮助生物进行思考和行动。

  • 人工神经网络(Artificial Neural Networks,简写为ANNs)也简称为神经网络(NNs)或称作连接模型(Connection Model),它是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的。

  • 人工神经网络:是一种应用类似于大脑神经突触联接的结构进行信息处理的数学模型。在工程与学术界也常直接简称为“神经网络”或类神经网络。

G. BP神经网络的原理的BP什么意思

人工神经网络有很多模型,但是日前应用最广、基本思想最直观、最容易被理解的是多层前馈神经网络及误差逆传播学习算法(Error Back-Prooaeation),简称为BP网络。

在1986年以Rumelhart和McCelland为首的科学家出版的《Parallel Distributed Processing》一书中,完整地提出了误差逆传播学习算法,并被广泛接受。多层感知网络是一种具有三层或三层以上的阶层型神经网络。典型的多层感知网络是三层、前馈的阶层网络(图4.1),即:输入层、隐含层(也称中间层)、输出层,具体如下:

图4.1 三层BP网络结构

(1)输入层

输入层是网络与外部交互的接口。一般输入层只是输入矢量的存储层,它并不对输入矢量作任何加工和处理。输入层的神经元数目可以根据需要求解的问题和数据表示的方式来确定。一般而言,如果输入矢量为图像,则输入层的神经元数目可以为图像的像素数,也可以是经过处理后的图像特征数。

(2)隐含层

1989年,Robert Hecht Nielsno证明了对于任何在闭区间内的一个连续函数都可以用一个隐层的BP网络来逼近,因而一个三层的BP网络可以完成任意的n维到m维的映射。增加隐含层数虽然可以更进一步的降低误差、提高精度,但是也使网络复杂化,从而增加了网络权值的训练时间。误差精度的提高也可以通过增加隐含层中的神经元数目来实现,其训练效果也比增加隐含层数更容易观察和调整,所以一般情况应优先考虑增加隐含层的神经元个数,再根据具体情况选择合适的隐含层数。

(3)输出层

输出层输出网络训练的结果矢量,输出矢量的维数应根据具体的应用要求来设计,在设计时,应尽可能减少系统的规模,使系统的复杂性减少。如果网络用作识别器,则识别的类别神经元接近1,而其它神经元输出接近0。

以上三层网络的相邻层之间的各神经元实现全连接,即下一层的每一个神经元与上一层的每个神经元都实现全连接,而且每层各神经元之间无连接,连接强度构成网络的权值矩阵W。

BP网络是以一种有教师示教的方式进行学习的。首先由教师对每一种输入模式设定一个期望输出值。然后对网络输入实际的学习记忆模式,并由输入层经中间层向输出层传播(称为“模式顺传播”)。实际输出与期望输出的差即是误差。按照误差平方最小这一规则,由输出层往中间层逐层修正连接权值,此过程称为“误差逆传播”(陈正昌,2005)。所以误差逆传播神经网络也简称BP(Back Propagation)网。随着“模式顺传播”和“误差逆传播”过程的交替反复进行。网络的实际输出逐渐向各自所对应的期望输出逼近,网络对输入模式的响应的正确率也不断上升。通过此学习过程,确定下各层间的连接权值后。典型三层BP神经网络学习及程序运行过程如下(标志渊,2006):

(1)首先,对各符号的形式及意义进行说明:

网络输入向量Pk=(a1,a2,...,an);

网络目标向量Tk=(y1,y2,...,yn);

中间层单元输入向量Sk=(s1,s2,...,sp),输出向量Bk=(b1,b2,...,bp);

输出层单元输入向量Lk=(l1,l2,...,lq),输出向量Ck=(c1,c2,...,cq);

输入层至中间层的连接权wij,i=1,2,...,n,j=1,2,...p;

中间层至输出层的连接权vjt,j=1,2,...,p,t=1,2,...,p;

中间层各单元的输出阈值θj,j=1,2,...,p;

输出层各单元的输出阈值γj,j=1,2,...,p;

参数k=1,2,...,m。

(2)初始化。给每个连接权值wij、vjt、阈值θj与γj赋予区间(-1,1)内的随机值。

(3)随机选取一组输入和目标样本

提供给网络。

(4)用输入样本

、连接权wij和阈值θj计算中间层各单元的输入sj,然后用sj通过传递函数计算中间层各单元的输出bj

基坑降水工程的环境效应与评价方法

bj=f(sj) j=1,2,...,p (4.5)

(5)利用中间层的输出bj、连接权vjt和阈值γt计算输出层各单元的输出Lt,然后通过传递函数计算输出层各单元的响应Ct

基坑降水工程的环境效应与评价方法

Ct=f(Lt) t=1,2,...,q (4.7)

(6)利用网络目标向量

,网络的实际输出Ct,计算输出层的各单元一般化误差

基坑降水工程的环境效应与评价方法

(7)利用连接权vjt、输出层的一般化误差dt和中间层的输出bj计算中间层各单元的一般化误差

基坑降水工程的环境效应与评价方法

(8)利用输出层各单元的一般化误差

与中间层各单元的输出bj来修正连接权vjt和阈值γt

基坑降水工程的环境效应与评价方法

(9)利用中间层各单元的一般化误差

,输入层各单元的输入Pk=(a1,a2,...,an)来修正连接权wij和阈值θj

基坑降水工程的环境效应与评价方法

(10)随机选取下一个学习样本向量提供给网络,返回到步骤(3),直到m个训练样本训练完毕。

(11)重新从m个学习样本中随机选取一组输入和目标样本,返回步骤(3),直到网路全局误差E小于预先设定的一个极小值,即网络收敛。如果学习次数大于预先设定的值,网络就无法收敛。

(12)学习结束。

可以看出,在以上学习步骤中,(8)、(9)步为网络误差的“逆传播过程”,(10)、(11)步则用于完成训练和收敛过程。

通常,经过训练的网络还应该进行性能测试。测试的方法就是选择测试样本向量,将其提供给网络,检验网络对其分类的正确性。测试样本向量中应该包含今后网络应用过程中可能遇到的主要典型模式(宋大奇,2006)。这些样本可以直接测取得到,也可以通过仿真得到,在样本数据较少或者较难得到时,也可以通过对学习样本加上适当的噪声或按照一定规则插值得到。为了更好地验证网络的泛化能力,一个良好的测试样本集中不应该包含和学习样本完全相同的模式(董军,2007)。

H. 什么是BP神经网络

BP算法的基本思想是:学习过程由信号正向传播与误差的反向回传两个部分组成;正向传播时,输入样本从输入层传入,经各隐层依次逐层处理,传向输出层,若输出层输出与期望不符,则将误差作为调整信号逐层反向回传,对神经元之间的连接权矩阵做出处理,使误差减小。经反复学习,最终使误差减小到可接受的范围。具体步骤如下:
1、从训练集中取出某一样本,把信息输入网络中。
2、通过各节点间的连接情况正向逐层处理后,得到神经网络的实际输出。
3、计算网络实际输出与期望输出的误差。
4、将误差逐层反向回传至之前各层,并按一定原则将误差信号加载到连接权值上,使整个神经网络的连接权值向误差减小的方向转化。
5、対训练集中每一个输入—输出样本对重复以上步骤,直到整个训练样本集的误差减小到符合要求为止。

I. AI都能炒股了,以后就要拼谁的算法牛了

人工智能量化交易平台宣布获得数百万人民币融资。据悉,本轮融资将主要用于团队建设、产品开发和硬件设备投入。

是一家基于人工智能的量化投资公司,成立于2017年10月,主要将技术应用于量化投资领域,实现低风险高收益的投资回报。

中国私、公募基金规模呈大跨步发展,截止2018年2月底,中国私募基金规模已达12.01万亿元,公募资金规模已达12.64万亿,在控制风险的前提下,提高获得投资收益的效率,是公、私募投资最大需求,国外盛行的量化交易越来越被国内机构所接受。

在量化交易这个领域,目前已有不少项目:私人量化交易平台JoinQuant、RiceQuant以及优矿,为量化交易领域提供核心算法支持的众加,量化策略商城微量网、以量财富为代表的量化理财平台,以及为量化投资者提供智能交易和分析工具的名策数据。

量化交易策略的建立是量化交易的重要环节。目前主要方式有两种,一种是输入与这套逻辑相关联的因子,比如历史表现、公司财务数据、宏观经济数据、上下游供应商数据等众多参数,建立一套模型,以算出标的上涨或下跌的概率,并生成投资组合和调仓策略。随着近几年人工智能兴起,不少人开始选用机器学习等方式,输入众多因子,让AI自己生成策略。

创始人兼CEO庞表示,的做法则不同,是用神经管网络替代原来用逻辑和策略构建的数学模型,通过输入股票相关数据,利用训练不同结构的神经网络来实现机器自主的量化交易。想做量化交易界的Deepmind(研发阿尔法狗的团队),成为中国的基金。

目前,的首个产品A股机器人“狗”已上线,应用于国内二级市场的投资,产品已实盘测试8个月。数据显示,狗实盘业绩显着,在2017年11月A股普跌的情况下(中证1000跌幅超4%),狗依然实现了5.23%的收益,最大回撤控制在2.7%,并在2018年1月底上证指数大跌12%的情况下,智富狗做到了提前清盘避险,业绩明显优于大盘。

投资人黄表示:“人工智能是非常好的提高效率的方式,非常关注人工智能在各个领域的应用,我们认为以为代表的、基于神经网络的人工智能量化交易平台,能极大地提高大型的高频交易的效率。人的精力有限,一个再好的操盘手也不可能同时看2000支股票,但机器能轻易办到。”

J. 如何用 Python 构建神经网络择时模型

这个就要谨慎了。