怎样用matlab写多因子选股模型 代码

苹果/安卓/wp
学科带头人
学科带头人
积分 4922, 距离下一级还需 903 积分
权限: 自定义头衔, 签名中使用图片, 隐身, 设置帖子权限, 设置回复可见
道具: 彩虹炫, 涂鸦板, 雷达卡, 热点灯, 金钱卡, 显身卡, 匿名卡, 抢沙发, 提升卡, 沉默卡, 千斤顶下一级可获得
道具: 变色卡
购买后可立即获得
权限: 隐身
道具: 金钱卡, 彩虹炫, 雷达卡, 热点灯, 涂鸦板
开心签到天数: 120 天连续签到: 1 天[LV.7]常住居民III
本帖最后由 邢不行 于
14:42 编辑
本系列帖子“量化小讲堂”,通过实际案例教初学者使用python、pandas进行金融数据处理,希望能对大家有帮助。
【必读文章】:
【所有系列文章汇总】:
【python量化课程】想要快速、系统的学习量化知识,可以参与我与论坛合作开设的课程:,我会亲自授课,随问随答。参与课程还可以免费加入我的小密圈,我每天会在圈中分享量化的所见所思,圈子介绍点击。
微信:xbx_laoshi,量化交流Q群(快满):,有问题欢迎交流。
文中用到的A股数据可在下载,这里可以下载到所有股票、从上市日起的交易数据、财务数据、分钟数据、分笔数据、逐笔数据等。
【量化小讲堂 - Python、Pandas系列】法码三因子选股模型,有多少人可以跑赢
法码三因子模型,是金融领域的著名模型,它由诺贝尔经济学奖获得者尤金法玛开发。该模型主要通过总市值、市净率等指标,选出小盘价值股。因为他通过美国股市长时间的数据发现,市值越小、市净率越低的股票,往往会涨得更多。论文原文放在附件中,供免费下载。
本期文章尝使用python、pandas来实现法码三因子模型,并且使用中国市场的数据来验证其有效性。我们没有必要像法码的论文原文中做的那么严谨,所以对模型做出简化。简化后具体的规则是:在每个月的最后一个交易日,计算出每个股票的总市值 * 市净率。在所有股票中选出该值最小的10只股票,并且计算这10只股票在下个月的平均涨幅,如此往复,得到每个月的收益,并计算总的选股收益,画出资金曲线。
由于法码三因子选股模型本质上是一个多因子选股模型,所以本期文章的代码已经构成了一个简单的多因子模型框架。大家可以在此框架下,开发出其它有效的选股因子。
(【python量化课程】想要快速、系统的学习量化知识,可以参与我与论坛合作开设的课程:,我会亲自授课,随问随答。参与课程还可以免费加入我的小密圈,我每天会在圈中分享量化的所见所思,圈子介绍点击。)
本期文章中可以学到的pandas知识:
通过pandas导入导出文本数据。groupby方法的熟练运用。如何构建多因子选股模型框架。
对于初学者来说,本期文章的难度比较大。只有在融会贯通前几期内容的基础上,才能比较顺利的完成。
下面开始正文:
想要实现法码三因子选股模型,需要股票的每个月的市值以及市净率数据,从可以下载到所有股票的历史月线数据。有免费的2013年和2014年的数据,可以作为我们计算的原始数据。数据下载下来之后有一个文件,打开之后是下图这个样子:
17:26:54 上传
每一行是记录每个股票在每个月末的数据。
数据中包含以下字段:
【股票代码】股票的代码,上证股票以sh开头,深证股票以sz开头
【交易日期】【开盘价】【最高价】【最低价】【收盘价】
【涨跌幅】复权之后的真实涨跌幅,保证准确
【成交量】【成交额】【流通市值】【总市值】【换手率】【后复权价】
【交易天数】本月股票实际交易的天数
【是否交易】本月该股票最后一个交易日是否交易,1代表是,0代表否
【是否涨停】本月该股票最后一个交易日收盘是否涨停,1代表是,0代表否
【是否跌停】本月该股票最后一个交易日收盘是否跌停,1代表是,0代表否
【报告类型】最近一期财务报告的类型,3-31对应一季报,6-30对应半年报,9-30对应三季报,12-31对应年报
【报告日期】最近一期财务报告实际发布的日期
【市盈率TTM】最近12个月市盈率,股价 / 最近12个月归属母公司的每股收益TTM
【市销率TTM】最近12个月市销率, 股价 / 最近12个月每股营业收入
【市现率TTM】最近12个月市现率, 股价 / 最近12个月每股经营现金流
【市净率】市净率,股价 / 最近期财报每股净资产
有了原始数据之后就是代码,下面是代码的截图,里面有详细的注释,有问题可以留言,附件中有程序的源码,回复即可下载。
17:27:11 上传
把数据下载下来,放到和代码同一个文件夹下,直接运行代码,结果会输出到output.csv。输出结果如下图:
17:46:19 上传
从图中可以看到,从2000年起,按照法码三因子模型选股,每个月交易一次,不算手续费的话,资产可以翻一百多倍噢。
若不希望每个月选股一次,想要比如每周选股一次。那么上面所说的这个月线数据就不行了。可以下载日线数据,然后将日线数据转换为周线或者其他周期的数据,然后再构建模型。数据周期的转换方法可以看之前的文章。
也可以试试看不是选10只股票,而是选5只,或者3只,看看效果怎么样。
(【python量化课程】想要快速、系统的学习量化知识,可以参与我与论坛合作开设的课程:,我会亲自授课,随问随答。参与课程还可以免费加入我的小密圈,我每天会在圈中分享量化的所见所思,圈子介绍点击。)
下一期量化小讲堂大约会在12月下旬发布,主题已经定了。关于《量化小讲堂》之后想看的内容,或者相关问题,可以加我微信xbx_laoshi、Q群(快满):沟通。
附件中是Python程序文件以及法码三因子模型的原文,免费,回复可见,觉得文章内容有帮助的话,顶贴是最好的鼓励!
本帖隐藏的内容
(172.94 KB)
14:41:18 上传
支持楼主:、
购买后,论坛将奖励 10 元论坛资金给楼主,以表示您对TA发好贴的支持
载入中......
(132.03 KB)
17:45:13 上传
18:00:59 上传
总评分:&经验 + 418&
论坛币 + 93&
学术水平 + 12&
热心指数 + 15&
信用等级 + 12&
本帖被以下文库推荐
& |主题: 6117, 订阅: 237
不管去哪里 只要在路上
谢谢楼主,很有用。
多谢邢总分享~
拿回去学习了。
学习一下!
刚入门Python, 迫不及待的想试一下!
不知Matlab和Python处理这样的数据集哪个更方便
学习一下,很感谢
最近正好在做多因子,学习一下
初级学术勋章
初级学术勋章
中级热心勋章
中级热心勋章
初级热心勋章
初级热心勋章
中级学术勋章
中级学术勋章
高级学术勋章
高级学术勋章
高级热心勋章
高级热心勋章
初级信用勋章
初级信用勋章
中级信用勋章
中级信用勋章
特级热心勋章
高级热心勋章
高级信用勋章
高级信用勋章
特级学术勋章
特级学术勋章
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
如有投资本站或合作意向,请联系(010-);
邮箱:service@pinggu.org
投诉或不良信息处理:(010-)
论坛法律顾问:王进律师今日: 3&|主题: 721|排名: 4&
MATLAB量化投资资料上传下载专区版主:
前天&16:24
- [阅读权限 20]
Powered by选股策略回测用 Matlab 好还是用 Python 好? - 知乎1029被浏览38425分享邀请回答/ricequant/rqalpha18014 条评论分享收藏感谢收起31 条评论分享收藏感谢收起查看更多回答好消息:《数据分析&数据挖掘》二营培训(就业班) 第5期可以申请分期付款了,拼团可享9折优惠,上述优惠不能叠加。咨询请拨打1或联系在线客服。
课程详情:/Answer/page/dashujujiqixuexi
> 量化投资之多因子选股模型
多因子选股模型采用一系列的因子作为选股指标,如PB、PE、动量、换手率、预期收益率等,利用这些因子来选择股票。图介绍了简单的原理以及关键的SAS、MATLAB语句。
转载请注明: &
or分享 (0)
博客免责声明:
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。苹果/安卓/wp
积分 511, 距离下一级还需 289 积分
权限: 自定义头衔, 签名中使用图片
道具: 彩虹炫, 涂鸦板, 雷达卡, 热点灯, 金钱卡, 显身卡, 匿名卡, 抢沙发下一级可获得
权限: 隐身
购买后可立即获得
权限: 隐身
道具: 金钱卡, 彩虹炫, 雷达卡, 热点灯, 涂鸦板
开心签到天数: 1 天连续签到: 1 天[LV.1]初来乍到
& && & 多因子选股模型在模型搭建中,往往会涉及到非常多的股价影响因子,并可能导出数量极多的备选模型。因此,对于多因子选股模型的评价和筛选,就显得尤为关键。对于专业的量化投资人而言,就需要进一步了解多因子选股模型的两种主要的评价判断方法——打分法和回归法。
& && &1、打分法的评价原理和流程& && &所谓打分法,就是根据各个因子的大小对股票进行打分,然后按照一定的权重加权得到一个总分,最后根据总分再对股票进行筛选。对于多因子模型的评价而言,实际通过评分法回测出的股票组合收益率,就能够对备选的选股模型做出优劣评价。& && & 打分法的优点是相对比较稳健,不容易受到极端值的影响。但是打分法需要对各个因子的权重做一个相对比较主观的设定,这也是打分法在实际模型评价过程中,比较困难和需要模型求取的关键点所在。& && & 进一步从打分法的流程来看,多因子选股模型的建立、评价和改进流程,大致可以分为4个步骤:
14:33:59 上传
& && & 此外,对于量化选股打分法,专业人士还提示指出,一方面,多因子选股模型中有的因子会逐渐失效,而另一些新的因子可能被验证有效而加入到模型当中;另一方面,一些因子可能在过去的市场环境下比较有效,而随着市场风格的改变,这些因子可能短期内失效。在这种情况下,对综合评分选股模型的使用过程中,需要对选用的因子、模型本身做持续的再评价和不断的改进以适应变化的市场环境。除此之外,在计算综合评分的过程中,除了各因子得分的权重设计之外,交易成本和风险控制等因素,也同样需要予以综合考量。
& && &2、多元线性回归简介& && & 所谓回归法,就是用过去的股票的收益率对多因子进行回归,得到一个回归方程,然后再把最新的因子值代入回归方程得到一个对未来股票收益的预判,然后再以此为依据进行选股,并对选股模型的有效性和收益率进行评价。& && & 回归法的优点是能够比较及时地调整股票对各因子的敏感性,而且不同的股票对不同的因子的敏感性也可以不同。回归法的缺点,则是容易受到极端值的影响,在股票对因子敏感度变化较大的市场情况下效果也比较差。& && & 在线性回归分析中,如果有两个或两个以上的自变量,就称为多元线性回归。因此,通过多元线性回归对多因子选股模型进行评价,也能够得到一个直观的股票组合收益率结果,同时能够有效评价该选股模型的优劣。& && &从数学的角度来说,假设因变量Y(预期收益率)是自变量X1,X2,X3..Xk(候选因子)的线性函数,用方程来表示就是:& && & Yi=β0+β1X1i+β2X2i+...+βkXki+εi& && & 其中,Yi表示因变量(被解释变量)的第i个观测值,而Xki则是第k个自变量(解释变量)的第i个观测值,是自变量Xk的系数,εi是第i组观测值的残差项。在金融领域,β0有时候会写成α,该方程来表示也可以写作:& && & Yi=α+β1X1i+β2X2i+...+βkXki+εi& && & 在此之中,多元线性回归通常采用普通最小二乘法(OLS)进行估计,普通最小二乘估计法的思路是改变β0,β1,β2,...,βk,使得残差的平方和最小。& && & 从回归法的流程来看,多因子选股模型的建立、评价和改进流程,大致可以分为6个步骤:
14:34:47 上传
阅读原文:http://t.cn/RKI6PxA
支持楼主:、
购买后,论坛将把您花费的资金全部奖励给楼主,以表示您对TA发好贴的支持
载入中......
总评分:&经验 + 100&
学术水平 + 1&
热心指数 + 1&
信用等级 + 1&
本帖被以下文库推荐
& |主题: 6117, 订阅: 237
“因子”,“回归”,。。。。。。。。??????
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
如有投资本站或合作意向,请联系(010-);
邮箱:service@pinggu.org
投诉或不良信息处理:(010-)
论坛法律顾问:王进律师

我要回帖

更多关于 多因子选股模型 代码 的文章

 

随机推荐