金融人工智能:用Python实现AI量化交易_【德】伊夫·希尔皮斯科_AZW3_MOBI_EPUB_PDF_电子书(无页码)_【德】伊夫·希尔皮斯科

内容节选

8.5金融特征 RNN 的应用不仅限于原始价格或收益率数据,还可以包括附加特征以改进它的预测性能。以下 Python 代码向数据集中添加了典型的金融特征。In [77]: data = generate_data()In [78]: data['r'] = np.log(data / data.shift(1))In [79]: window = 20 data['mom'] = data['r'].rolling(window).mean() ➊ data['vol'] = data['r'].rolling(window).std() ➋ In [80]: data.dropna(inplace=True) ➊ 增加时间序列动量特征。 ➋ 增加滚动波动率特征。 8.5.1 估计 在估计任务中,样本外准确率可能会显著下降,这有些出人意料。换句话说,在这种特殊情况下添加金融特征并没有观察到任何改进。In [81]: split = int(len(data) * 0.8)In [82]: train = data.iloc[:split].copy()In [83]: mu, std = train.mean(), train.std() ➊ In [84]: train = (train - mu) / std ➋ In [85]: test = data.iloc[split:].copy() In [86]: test = (test - mu) / std ➌ In [87]: g = TimeseriesGenerator(train.values, train['r'].values, length=lags, batch_size=5) ➍ In [88]: set_seeds() model = create_rnn_model(hu=100, features=len(data.columns), layer='SimpleRNN') In [89]: %%time model.fit_generator(g, epochs=100, steps_per_epoch=10, verbose=False) ➍ CPU times: user 5.24 s, sys: 1.08 s, total: 6.32 s Wall time: 2.73 s Out[89]: In [90]: g_ = TimeseriesGenerator(test.values, test['r'].values, length=lags, batch_size=5) ➎ In [91]: y = model.predict(g_).flatten() ➎ In [92]: accuracy_score(np.sign(test['r'].iloc[lags:]), np.sign(y)) ➎ Out[92]: 0.37299771167048057 ➊ 计算训练数据的一阶矩和二阶矩。 ➋ 对训练数据应用高斯归一化。 ➌ 对测试数据应用高斯归一化(基于来自训练数据的统计数据)。 ❹ 在训练数据上拟合模型。 ➎ 在测试数据上测试模型。 8.5.2 分类 迄今为止的分析都在使用 Keras 中的 RNN 模型进行估计,以预测金融工具价格的未来方向。我们所关心的问题可能会更好地直接转换为分类问题。以下 Python 代码会处理二进制标签数据并直接预测价格变动的方向。这次我们使用 LSTM 层,即使对于相对少量的隐藏单元和有限的几个训练轮数,样本外的准确率也相当高。该方法通过适当调整类权重来解决类别不平衡的问题。在这种情况下,预测准确率非常高,约为 65%。In [93]: set_seeds() model = create_rnn_model(hu=50, features=len(data.columns), layer='LSTM', algorithm='classification') ➊ In [94]: train_y = np.where(train['r'] > 0, 1, 0) ➋ In [95]: np.bincount(train_y) ➌ Out[95]: array([2374, 1142]) In [96]: def cw(a): c0, c1 = np.bincount(a) w0 = (1 / c0) * (len(a)) / 2 w1 = (1 / c1) * (len(a)) / 2 return {0: w0, 1: w1} In [97]: g = TimeseriesGenerator(tra......

  1. 信息
  2. 声明
  3. O'Reilly Media, Inc.介绍
  4. 业界评论
  5. 本书赞誉
  6. 前言
  7. 第一部分 机器智能
  8. 第1章 人工智能
  9. 1.1 算法
  10. 1.2 神经网络
  11. 1.3 数据的重要性
  12. 1.4 结论
  13. 第2章 超级智能
  14. 2.1 成功故事
  15. 2.2 硬件的重要性
  16. 2.3 智能的形式
  17. 2.4 通往超级智能的途径
  18. 2.5 智能爆炸
  19. 2.6 目标和控制
  20. 2.7 潜在的结果
  21. 2.8 结论
  22. 第二部分 金融和机器学习
  23. 第3章 规范性金融理论
  24. 3.1 不确定性与风险
  25. 3.2 预期效用理论
  26. 3.3 均值−方差投资组合理论
  27. 3.4 资本资产定价模型
  28. 3.5 套利定价理论
  29. 3.6 结论
  30. 第4章 数据驱动的金融学
  31. 4.1 科学方法
  32. 4.2 金融计量经济学与回归
  33. 4.3 数据可用性
  34. 4.4 重新审视规范性理论
  35. 4.5 揭示中心假设
  36. 4.6 结论
  37. 4.7 Python 代码段
  38. 第5章 机器学习
  39. 5.1 学习
  40. 5.2 数据
  41. 5.3 成功
  42. 5.4 容量
  43. 5.5 评估
  44. 5.6 偏差和方差
  45. 5.7 交叉验证
  46. 5.8 结论
  47. 第6章 人工智能优先的金融
  48. 6.1 有效市场
  49. 6.2 基于收益数据的市场预测
  50. 6.3 基于更多特征的市场预测
  51. 6.4 日内市场预测
  52. 6.5 结论
  53. 第三部分 统计失效
  54. 第7章 密集神经网络
  55. 7.1 数据
  56. 7.2 基线预测
  57. 7.3 归一化
  58. 7.4 暂退
  59. 7.5 正则化
  60. 7.6 装袋
  61. 7.7 优化器
  62. 7.8 结论
  63. 第8章 循环神经网络
  64. 8.1 第一个示例
  65. 8.2 第二个示例
  66. 8.3 金融价格序列
  67. 8.4 金融收益率序列
  68. 8.5 金融特征
  69. 8.6 结论
  70. 第9章 强化学习
  71. 9.1 基本概念
  72. 9.2 OpenAI Gym
  73. 9.3 蒙特卡罗智能体
  74. 9.4 神经网络智能体
  75. 9.5 DQL 智能体
  76. 9.6 简单的金融沙箱
  77. 9.7 更好的金融沙箱
  78. 9.8 FQL 智能体
  79. 9.9 结论
  80. 第四部分 算法交易
  81. 第10章 向量化回测
  82. 10.1 基于SMA 策略的回测
  83. 10.2 基于DNN 的每日策略的回测
  84. 10.3 基于DNN 的日内策略的回测
  85. 10.4 结论
  86. 第11章 风险管理
  87. 11.1 交易机器人
  88. 11.2 向量化回测
  89. 11.3 基于事件的回测
  90. 11.4 风险评估
  91. 11.5 风控措施回测
  92. 11.6 结论
  93. 11.7 Python 代码
  94. 第12章 执行与部署
  95. 12.1 Oanda 账户
  96. 12.2 数据检索
  97. 12.3 订单执行
  98. 12.4 交易机器人
  99. 12.5 部署
  100. 12.6 结论
  101. 12.7 Python 代码
  102. 第五部分 展望
  103. 第13章 基于人工智能的竞争
  104. 13.1 人工智能和金融
  105. 13.2 标准的缺失
  106. 13.3 教育和培训
  107. 13.4 资源争夺
  108. 13.5 市场影响
  109. 13.6 竞争场景
  110. 13.7 风险、监管和监督
  111. 13.8 结论
  112. 第14章 金融奇点
  113. 14.1 概念和定义
  114. 14.2 风险是什么
  115. 14.3 通往金融奇点的途径
  116. 14.4 正交技能和资源
  117. 14.5 之前和之后的情景
  118. 14.6 星际迷航还是星球大战
  119. 14.7 结论
  120. 第六部分 附录
  121. 附录A 交互式神经网络
  122. A.1 张量和张量运算
  123. A.2 简单神经网络
  124. A.3 浅层神经网络
  125. 附录B 神经网络类
  126. B.1 激活函数
  127. B.2 简单神经网络
  128. B.3 浅层神经网络
  129. B.4 预测市场方向
  130. 附录C 卷积神经网络
  131. C.1 特征和标签数据
  132. C.2 训练模型
  133. C.3 测试模型
  134. 参考文献
  135. 关于作者
  136. 关于封面