Python金融數據分析 ython for Finance Cookbook : Over 80 powerful recipes for effective financial data analysis, 2/e

Lewinson, Eryk 黃剛 譯

  • Python金融數據分析-preview-1
  • Python金融數據分析-preview-2
  • Python金融數據分析-preview-3
Python金融數據分析-preview-1

相關主題

商品描述

《Python金融數據分析》詳細闡述了與Python金融數據分析相關的基本解決方案,主要包括獲取金融數據、數據預處理、可視化金融時間序列、探索金融時間序列數據、技術分析和構建交互式儀表板、時間序列分析與預測、基於機器學習的時間序列預測、多因素模型、使用GARCH類模型對波動率進行建模、金融領域中的蒙特卡羅模擬、資產配置、回測交易策略、識別信用違約、機器學習項目的高級概念、金融領域的深度學習等內容。此外,本書還提供了相應的示例、代碼,以幫助讀者進一步理解相關方案的實現過程。

目錄大綱

目    錄

第1章  獲取金融數據 1

  1.1  從雅虎財經獲取數據 2

  1.1.1  實戰操作 3

  1.1.2  原理解釋 4

  1.1.3  擴展知識 4

  1.1.4  參考資料 5

  1.2  從Nasdaq Data Link獲取數據 5

  1.2.1  準備工作 6

  1.2.2  實戰操作 6

  1.2.3  原理解釋 7

  1.2.4  擴展知識 8

  1.2.5  參考資料 9

  1.3  從Intrinio獲取數據 10

  1.3.1  準備工作 10

  1.3.2  實戰操作 10

  1.3.3  原理解釋 12

  1.3.4  擴展知識 12

  1.3.5  參考資料 16

  1.4  從Alpha Vantage獲取數據 16

  1.4.1  準備工作 16

  1.4.2  實戰操作 17

  1.4.3  原理解釋 18

  1.4.4  擴展知識 18

  1.4.5  參考資料 21

  1.5  從CoinGecko獲取數據 21

  1.5.1  實戰操作 21

  1.5.2  原理解釋 22

  1.5.3  擴展知識 23

  1.5.4  參考資料 24

  1.6  小結 24

第2章  數據預處理 27

  2.1  將價格轉化為收益 27

  2.1.1  實戰操作 28

  2.1.2  原理解釋 29

  2.2  為通貨膨脹調整收益 29

  2.2.1  實戰操作 30

  2.2.2  原理解釋 31

  2.2.3  擴展知識 32

  2.2.4  參考資料 33

  2.3  改變時間序列數據的頻率 33

  2.3.1  做好準備 34

  2.3.2  實戰操作 34

  2.3.3  原理解釋 36

  2.4  估算缺失數據的不同方法 36

  2.4.1  實戰操作 36

  2.4.2  原理解釋 39

  2.4.3  擴展知識 39

  2.4.4  參考資料 41

  2.5  轉換貨幣單位 41

  2.5.1  實戰操作 41

  2.5.2  原理解釋 42

  2.5.3  擴展知識 43

  2.5.4  參考資料 44

  2.6  聚合交易數據的不同方式 44

  2.6.1  實戰操作 46

  2.6.2  原理解釋 50

  2.6.3  擴展知識 52

  2.6.4  參考資料 52

  2.7  小結 52

 

第3章  可視化金融時間序列 53

  3.1  時間序列數據的基本可視化 54

  3.1.1  實戰操作 54

  3.1.2  原理解釋 56

  3.1.3  擴展知識 56

  3.1.4  參考資料 59

  3.2  可視化季節性模式 59

  3.2.1  實戰操作 59

  3.2.2  原理解釋 62

  3.2.3  擴展知識 62

  3.3  創建交互式可視化 65

  3.3.1  實戰操作 66

  3.3.2  原理解釋 68

  3.3.3  擴展知識 69

  3.3.4  參考資料 70

  3.4  創建K線圖 71

  3.4.1  準備工作 72

  3.4.2  實戰操作 72

  3.4.3  原理解釋 74

  3.4.4  擴展知識 74

  3.4.5  參考資料 76

  3.5  小結 77

第4章  探索金融時間序列數據 79

  4.1  使用滾動統計進行異常值檢測 79

  4.1.1  實戰操作 80

  4.1.2  原理解釋 82

  4.1.3  擴展知識 82

  4.2  使用Hampel過濾器進行異常值檢測 83

  4.2.1  實戰操作 84

  4.2.2  原理解釋 85

  4.2.3  擴展知識 86

  4.2.4  參考資料 87

  4.3  檢測時間序列中的變點 88

  4.3.1  實戰操作 89

  4.3.2  原理解釋 91

  4.3.3  擴展知識 91

  4.3.4  參考資料 93

  4.4  檢測時間序列中的趨勢 93

  4.4.1  實戰操作 94

  4.4.2  原理解釋 95

  4.4.3  參考資料 96

  4.5  使用Hurst指數檢測時間序列中的模式 96

  4.5.1  實戰操作 97

  4.5.2  原理解釋 99

  4.5.3  擴展知識 100

  4.5.4  參考資料 100

  4.6  研究資產收益的典型化事實 100

  4.6.1  準備工作 101

  4.6.2  實戰操作 101

  4.6.3  原理解釋 108

  4.6.4  擴展知識 110

  4.6.5  參考資料 112

  4.7  小結 112

