當前位置:首頁 » 股票入門 » 神經網路股票擇時交易
擴展閱讀
設計總院股票歷史股價 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 構建神經網路擇時模型

這個就要謹慎了。