华泰人工智能系列之七:人工智能选股之Python实战-20170919-华泰证券-39页-3mb
报告摘要
文档内容总结
核心内容
本文档是华泰证券研究所发布的关于“人工智能选股之Python实战”的研究报告,旨在帮助投资者和研究者了解如何使用Python进行机器学习选股模型的构建与实现。文档详细介绍了Python语言的基础知识、常用包的安装与使用,以及如何将经典多因子模型转换为机器学习框架进行选股。
主要观点
-
Python的优势:
- Python是机器学习领域广泛使用的编程语言,具有简单易学、丰富的库和模块,如NumPy、pandas、scikit-learn等。
- Python的解释性使其开发更为便捷,但运算效率不如编译型语言。
- Python的缩进语法增强了代码的可读性和结构清晰度。
-
机器学习选股模型:
- 机器学习方法可以挖掘数据中的非线性规律,相较于线性回归具有更高的灵活性。
- 正则化和参数优化可以筛选出最有效的自变量和预测力最强的模型。
- 机器学习选股框架与多因子模型类似,包含训练和测试两个阶段。
-
模型构建流程:
- 文档将机器学习选股代码拆分为12个子模块,包括模块导入、参数设置、数据读入、数据标记、数据预处理、模型设置、模型训练、模型预测、模型评价、策略构建、策略评价和结果保存。
- 每个模块都附有代码实例和逐句分析,便于读者理解和实现。
关键信息
Python语言与环境
- Python是一种解释型语言,适合数据科学和机器学习。
- Anaconda是推荐的Python发行版本,提供了强大的包管理和环境管理功能。
- 安装和更新包可以通过
conda install和conda update命令完成。
常用Python包
- NumPy:用于处理大型数组和进行科学计算。
- 常用函数包括
np.array、np.arange、np.reshape、np.sqrt、np.mean、np.std、np.dot等。
- 常用函数包括
- pandas:用于数据处理和分析,提供DataFrame和Series等数据结构。
- 常见操作包括数据读取、数据切片、数据排序、缺失值处理等。
- scikit-learn (sklearn):提供多种机器学习算法和工具,如支持向量机(SVM)、线性回归(LR)、随机梯度下降(SGD)等。
数据准备
- 数据为CSV格式,每个文件对应一个截面期,包含股票的基本信息、下期超额收益和因子值。
- 数据预处理包括中位数去极值、缺失值填充、行业市值中性化和标准化。
- 交易状态为0的股票不参与模型训练和预测。
程序架构
- 机器学习程序分为12个子模块,结构清晰,便于理解和扩展。
- 采用样本内外划分方式,样本内用于训练,样本外用于测试。
- 代码实例以支持向量机模型为主,其他模型如线性回归、随机梯度下降等也可通过修改参数实现。
代码实战
- 模块导入部分包含NumPy和pandas的导入。
- 参数设置使用类
Para,包含模型类型、月份范围、样本比例等参数。 - 数据标记函数
label_data用于选择超额收益排名前30%和后30%的股票,分别标记为1和0。 - 数据预处理包括标准化、缺失值处理等操作。
- 模型设置部分包括SVM、线性回归和随机梯度下降的参数设置。
- 模型训练、预测、评价部分展示如何使用这些模型进行预测和评估。
- 策略构建和评价部分涉及投资组合的构建和评估,如累积超额收益净值图。
- 结果保存部分展示如何将预测结果保存为CSV文件。
风险提示
- 报告中的代码可能因数据库架构、网络环境或硬件条件不同而无法正常运行。
- 人工智能选股策略是基于历史数据的经验总结,可能存在失效风险。
图表目录
- 文档包含多个图表,涵盖Python命令行操作、数据操作示例、模型设置和结果展示等内容,便于读者直观理解代码和模型。
相关研究
- 提及了前几篇关于机器学习选股的研究报告,包括Boosting模型、随机森林模型和周期三因子定价与资产配置模型,为读者提供了进一步阅读的参考。
附录
- 提供了Python帮助命令、数据结构操作、NumPy和pandas的使用方法,以及更多相关资源链接。
以上内容为文档的核心要点,帮助读者快速了解Python在机器学习选股中的应用及其具体实现方式。
展开完整摘要
试读结束,高清完整版pdf/doc/ppt,请点下载