第5章  技術分析和構建交互式儀表板 113

  5.1  計算最流行的技術指標 113

  5.1.1  實戰操作 114

  5.1.2  原理解釋 118

  5.1.3  擴展知識 119

  5.1.4  參考資料 119

  5.2  下載技術指標 120

  5.2.1  實戰操作 120

  5.2.2  原理解釋 122

  5.2.3  擴展知識 122

  5.3  識別K線圖的形態 124

  5.3.1  實戰操作 125

  5.3.2  原理解釋 127

  5.3.3  擴展知識 128

  5.3.4  參考資料 129

  5.4  使用Streamlit構建用於技術分析的交互式Web應用程序 129

  5.4.1  準備工作 130

  5.4.2  實戰操作 130

  5.4.3  原理解釋 135

  5.4.4  擴展知識 139

  5.4.5  參考資料 139

  5.5  部署技術分析應用程序 139

  5.5.1  準備工作 140

  5.5.2  實戰操作 140

  5.5.3  原理解釋 141

  5.5.4  擴展知識 142

  5.5.5  參考資料 142

  5.6  小結 143

第6章  時間序列分析與預測 145

  6.1  時間序列分解 146

  6.1.1  實戰操作 148

  6.1.2  原理解釋 151

  6.1.3  擴展知識 151

  6.1.4  參考資料 154

  6.2  測試時間序列的平穩性 155

  6.2.1  準備工作 156

  6.2.2  實戰操作 156

  6.2.3  原理解釋 158

  6.2.4  擴展知識 159

  6.2.5  參考資料 160

  6.3  校正時間序列的平穩性 160

  6.3.1  實戰操作 161

  6.3.2  原理解釋 166

  6.3.3  擴展知識 166

  6.4  使用指數平滑方法對時間序列建模 168

  6.4.1  準備工作 169

  6.4.2  實戰操作 169

  6.4.3  原理解釋 174

  6.4.4  擴展知識 175

  6.4.5  參考資料 177

  6.5  使用ARIMA類模型對時間序列建模 178

  6.5.1  準備工作 179

  6.5.2  實戰操作 179

  6.5.3  原理解釋 186

  6.5.4  擴展知識 188

  6.5.5  參考資料 190

  6.6  使用auto-ARIMA尋找最佳擬合的ARIMA模型 190

  6.6.1  準備工作 191

  6.6.2  實戰操作 191

  6.6.3  原理解釋 197

  6.6.4  擴展知識 197

  6.6.5  參考資料 203

  6.7  小結 203

第7章  基於機器學習的時間序列預測 205

  7.1  時間序列的驗證方法 205

  7.1.1  實戰操作 208

  7.1.2  原理解釋 214

  7.1.3  擴展知識 216

  7.1.4  參考資料 219

  7.2  時間序列的特徵工程 219

  7.2.1  實戰操作 220

  7.2.2  原理解釋 228

  7.2.3  擴展知識 229

  7.3  將時間序列預測作為簡化回歸任務 234

  7.3.1  準備工作 235

  7.3.2  實戰操作 235

  7.3.3  原理解釋 243

  7.3.4  擴展知識 246

  7.3.5  參考資料 246

  7.4  使用Meta的Prophet進行預測 246

  7.4.1  實戰操作 248

  7.4.2  原理解釋 255

  7.4.3  擴展知識 256

  7.4.4  參考資料 260

  7.5  使用PyCaret進行時間序列預測的AutoML 260

  7.5.1  準備工作 260

  7.5.2  實戰操作 260

  7.5.3  原理解釋 267

  7.5.4  擴展知識 269

  7.6  小結 270

第8章  多因素模型 273

  8.1  估計CAPM 274

  8.1.1  實戰操作 275

  8.1.2  原理解釋 277

  8.1.3  擴展知識 277

  8.1.4  參考資料 280

  8.2  估計Fama-French三因素模型 280

  8.2.1  實戰操作 281

  8.2.2  原理解釋 284

  8.2.3  擴展知識 284

  8.2.4  參考資料 285

  8.3  估計資產組合的滾動三因素模型 285

  8.3.1  實戰操作 286

  8.3.2  原理解釋 288

  8.4  估計四因素和五因素模型 289

  8.4.1  實戰操作 290

  8.4.2  原理解釋 294

  8.4.3  參考資料 294

  8.5  使用Fama-MacBeth回歸估計橫截面因素模型 295

  8.5.1  實戰操作 296

  8.5.2  原理解釋 298

  8.5.3  擴展知識 298

  8.5.4  參考資料 300

  8.6  小結 301

