目录

  • 1 量化投资概论
    • 1.1 授课计划
    • 1.2 优秀结课论文分享
    • 1.3 量化鼻祖:西蒙斯
    • 1.4 量化投资的定义
    • 1.5 量化投资的特点
    • 1.6 量化投资的发展史
    • 1.7 量化投资的前景
    • 1.8 章节习题
  • 2 Python基础
    • 2.1 环境配置
    • 2.2 数据结构
    • 2.3 基本语句
    • 2.4 基本函数
    • 2.5 类与对象
    • 2.6 模块和包
    • 2.7 标准库
    • 2.8 Numpy库
    • 2.9 Pandas库
    • 2.10 Matplotlib库
    • 2.11 案例:金融数据分析之Pyhton实现
    • 2.12 章节习题
  • 3 统计学基础*
    • 3.1 统计函数库(自学)
    • 3.2 描述性统计
    • 3.3 随机变量
    • 3.4 统计推断
    • 3.5 方差分析
    • 3.6 回归分析
    • 3.7 章节习题
  • 4 金融学基础
    • 4.1 金融分析库(自学)
    • 4.2 资产收益率与风险
    • 4.3 投资组合理论
    • 4.4 资本资产定价模型
    • 4.5 Fama-French 因子模型
    • 4.6 章节习题
  • 5 金融时间序列分析*
    • 5.1 金融时间序列库(自学)
    • 5.2 基本概念
    • 5.3 基本性质
    • 5.4 金融时间序列预测
    • 5.5 波动率
    • 5.6 章节习题
  • 6 配对交易策略
    • 6.1 配对交易策略
    • 6.2 最小距离法之实战分析
    • 6.3 协整法之实战分析
    • 6.4 随机价差法之实战分析*
    • 6.5 章节习题
  • 7 技术指标策略
    • 7.1 技术指标库(自学)
    • 7.2 K线图
    • 7.3 KDJ 策略
    • 7.4 RSI 策略
    • 7.5 MACD 策略
    • 7.6 BOLL 策略
    • 7.7 DMI 策略
    • 7.8 CCI 策略
    • 7.9 MT 策略
    • 7.10 PTV 策略
    • 7.11 OBV 策略
    • 7.12 ROC 策略
    • 7.13 BIAS 策略
    • 7.14 其他技术指标策略
    • 7.15 章节习题
  • 8 机器学习在量化投资中的应用*
    • 8.1 机器学习库
    • 8.2 量化投资之逻辑回归算法模型
    • 8.3 量化投资之决策树算法模型
    • 8.4 量化投资之随机森林算法模型
    • 8.5 量化投资之支持向量机算法模型
    • 8.6 量化投资之集成算法模型
    • 8.7 量化投资之人工神经网络算法模型
    • 8.8 章节习题
  • 9 深度学习在量化投资中的应用**
    • 9.1 深度学习库
    • 9.2 量化投资之TensorFlow
    • 9.3 量化投资之PyTorch
    • 9.4 量化投资之MXNet
    • 9.5 章节习题
  • 10 附     录
    • 10.1 量化武器库大全
    • 10.2 2022年量化金融分析师全国统一考试考试大纲
机器学习库

8.1 机器学习库

(1) scikit-learn ---- Machine Learning in Python

scikit-learn (formerly scikits.learn) is an open source machine learning library for the Python programming language. It features various classification, regression and clustering algorithms including support vector machines, logistic regression, naive Bayes, random forests, gradient boosting, k-means and DBSCAN, and is designed to interoperate with the Python numerical and scientific libraries NumPy and SciPy.

最初于2007年发布的scikit-learn是为机器学习开发的开源库。这个传统的框架是用Python编写的,并且包含了几种机器学习模型,包括分类,回归,聚类和降维。

Scikit-learn是在另外三个开源项目Matplotlib,NumPy和SciPy上设计的,它专注于数据挖掘和数据分析。

(1)sklearn的安装

  • 安装Anaconda(Anaconda的免费发布版提供scikit-learn)(建议)

  • pip虚拟环境安装最新版本

(2)sklearn机器学习简介

  • 机器学习分类

    (1)监督学习:数据包含有要预测的额外属性。

    • 分类:如果所期待的输出包含一个或多个离散变量,则该任务称为分类

    • 回归:如果所期待的输出包含一个或多个连续变量,则该任务称为回归

(2)无监督学习:训练数据由一组输入向量x组成,没有任何对应的目标值。

  • 训练集与测试集

    • 在该训练集上我们学习一些属性;

    • 在该测试上我们测试学习到的属性。

  • 示例数据集

  • 学习和预测

  • 在scikit-learn中,分类的一个估计器(estimator)是一个Python对象,该对象实现fit(X, y)predict(T)方法。

    • from sklearn import svm clf = svm.SVC(gamma=0.001, C=100.)

      result = clf.fit(digits.data[:-1], digits.target[:-1])

      result.predict(digits.data[-1:])

  • 估计器对象

    • 拟合数据 : scikit-learn 实现的主要API是estimator(估计器). 估计器(estimator)是在数据中进行学习的任何对象; 它可以是分类、回归或聚类算法或从原始数据中提取/过滤有用特征的转换器。所有估计器(estimator)对象都公开一个“fit”方法,该方法接受一个数据集(通常是二维阵列)。

    • 估算器参数 : 估计器(estimator)的所有参数可以在实例化时设置,也可以在创建估计器(estimator)之后通过修改相应的属性来设置。

    • 拟合参数 : 当估计器(estimator)拟合完数据之后,所有参数可从估计器(estimator)中获取。拟合参数都是估计器(estimator)对象以下划线结尾的属性

(2) mlpy ---- Machine Learning Python

mlpy is a Python module for Machine Learning built on top of NumPy/SciPy and the GNU Scientific Libraries.mlpy provides a wide range of state-of-the-art machine learning methods for supervised and unsupervised problems and it is aimed at finding a reasonable compromise among modularity, maintainability, reproducibility, usability and efficiency. mlpy is multiplatform, it works with Python 2 and 3 and it is Open Source, distributed under the GNU General Public License version 3.