多因子选选股MATLAB代码,金工研报:利用卷积神经网络进行多因子选股

首先,我们先来看一下通过卷积神经网络选股模型的整体流程,然后再根据每一步流程进行介绍,具体如下图所示:

6524318157ed1b44efbcbcc1011d97aa.png

1、数据获取

用于历史回测数据来自所有A股股票,其中剔除了ST股以及上市3个月的股票,另外,每只股票是做一个样本。回测的区间是从2011年1月31日到2019年1月31日。

2、特征和标签提取

通过CNN进行分类预测时,必然需要进行对特征进行提取并进行标签的标注工作。其中,样本特征是根据每个自然月的最后一个交易日计算82个因子值,作为原始特征。由于卷积神经网络需要提供二维的平面数据,所以这里选取的每个样本数据考虑了5个历史截面期,这样得到的数据就是一个82×5的因子图片了。下面展示了某个股10个因子,5个历史截面期时的因子图片。其中,t表示事件截面的时间周期刻度。这样,如果在一个时间截面上有3000支股票,那么就可以得到3000张个股的因子图片了。

13b6b381ef88dc5ede066a1bc3f6ddd3.png

对于分类问题,其标签是根据下个月的排名进行设置,其中收益前30%的股票作为正例,后30%的股票作为负例,以此作为样本的标签。

3、特征预处理和二维数据生成

这部分主要包括对因子序列去极值,处理缺失值以及对因子序列进行标准化处理等。然后根据前面的要求的形式,将其转换为因子图片,这样在每个月的截面上,就可以得到所有股票池中的截面数据了。下图中列出了用到的82中因子的一部分。

b91b1bafcef08cd46b82123bb61ecb55.png

4、滚动训练集和验证集的合成

由于按照月度滚动的形式进行训练,时间开销会比较大,所以文中采用的是年度滚动的训练方式。即全体样本内外数据分为九个阶段,例如预测2011年时,将2005年到2010年共72个月的数据合并作为样本内数据,预测T年时,将T-6到T-1年的72个月合并为样本内数据,具体如下图所示。

2c4c855e9180e606395c7611e8465f88.png

5、样本内训练

使用卷积神经网络对训练集的数据进行训练。

6、交叉验证调参

随机选取10%训练样本内的数据作为验证集,每次在验证集上的loss达到最小时,停止训练。

7、样本外测试

在确定最优参数之后,以T月截面期所有样本预处理后的特征作为模型的输入,得到对于每个样本的预测值,并将预测值作为合成后的因子,对单因子进行分层回测。

8、模型评价

通过分层回测和构建的选股策略的结果作为模型评价的标准。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/533563.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

matlab bad apple,【bad apple】matlab制作矩阵苹果~

有屏幕的地方就有bad apple那么作为一名工科生,熟练的操♂作马桶萝卜(matlab)是一项基本技能下面开始讲解如何用matlab制作别具一格的“矩阵苹果”~实验环境matlab R2018a原版bad apple视频技术要求可以即时演算图形可以将处理后的每帧图形合并成新的视频先上代码%t…

服务器ip直接访问php怎么写,php - 如何实现用公网ip访问到服务器上的网页?

服务器系统是Windows Server 2012 R2,已经部署了IIS、PHP和MySQL,能够在云服务器上通过localhost打开php网页,(放在服务器wwwroot上的index.php)已在ISS管理器中添加网站,但编辑网站绑定时,在ip地址中填入了服务器的公…

vb6 打印选项对话框_图纸打印次数太多,不知道哪次才是最新的?用打印戳记区分效果好...

原创:就说我在开发区使用AutoCAD从事设计工作的朋友们不知道有没遇到过这种情况:图纸在反复修改打印的过程中,由于图纸内容高度相似,往往搞不清究竟哪个才是最新版本的图纸了。这种情况下,细致入微地去核对非常麻烦&am…

安卓文本编辑器php cpp,用安卓原生控件封装一个简易的富文本编辑器

最近接到项目需求:移动端原生写一个富文本编辑器。 ( ⊙ o ⊙ )从没遇到过富文本要用原生写的,然后就查阅各种资料。然后结合自己的思路:其实安卓的富文本编辑器就是一个 “容器”。那么接下来我就带给大家说一说我自定义这个富文本编…

vue tab切换_iviewUITabs选项卡切换组件

概述 选项卡切换组件,常用于平级区域大块内容的的收纳和展现。源码地址:https://github.com/iview/iview/tree/2.0/src/components/tabs使用: 标签一的内容标签二的内容标签三的内容标签二的内容在源码的tabs文件下有三个文件:ind…

paypal创建订单后怎么获得id_5步创建Facebook商店(最新版教程)学习如何在Facebook上卖货...

请按照以下步骤设置Facebook商店:步骤1:转到您的Facebook页面并配置Shop页面。步骤2:设置您的商店详细信息。步骤3:配置付款。步骤4:将产品添加到您的Facebook商店。步骤5:管理您的订单。步骤6:…

创建索引名称已由现有对象使用_Excel编程周末速成班第3课:Excel对象模型