第9章  使用GARCH類模型對波動率進行建模 303

  9.1  使用ARCH模型對股票收益的波動性進行建模 304

  9.1.1  實戰操作 305

  9.1.2  原理解釋 308

  9.1.3  擴展知識 309

  9.1.4  參考資料 310

  9.2  使用GARCH模型對股票收益的波動性進行建模 310

  9.2.1  實戰操作 311

  9.2.2  原理解釋 313

  9.2.3  擴展知識 313

  9.2.4  參考資料 315

  9.3  使用GARCH模型預測波動率 315

  9.3.1  實戰操作 316

  9.3.2  原理解釋 320

  9.3.3  擴展知識 320

  9.4  使用CCC-GARCH模型進行多變量波動率預測 323

  9.4.1  實戰操作 324

  9.4.2  原理解釋 327

  9.4.3  參考資料 327

  9.5  使用DCC-GARCH預測條件協方差矩陣 327

  9.5.1  準備工作 328

  9.5.2  實戰操作 329

  9.5.3  原理解釋 332

  9.5.4  擴展知識 333

  9.5.5  參考資料 335

  9.6  小結 336

第10章  金融領域中的蒙特卡羅模擬 337

  10.1  使用幾何布朗運動模擬股票價格動態 337

  10.1.1  實戰操作 338

  10.1.2  原理解釋 341

  10.1.3  擴展知識 343

  10.1.4  參考資料 344

  10.2  使用模擬為歐式期權定價 345

  10.2.1  實戰操作 346

  10.2.2  原理解釋 347

  10.2.3  擴展知識 348

  10.3  使用最小二乘法蒙特卡羅為美式期權定價 350

  10.3.1  實戰操作 351

  10.3.2  原理解釋 353

  10.3.3  參考資料 354

  10.4  使用QuantLib為美式期權定價 354

  10.4.1  準備工作 354

  10.4.2  實戰操作 354

  10.4.3  原理解釋 356

  10.4.4  擴展知識 357

  10.5  為障礙期權定價 358

  10.5.1  實戰操作 359

  10.5.2  原理解釋 360

  10.5.3  擴展知識 361

  10.6  使用蒙特卡羅模擬估計風險價值 361

  10.6.1  實戰操作 362

  10.6.2  原理解釋 365

  10.6.3  擴展知識 366

  10.7  小結 367

第11章  資產配置 369

  11.1  評估等權重投資組合的績效 370

  11.1.1  實戰操作 370

  11.1.2  原理解釋 373

  11.1.3  擴展知識 374

  11.1.4  參考資料 378

  11.2  使用蒙特卡羅模擬尋找有效邊界 378

  11.2.1  實戰操作 379

  11.2.2  原理解釋 382

  11.2.3  擴展知識 384

  11.3  使用SciPy優化找到有效邊界 386

  11.3.1  準備工作 387

  11.3.2  實戰操作 387

  11.3.3  原理解釋 390

  11.3.4  擴展知識 392

  11.3.5  參考資料 393

  11.4  使用CVXPY凸優化尋找有效邊界 393

  11.4.1  準備工作 394

  11.4.2  實戰操作 394

  11.4.3  原理解釋 397

  11.4.4  擴展知識 398

  11.5  使用分層風險平價尋找最佳投資組合 402

  11.5.1  實戰操作 403

  11.5.2  原理解釋 405

  11.5.3  擴展知識 406

  11.5.4  參考資料 409

  11.6  小結 410

第12章  回測交易策略 411

  12.1  使用pandas進行向量化回測 413

  12.1.1  實戰操作 413

  12.1.2  原理解釋 416

  12.1.3  擴展知識 417

  12.2  使用backtrader進行事件驅動的回測 418

  12.2.1  準備工作 419

  12.2.2  實戰操作 419

  12.2.3  原理解釋 424

  12.2.4  擴展知識 425

  12.2.5  參考資料 427

  12.3  基於RSI回測多頭/空頭策略 427

  12.3.1  實戰操作 427

  12.3.2  原理解釋 430

  12.3.3  擴展知識 431

  12.3.4  參考資料 434

  12.4  回測基於布林帶的買入/賣出策略 434

  12.4.1  實戰操作 435

  12.4.2  原理解釋 440

  12.4.3  擴展知識 441

  12.5  使用加密貨幣交易數據回測移動平均線交叉策略 441

  12.5.1  實戰操作 442

  12.5.2  原理解釋 447

  12.5.3  擴展知識 447

  12.6  回測均值方差投資組合優化 448

  12.6.1  準備工作 448

  12.6.2  實戰操作 448

  12.6.3  原理解釋 452

  12.6.4  參考資料 453

  12.7  小結 455

