內容簡介
本書分為基礎篇和篇兩大部分。基礎篇通過Q&A的方式介紹瞭MATLAB的主要功能、基本命令、數據處理等內容,使讀者對MATLAB有一個基本的瞭解。篇分為20章,介紹瞭MATLAB結閤具體量化投資的相關案例,包括MATLAB處理優化問題和數據交互、繪製交易圖形、構建行情軟件和交易模型、基於MATLAB的BP神經網絡和廣義極值分布、基於MATLAB的正則錶達式基礎教程、FQuantToolBox股票期貨數據獲取&量化迴測工具箱的介紹與使用等內容,通過豐富的實例和圖形幫助讀者理解和運用MATLAB作為量化投資的工具。本書的特色在於不僅僅滿足理論學習的需要,更幫助讀者邊學邊練,理論與實踐並重。本書適閤經濟金融機構的研究人員和從業人員、進行量化投資的交易員、具有統計背景的科研工作者、高等院校相關專業的教師和學生及對量化投資和MATLAB感興趣的人士閱讀。
圖書目錄
目錄
基 礎 篇
第0章 N分鍾學會MATLAB(60<N<180) 1
0.1 引言 1
0.2 基礎知識 1
0.3 輸入/輸齣 10
0.4 數據處理 12
0.5 數學運算 18
0.6 字符操作 25
0.7 日期時間 27
0.8 繪圖相關 28
0.9 數學、金融、統計相關 34
0.10 其他 47
高 級 篇
第1章 基於MATLAB的優化問題 51
1.1 基於MATLAB的綫性優化 51
1.1.1 背景介紹 51
1.1.2 綫性優化MATLAB求解 52
1.1.3 含參數綫性規劃 56
1.2 基於MATLAB的非綫性優化 57
1.2.1 背景介紹 57
1.2.2 理論模型 58
1.2.3 MATLAB實現 60
1.2.4 擴展閱讀 70
1.3 優化工具箱參數設置 73
1.3.1 優化工具箱參數說明 73
1.3.2 優化工具箱參數設置方法 78
1.3.3 參數設置實例演示 80
第2章 MATLAB與Excel的數據交互 81
2.1 數據交互函數 81
2.1.1 獲取文件信息xlsfinfo函數 81
2.1.2 讀取數據xlsread函數 82
2.1.3 寫入數據xlswrite函數 84
2.1.4 交互界麵uiimport函數 85
2.2 Excel-Link宏 87
2.2.1 加載Excel-Link宏 88
2.2.2 使用Excel-Link宏 89
2.2.3 Excel 2007加載與使用宏 91
2.3 交互實例 92
2.3.1 基金相關性的計算 92
2.3.2 多個文件的讀取和寫入 93
2.4 數據的平滑處理 94
2.4.1 smooth函數 94
2.4.2 smoothts函數 99
2.4.3 medfilt1函數 102
2.5 數據的變換 104
2.5.1 數據的標準化變換 105
2.5.2 數據的極差規格化變換 107
第3章 MATLAB與數據庫的數據交互 110
3.1 MATLAB實現 110
3.1.1 Database工具箱簡介 110
3.1.2 Database工具箱函數 111
3.1.3 數據庫數據讀取 112
3.1.4 數據庫數據寫入 117
3.2 係統數據源配置 119
第4章 K綫圖及常用技術指標的MATLAB實現 122
4.1 K綫圖的MATLAB實現 123
4.1.1 MATLAB內置函數candle實現 123
4.1.2 自己編寫函數實現 124
4.2 常用技術指標的MATLAB實現 128
4.2.1 簡單移動平均綫(SMA)和指數移動平均綫(EMA) 129
4.2.2 自適應移動平均綫(AMA) 133
4.2.3 指數平滑異同移動平均綫(MACD) 138
4.2.4 平均差(DMA) 140
第5章 基於MATLAB的行情軟件 143
5.1 基於MATLAB的行情軟件使用介紹 145
5.1.1 麵闆介紹 145
5.1.2 功能介紹 145
5.2 基於MATLAB的行情軟件建立過程 148
5.2.1 GUI版麵布局設計 148
5.2.2 核心函數編寫 150
5.3 擴展閱讀 159
5.3.1 MATLAB通過網頁抓取從雅虎網站獲取股票曆史數據 159
5.3.2 MATLAB通過網頁抓取從新浪獲取股票實時數據 163
第6章 基於MATLAB的隨機模擬 167
6.1 概率分布 167
6.1.1 概率分布的定義 167
6.1.2 幾種常用的概率分布 167
6.1.3 概率密度、分布和逆概率分布函數值的計算 171
6.2 隨機數與濛特卡羅模擬 174
6.2.1 隨機數的生成 174
6.2.2 濛特卡羅模擬 178
6.3 隨機價格序列 180
6.3.1 收益率服從正態分布的價格序列 180
6.3.2 具有相關性的隨機序列 182
6.4 帶約束的隨機序列 184
第7章 基於MATLAB的風險管理 188
7.1 背景介紹 188
7.1.1 VaR模型 188
7.1.2 VaR計算方法 190
7.2 MATLAB實現 191
7.2.1 數據讀取 191
7.2.2 數據處理 200
7.2.3 曆史模擬法程序 201
7.2.4 參數模型法程序 203
7.2.5 濛特卡羅模擬程序 205
7.2.6 計算結果比較 208
第8章 期權定價模型的MATLAB實現 209
8.1 概述 209
8.1.1 關於布萊剋、斯科爾斯和莫頓的故事 209
8.1.2 Black-Scholes定價模型 210
8.2 Black-Scholes定價模型及希臘字母研究 211
8.2.1 Black-Scholes微分方程的推導 211
8.2.2 希臘字母研究及MATLAB仿真測試 217
8.3 二叉樹定價模型研究 233
8.3.1 期權定價的數值方法概述 233
8.3.2 二叉樹定價模型 235
8.3.3 二叉樹模型下的希臘字母計算和測試 240
8.3.4 美式期權與歐式期權的風險指標對比 243
8.4 BAW定價模型研究 247
8.4.1 美式期權定價模型方法概述 247
8.4.2 BAW定價模型 247
8.4.3 BAW定價模型仿真測試 250
第9章 基於MATLAB的支持嚮量機(SVM)在量化投資中的應用 253
9.1 背景介紹 253
9.1.1 SVM概述 253
9.1.2 LIBSVM工具箱 255
9.2 上證指數開盤指數預測 257
9.2.1 模型建立 257
9.2.2 MATLAB實現 258
9.3 上證指數開盤指數變化趨勢和變化空間預測 264
9.3.1 信息粒化簡介 264
9.3.2 模型建立 267
9.3.3 MATLAB實現 267
9.4 基於C-SVM的期貨交易策略 272
9.4.1 引言 272
9.4.2 模型建立 273
9.4.3 MATLAB實現 273
9.5 擴展閱讀 287
9.5.1 MATLAB自帶的SVM實現函數與LIBSVM的差彆 287
9.5.2 關於SVM的學習資源匯總 288
第10章 MATLAB與其他金融平颱終端的通信 291
10.1 DataHouse平颱MATLAB接口介紹 291
10.1.1 DataHouse平颱簡介 291
10.1.2 MATLAB接口介紹 293
10.2 Wind平颱MATLAB接口介紹 308
10.2.1 Wind平颱簡介 308
10.2.2 MATLAB接口介紹 309
第11章 基於MATLAB的交易品種選擇分析 313
11.1 品種的流動性 313
11.2 品種的波動性 316
11.3 小結 320
第12章 基於MATLAB的交易品種相關性分析 321
12.1 背景介紹 321
12.2 MATLAB實現 324
12.2.1 計算相關性的時間長度和時間周期的選擇 325
12.2.2 不同交易品種(資産)的時間軸校正 327
12.2.3 全市場品種的相關性圖形展示 327
12.3 擴展閱讀 329
第13章 基於MATLAB的國內期貨證券交易解決方案 333
13.1 國內期貨櫃颱係統介紹 333
13.2 MATLAB對接CTP的各種方式 335
13.3 開發前準備 336
13.3.1 文檔下載 336
13.3.2 MATLAB安裝 336
13.3.3 監控工具 337
13.3.4 開發工具 338
13.4 C#版對接原理 338
13.5 XAPI版項目介紹 339
13.6 MATLAB對接期貨接口介紹(XAPI項目.NET版) 340
13.6.1 導入C#庫 341
13.6.2 啓動行情連接 341
13.6.3 顯示連接狀態 345
13.6.4 訂閱行情 348
13.6.5 行情連接參數 349
13.6.6 啓動交易連接 349
13.6.7 交易的相關事件 349
13.6.8 下單 350
13.6.9 撤單 352
13.6.10 退齣 352
13.6.11 改進 352
13.7 MATLAB對接期貨接口介紹(XAPI項目COM版) 353
13.7.1 COM組件注冊 353
13.7.2 COM組件運行 354
13.7.3 COM事件注冊 356
13.7.4 下單 357
13.8 MATLAB對接證券接口 358
13.9 MATLAB對接個股期權接口 360
第14章 構建基於MATLAB的迴測係統 361
14.1 基於MATLAB的量化迴測平颱框架介紹 361
14.1.1 迴測平颱實現細節思考 361
14.1.2 迴測平颱框架 363
14.2 簡單均綫係統的MATLAB實現 364
14.3 基於MATLAB的策略迴測模闆樣例 369
14.3.1 模闆結構 369
14.3.2 相關迴測變量和指標的定義 369
14.3.3 策略描述 370
14.3.4 數據準備 373
14.3.5 迴測計算 374
14.3.6 策略評價 379
14.4 其他基於MATLAB的迴測平颱展示 385
14.4.1 HTS1.0——基於MATLAB設計的迴測平颱體驗版 385
14.4.2 GreenDragon期貨交易算法研發平颱 387
14.4.3 交易策略迴測GUI [Trading strategy back tester] 388
第15章 基於MATLAB的多因子選股模型的實現 389
15.1 多因子模型介紹 389
15.1.1 背景 389
15.1.2 因子種類 389
15.1.3 因子庫 390
15.1.4 全局參數 390
15.1.5 初始股票池 391
15.1.6 股票組閤 392
15.1.7 情景分析 392
15.1.8 測試流程 393
15.1.9 評價體係 393
15.2 MATLAB實現 394
15.2.1 主腳本 394
15.2.2 提取數據 396
15.2.3 因子選股 398
15.2.4 迴測 399
15.2.5 策略評價 403
15.3 總結 405
第16章 基於MATLAB和Wind的量化交易終端AsTradePlatform介紹與使用 406
16.1 背景介紹 406
16.2 麵闆介紹 406
16.3 模塊介紹 408
16.3.1 前期準備 408
16.3.2 初始化 412
16.3.3 登錄/登齣模塊 413
16.3.4 策略控製模塊 419
16.3.5 標的池模塊 446
16.3.6 策略監控模塊 456
16.3.7 賬戶信息模塊 465
16.3.8 手動交易 467
16.3.9 選股模型 468
16.4 總結與改進 472
第17章 基於MATLAB的BP神經網絡在量化投資中的應用 473
17.1 基礎概述 473
17.1.1 BP神經網絡概述 473
17.1.2 基於MATLAB的BP神經網絡的非綫性係統建模 480
17.2 基於MATLAB的BP神經網絡對股指連續收盤價進行預測 484
17.2.1 數據與指標選取 484
17.2.2 基於BP神經網絡的股指連續的預測實現 484
第18章 基於MATLAB的廣義極值分布在量化投資中的策略挖掘與迴測 487
18.1 背景介紹 487
18.1.1 廣義極值分布 487
18.1.2 GEV分布與目標價格的突破概率 490
18.2 GEV策略與迴測的MATLAB實現 495
18.2.1 策略準則 495
18.2.2 GEV策略構建 500
18.2.3 HS300迴測 507
18.2.4 股指期貨5分鍾連續主力閤約迴測 511
第19章 基於MATLAB的正則錶達式基礎教程 517
19.1 引言 517
19.2 單個字符的匹配 518
19.2.1 句點符號 518
19.2.2 方括號符號 519
19.2.3 方括號中的連接符 519
19.2.4 特殊字符 519
19.2.5 類錶達式 520
19.3 字符串的匹配 521
19.3.1 多次匹配 521
19.3.2 邏輯運算符 522
19.3.3 左顧右盼——利用上下文匹配 523
19.4 標記(tokens) 523
19.4.1 什麼是標記 523
19.4.2 如何使用標記 524
19.5 多行字符串與多正則錶達式 525
19.5.1 多個字符串與單個正則錶達式匹配 525
19.5.2 多個字符串與多個正則錶達式匹配 526
19.5.3 多字符串的替換 526
19.6 應用實例 526
第20章 FQuantToolBox股票期貨數據獲取&量化迴測工具箱的介紹與使用 528
20.1 FQuantToolBox是做什麼用的 528
20.2 FQuantToolBox工具箱內容簡介 529
20.3 行情數據和基本麵數據獲取函數 530
20.4 工具箱各版本更新說明 557
量化投資:以MATLAB為工具(第2版)—— 駕馭數據浪潮,構建智能交易係統 在瞬息萬變的金融市場中,數據早已成為驅動決策的核心動力。量化投資,作為一種依賴數學模型和計算工具進行投資決策的科學化方法,正日益受到廣大投資者的青睞。它剝離瞭主觀情緒的乾擾,將復雜的市場信號轉化為清晰的交易策略,從而在理性與效率的軌道上穩步前行。 本書 《包郵 量化投資:以MATLAB為工具(第2版)》 緻力於為您搭建一座通往量化投資世界的橋梁,您將在這裏學習如何運用強大而靈活的MATLAB軟件,將理論知識轉化為切實可行的投資實踐。我們深知,理論的浩瀚與實踐的落地之間往往存在鴻溝,而MATLAB正是填補這一鴻溝的利器。通過本書,您將逐步掌握從數據獲取、處理、分析,到策略開發、迴測、優化的全流程,最終能夠獨立構建並優化屬於自己的量化交易係統。 本書亮點與特色 體係化、實戰化導嚮: 本書並非簡單的理論堆砌,而是緊密結閤實際投資需求,從最基礎的概念講起,逐步深入到復雜的策略構建。我們注重方法的普適性,力求讓讀者無論身處何種市場環境,都能找到適用的量化思路。 MATLAB深度應用: MATLAB作為一款強大的科學計算軟件,在金融工程、數據分析和算法開發領域擁有無可比擬的優勢。本書將深入淺齣地介紹MATLAB在量化投資中的各項功能,包括但不限於: 數據處理與清洗: 學習如何導入、存儲、處理和清洗海量的金融數據,包括股票價格、宏觀經濟指標、新聞文本等,為後續分析奠定堅實基礎。 統計分析與建模: 掌握多種統計工具和模型,如時間序列分析(ARIMA、GARCH等)、迴歸分析、因子分析等,用於識彆市場規律和風險因素。 機器學習與人工智能: 探索如何運用MATLAB強大的機器學習工具箱,構建預測模型(如神經網絡、支持嚮量機、集成學習等),捕捉非綫性關係,發現潛在的投資機會。 策略迴測與優化: 學習如何利用MATLAB進行策略的迴測,評估其曆史錶現,並通過參數優化、組閤優化等方法,不斷改進策略的穩健性和盈利能力。 可視化與報告生成: 掌握將復雜的分析結果以直觀圖錶呈現的方法,以及如何生成專業的投資報告,便於溝通和決策。 前沿量化策略解析: 本書不僅涵蓋瞭經典的量化策略,如趨勢跟蹤、均值迴歸、統計套利等,更深入探討瞭當前市場備受關注的量化策略,例如: 多因子模型: 學習如何構建和應用基於多個風險因子(如市值、價值、動量、質量、波動率等)的選股模型,實現跨越周期的穩定收益。 事件驅動策略: 探索如何利用新聞、公告、財報等市場事件,通過量化方法捕捉交易機會。 宏觀量化策略: 學習如何將宏觀經濟數據與量化模型相結閤,捕捉經濟周期對資産價格的影響。 另類數據應用: 介紹如何引入和分析非傳統金融數據(如社交媒體情緒、衛星圖像、信用卡消費數據等),發掘傳統數據難以觸及的alpha。 循序漸進的學習路徑: 本書結構清晰,內容組織閤理。從基礎概念的普及,到具體代碼實現的演示,再到策略的進階應用,每個章節都承上啓下,確保讀者能夠循序漸進地掌握量化投資的精髓。我們力求語言通俗易懂,避免過多的學術術語,讓即使是初學者也能輕鬆入門。 豐富的案例研究與代碼示例: 本書提供瞭大量貼近實戰的案例研究,並附帶完整的MATLAB代碼示例。讀者可以通過閱讀和模仿這些代碼,快速掌握核心技術,並能根據自身需求進行修改和拓展,真正做到學以緻用。 適閤讀者群體 金融從業者: 無論是基金經理、投資分析師、交易員,還是風險管理師,本書都將為您提供升級工具和創新思路。 量化交易愛好者: 想要係統學習量化投資,並掌握利用編程工具實現交易策略的個人投資者。 金融工程、經濟學、計算機科學等相關專業學生: 為您打下紮實的理論基礎和實踐技能,為未來職業發展奠定堅實基礎。 對數據分析和算法感興趣的各界人士: 即使您並非直接從事金融行業,本書也能為您提供一套嚴謹的數據分析和決策方法論,並能將其應用於其他領域。 閱讀本書,您將收獲: 係統性的量化投資知識體係: 從宏觀到微觀,從理論到實踐,全麵掌握量化投資的各個環節。 精湛的MATLAB編程與應用技能: 熟練運用MATLAB進行金融數據分析、策略開發與迴測。 獨立構建和優化量化交易係統的能力: 能夠根據市場變化,自主設計、實施和迭代交易策略。 更理性、更高效的投資決策能力: 擺脫情緒化交易,用數據和模型說話。 發掘市場潛在收益的洞察力: 學習識彆非傳統alpha來源,捕捉更多投資機會。 在金融市場日益復雜和信息爆炸的時代,僅僅依靠直覺和經驗進行投資已難以適應。量化投資為您提供瞭一種更科學、更嚴謹、更具競爭力的投資方式。本書《包郵 量化投資:以MATLAB為工具(第2版)》將是您開啓量化投資之旅的最佳嚮導。我們相信,通過學習本書,您將能夠更好地理解市場,駕馭數據浪潮,最終在投資領域取得更大的成功。
這本書的排版設計非常人性化,文字大小適中,行間距閤理,使得長時間閱讀也不會感到疲勞。書中的圖錶和代碼都經過精心設計,清晰易懂,與文字內容相得益彰。作者在介紹量化投資的各個環節時,都力求做到詳盡周全,從數據預處理到策略迴測,再到風險管理,幾乎涵蓋瞭量化投資的全流程。 我特彆欣賞作者在講解“因子選擇”這一關鍵環節時所花費的篇幅。他詳細介紹瞭多種常用的因子,並深入剖析瞭這些因子的經濟含義和統計特性。作者並沒有盲目推崇某種特定的因子,而是強調瞭因子選擇的動態性和適應性,這讓我意識到,一個優秀的量化策略,其因子庫也需要不斷地更新和優化。他還提供瞭一些在MATLAB中實現因子篩選和因子組閤的方法,這些方法非常實用。 在迴測部分,作者對不同迴測方法的優缺點進行瞭詳細的比較,並重點講解瞭如何避免常見的“未來函數”陷阱。這對我來說是非常寶貴的經驗,因為在自己實踐迴測時,經常會因為對迴測細節把握不準而導緻結果失真。作者提供的MATLAB代碼示例,能夠幫助我更準確地理解和實現這些迴測技巧,從而得到更可靠的迴測結果。 除瞭技術層麵的講解,作者還在書中穿插瞭一些關於學術研究和行業動態的介紹,這讓我在學習量化投資知識的同時,也能對整個領域的發展趨勢有所瞭解。他提到的幾篇經典論文,我之後也特意去查閱瞭,受益匪淺。這種將理論學習與前沿視野相結閤的做法,使得整本書的內容更加充實和有價值。 總的來說,這本書是一本非常紮實的量化投資教科書。它既有嚴謹的理論基礎,又有貼近實戰的MATLAB工具應用。對於想要係統學習量化投資,並希望掌握實操技能的讀者來說,這本書絕對是不可多得的優質選擇。