学习Excel技术,关注微信公众号:excelperfect导语:为了帮助想要快速学会Excel VBA的朋友,特以《Excel Programming Weekend Crash Course》这本书为基础,开始整理一系列资料,在完美Excel社群上分享。一共有3…

socket用起始码分割_常用条码Code128码及EAN13码的介绍

在条码打印软件中,设计条码标签时经常用到的码制是Code128码和EAN13码。因为这两种码制比较贴近我们的生活。比如:我们去超市购物,商品上贴的条码标签都是EAN13码,因为EAN13码多用于零售产品包装。而code128码多用于工厂产线&…

matlab在c盘有缓存文件夹吗,win10如何清除C盘缓存文件-win10清除C盘缓存的方法 - 河东软件园...

在电脑的使用过程中我们会发现磁盘的容量会不断减小,更多时候其他磁盘还有很多剩余空间,C盘的存储空间就已经达到极限了。其实在系统的升级和软件的下载中很多文件就会默认储存在C盘,时间久了以后,C盘不仅有软件文件,还…

java方法体逻辑不会写怎么办,想自己写框架?不会写Java注解可不行

用注解一时爽,一直用一直爽Java后端开发进入spring全家桶时代后,开发一个微服务提供简单的增删改查接口跟玩泥巴似的非常简单,一顿操作猛如虎,回头一看代码加了一堆注解:Controller Autowired Value,面向注…

联想拯救者y7000加内存条_短测联想拯救者Y7000,到底值不值得买?

7000块左右的笔记本电脑有什么好选择,我相信这是很多人一直纠结的问题,虽然我用过的笔记本很多,但是这个价位的用的少之又少,但随着十代酷睿标压处理器的大量铺货,联想拯救者Y7000进入了我的视线。那到底值不值得买呢&…

求逆矩阵计算器_991CN的矩阵运算

昨天的推文中说了一道二端口的题目,虚线中的大二端口由两个小二端口级联而成,在计算过程中,我们需要使用到矩阵的运算,昨天讲题的时候说会说一下用计算器进行矩阵运算,今天我们就来说一下。其实在算电路的时候&#xf…

去快捷方式小箭头_电脑桌面如何快速去掉快捷方式小箭头

我们使用电脑时会发现在电脑桌面图标上经常有一个小箭头,这是什么原因呢?原来,这个小箭头只存在于快捷方式的软件图标上,就是说通过快捷方式创建的图标就有这个小箭头。那么如何去掉这些小箭头呢!不知道也没关系&#…

oracle 移动日志文件,Oracle数据库移动数据文件、日志文件和控制文件

1、关闭数据库SQL> shutdown immediate;2、移动数据文件和日志文件到新位置SQL> host mv /u01/olddata.dbf /u02/newdata.dbf;SQL> host mv /u01/oldredo.log /u02/newredo.log;3、以加载模式启动数据库SQL> startup mount;4、在数据库中更改数据文件和日志文件路径…

oracle查询sql时间ain,Oracle SQL 时间查询

一、在使用Oracle的to_date函数来做日期转换时,很多Java程序员也许会和我一样,直觉的采用ldquo;yyyy-MM-dd HH:mm:ssrdquo;的to_date()与24小时制表示法及mm分钟的显示:一、在使用Oracle的to_date函数来做日期转换时,很多Java程序…

室内定位算法_001:室内定位算法技术咨询服务工作室简介(更新)

点击蓝字关注我们团队成员:何博士(中国科学院大学,博士) 杨博士(加拿大多伦多大学,博士后)微信联系号:UWB_cwhe服务模式:1. 为企业提供定位算法技术支持与指导,以提高企业室内定位系统产品的稳定…

双系统还是虚拟机 linux系统时间,你会选择Mac虚拟机还是双系统

在Mac上运行双系统,你是会选择Mac虚拟机呢还是直接双系统?今天我们就这个问题来讨论一下这两之前的区别,究竟是选择Mac最好用的虚拟机 parallels desktop还是Boot Camp?1、安装在pd虚拟机中,安装系统和安装驱动完全自动…

oracle中修改多个字段默认值_利用VBA代码在已有的数据表中删除、添加、修改字段...

大家好,今日继续给大家讲解VBA数据库解决方案的第21讲,如何利用VBA代码在已有的数据表中删除,添加,修改字段。这个内容是操作数据库的一项必修的内容,还望大家在实际工作中多利用,所以这节的知识,对于读者提高自己的数…

linux中的码字软件,码字写作软件下载

极音创作linux版一款的掌上码字软件,这款软件支持ios,mac,Windows和Android设备上自动同步文件,有需要的朋友快来下载吧!软件特色1、【文件功能】在本软件的左侧是导航栏,罗列了几个常用的功能。在导航条上…

linux svn可视化工具,CentOS6.5安装SVN 可视化管理工具iF.SVNAdmin

实际系统环境:CentOS 6.5 x64一、安装Apache通常系统都已经装好了,但我的服务器上却没有安装,所以要安装:# yum install httpd二、安装SVN根据SVN官网指南使用yum进行安装:# yum install subversion mod_dav_svn三、配…