第13章  應用機器學習:識別信用違約 457

  13.1  加載數據和管理數據類型 458

  13.1.1  實戰操作 458

  13.1.2  原理解釋 462

  13.1.3  擴展知識 464

  13.1.4  參考資料 465

  13.2  探索性數據分析 466

  13.2.1  準備工作 467

  13.2.2  實戰操作 467

  13.2.3  原理解釋 476

  13.2.4  擴展知識 479

  13.2.5  參考資料 481

  13.3  將數據拆分為訓練集和測試集 482

  13.3.1  實戰操作 482

  13.3.2  原理解釋 483

  13.3.3  擴展知識 484

  13.4  識別和處理缺失值 485

  13.4.1  準備工作 487

  13.4.2  實戰操作 487

  13.4.3  原理解釋 489

  13.4.4  擴展知識 490

  13.4.5  參考資料 492

  13.5  編碼分類變量 493

  13.5.1  準備工作 494

  13.5.2  實戰操作 495

  13.5.3  原理解釋 497

  13.5.4  擴展知識 498

  13.6  擬合決策樹分類器 500

  13.6.1  準備工作 501

  13.6.2  實戰操作 501

  13.6.3  原理解釋 505

  13.6.4  擴展知識 508

  13.6.5  參考資料 513

  13.7  使用管道組織項目 514

  13.7.1  實戰操作 514

  13.7.2  原理解釋 517

  13.7.3  擴展知識 518

  13.8  使用網格搜索和交叉驗證調整超參數 523

  13.8.1  準備工作 525

  13.8.2  實戰操作 525

  13.8.3  原理解釋 528

  13.8.4  擴展知識 530

  13.8.5  參考資料 534

  13.9  小結 535

第14章  機器學習項目的高級概念 537

  14.1  探索集成分類器 538

  14.1.1  準備工作 539

  14.1.2  實戰操作 539

  14.1.3  原理解釋 542

  14.1.4  擴展知識 545

  14.1.5  參考資料 547

  14.2  探索編碼分類特徵的替代方法 548

  14.2.1  準備工作 551

  14.2.2  實戰操作 551

  14.2.3  原理解釋 554

  14.2.4  擴展知識 555

  14.2.5  參考資料 556

  14.3  研究處理不平衡數據的不同方法 556

  14.3.1  準備工作 559

  14.3.2  實戰操作 559

  14.3.3  原理解釋 563

  14.3.4  擴展知識 564

  14.3.5  參考資料 566

  14.4  通過堆疊集成利用群體智慧 567

  14.4.1  實戰操作 569

  14.4.2  原理解釋 572

  14.4.3  擴展知識 573

  14.4.4  參考資料 574

  14.5  貝葉斯超參數優化 575

  14.5.1  實戰操作 576

  14.5.2  原理解釋 581

  14.5.3  擴展知識 582

  14.5.4  參考資料 589

  14.6  特徵重要性研究 590

  14.6.1  準備工作 592

  14.6.2  實戰操作 593

  14.6.3  原理解釋 600

  14.6.4  擴展知識 601

  14.6.5  參考資料 602

  14.7  探索特徵選擇技術 603

  14.7.1  準備工作 604

  14.7.2  實戰操作 604

  14.7.3  原理解釋 609

  14.7.4  擴展知識 612

  14.7.5  參考資料 615

  14.8  探索可解釋的AI技術 616

  14.8.1  準備工作 619

  14.8.2  實戰操作 619

  14.8.3  原理解釋 630

  14.8.4  擴展知識 632

  14.8.5  參考資料 633

  14.9  小結 635

第15章  金融領域的深度學習 637

  15.1  探索fastai的Tabular Learner 637

  15.1.1  實戰操作 639

  15.1.2  原理解釋 645

  15.1.3  擴展知識 648

  15.1.4  參考資料 649

  15.2  探索Google的TabNet 650

  15.2.1  實戰操作 651

  15.2.2  原理解釋 657

  15.2.3  擴展知識 659

  15.2.4  參考資料 660

  15.3  使用Amazon的DeepAR進行時間序列預測 660

  15.3.1  實戰操作 661

  15.3.2  原理解釋 667

  15.3.3  擴展知識 668

  15.3.4  參考資料 673

  15.4  使用NeuralProphet進行時間序列預測 673

  15.4.1  實戰操作 674

  15.4.2  原理解釋 682

  15.4.3  擴展知識 683

  15.4.4  參考資料 688

  15.5  小結 688

  15.5.1  表格數據 688

  15.5.2  時間序列 689

  15.5.3  其他領域 690

  

·XXVI·

Python金融數據分析

  

·XXVII·

目    錄