经管之家App
让优质教育人人可得
立即打开
全部版块
我的主页
›
论坛
›
金融投资论坛 六区
›
金融学(理论版)
›
量化投资
【量化小讲堂 - Python、Pandas系列】法码三因子选股模型,有多少人可以跑赢
楼主
邢不行
86649
381
收藏
2015-11-18
引言:
本系列帖子“量化小讲堂”,通过实际案例教初学者使用python、pandas进行金融数据处理,希望能对大家有帮助。
【必读文章】:
《10年400倍策略分享-附视频逐行讲解代码》
【所有系列文章汇总】:
https://bbs.pinggu.org/thread-3950124-1-1.html
【python量化课程】
想要快速、系统的学习量化知识,可以参与
我与论坛合作开设的课程:
《python量化投资入门》
,我会亲自授课,随问随答。参与课程还可以免费加入我的小密圈,我每天会在圈中分享量化的所见所思,圈子介绍点击
此处
。
微信:xbx_laoshi,量化交流Q群(快满):438143420,有问题欢迎交流。
文中用到的A股数据可在
www.yucezhe.com
下载,这里可以下载到所有股票、从上市日起的交易数据、财务数据、分钟数据、分笔数据、逐笔数据等。
【量化小讲堂 - Python、Pandas系列】法码三因子选股模型,有多少人可以跑赢
法码三因子模型,是金融领域的著名模型,它由诺贝尔经济学奖获得者尤金法玛开发。该模型主要通过总市值、市净率等指标,选出小盘价值股。因为他通过美国股市长时间的数据发现,市值越小、市净率越低的股票,往往会涨得更多。
论文原文放在附件中,供免费下载。
本期文章尝使用python、pandas来实现法码三因子模型,并且使用中国市场的数据来验证其有效性。我们没有必要像法码的论文原文中做的那么严谨,所以对模型做出简化。
简化后具体的规则是:
在每个月的最后一个交易日,计算出每个股票的总市值 * 市净率。在所有股票中选出该值最小的10只股票,并且计算这10只股票在下个月的平均涨幅,如此往复,得到每个月的收益,并计算总的选股收益,画出资金曲线。
由于法码三因子选股模型本质上是一个多因子选股模型,所以本期文章的代码已经构成了一个简单的多因子模型框架。大家可以在此框架下,开发出其它有效的选股因子。
(
【python量化课程】
想要快速、系统的学习量化知识,可以参与我与论坛合作开设的课程:
《python量化投资入门》
,我会亲自授课,随问随答。参与课程还可以免费加入我的小密圈,我每天会在圈中分享量化的所见所思,圈子介绍点击
此处
。)
本期文章中可以学到的pandas知识:
通过pandas导入导出文本数据。
groupby方法的熟练运用。
如何构建多因子选股模型框架。
对于初学者来说,本期文章的难度比较大。只有在融会贯通前几期内容的基础上,才能比较顺利的完成。
下面开始正文:
想要实现法码三因子选股模型,需要股票的每个月的市值以及市净率数据,
从
这里
可以下载到所有股票的历史月线数据。有免费的2013年和2014年的数据,
可以作为我们计算的原始数据。数据下载下来之后有一个文件,打开之后是下图这个样子:
每一行是记录每个股票在每个月末的数据。
数据中包含以下字段:
【股票代码】股票的代码,上证股票以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个月每股经营现金流
【市净率】市净率,股价 / 最近期财报每股净资产
有了原始数据之后就是代码,下面是代码的截图,里面有详细的注释,有问题可以留言,
附件中有程序的源码,回复即可下载。
把数据下载下来,放到和代码同一个文件夹下,直接运行代码,结果会输出到output.csv。输出结果如下图:
从图中可以看到,从2000年起,按照法码三因子模型选股,每个月交易一次,不算手续费的话,资产可以翻一百多倍噢。
思考题
若不希望每个月选股一次,想要比如每周选股一次。那么上面所说的这个月线数据就不行了。可以下载日线数据,然后将日线数据转换为周线或者其他周期的数据,然后再构建模型。数据周期的转换方法可以看之前的文章
《极简方法将日线数据转为周线、月线或其他周期
》
。
也可以试试看不是选10只股票,而是选5只,或者3只,看看效果怎么样。
(
【python量化课程】
想要快速、系统的学习量化知识,可以参与我与论坛合作开设的课程:
《python量化投资入门》
,我会亲自授课,随问随答。参与课程还可以免费加入我的小密圈,我每天会在圈中分享量化的所见所思,圈子介绍点击
此处
。)
下一期量化小讲堂大约会在12月下旬发布,
主题已经定了。关于《量化小讲堂》之后想看的内容,或者相关问题,可以加我微信xbx_laoshi、Q群(快满):438143420沟通。
附件中是Python程序文件以及法码三因
子模型的原文,免费,回复可见,
觉得文章内容有帮助的话,顶贴是最好的鼓励!
本帖隐藏的内容
法码三因子选股模型.zip
大小:(172.94 KB)
马上下载
附件列表
数据截图.png
原图尺寸 132.03 KB
法码三因子选股模型.zip
大小:3.44 MB
马上下载
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
全部回复
沙发
smartlife
2015-11-18 22:45:26
谢谢楼主,很有用。
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
藤椅
wangrongp
2015-11-18 23:02:08
多谢邢总分享~
拿回去学习了。
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
板凳
Captain-CUI
2015-11-18 23:09:18
学习一下!
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
报纸
akak1988
2015-11-18 23:13:54
刚入门Python, 迫不及待的想试一下!
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
地板
tonyme2
2015-11-18 23:31:45
support
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
点击查看更多内容…
7楼
Crsky7
2015-11-19 00:29:52
不知Matlab和Python处理这样的数据集哪个更方便
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
8楼
amdyxsls
2015-11-19 08:39:51
学习一下,很感谢
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
9楼
lgymz88
2015-11-19 09:07:36
最近正好在做多因子,学习一下
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
10楼
ydb8848
2015-11-19 09:19:31
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
11楼
刘三强
2015-11-19 09:29:49
赞赞赞 哎 可惜我的作业没完成
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
12楼
wolfpack888
2015-11-19 09:30:56
果然惊叹!!!
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
13楼
长线小白龙
2015-11-19 09:33:09
楼主辛苦了。。。。。。。。。。。
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
14楼
batbaby
2015-11-19 10:40:00
等了1个月了!终于更新啦~~~~~~~~~~~~~~~~
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
15楼
时有水禽啼
2015-11-19 11:22:44
程序化交易讨论
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
16楼
atlantisadam
2015-11-19 11:39:08
你的文章出了就看,期待下期的,能否透露一下 下期的主题~~~!!!
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
17楼
condmn
2015-11-19 11:53:59
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
18楼
Alexander5
2015-11-19 11:59:05
谢谢!!!!
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
19楼
msmalleast
2015-11-19 12:05:45
好资源
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
20楼
welfeng
2015-11-19 12:15:32
学习中 非常适合的资料
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
21楼
wyt236
2015-11-19 12:59:21
高深,值得学习!
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
22楼
泥呵呵
2015-11-19 14:58:08
学习学习,3Q
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
23楼
alexe
2015-11-19 15:03:09
不错哟,看看阿
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
24楼
一个人住第几年
2015-11-19 15:51:24
谢谢楼主发分享!
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
25楼
yxtc168
2015-11-19 16:43:06
非常感谢楼主分享,初学者先看看学习一下~
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
26楼
点点DD
2015-11-19 17:22:03
谢谢楼主分享
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
27楼
mikechenck
2015-11-19 18:22:39
学习一下。。。。
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
28楼
nolonger123
2015-11-19 18:34:12
。。。。
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
29楼
tstone318
2015-11-19 18:42:08
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
30楼
sxufelyg
2015-11-19 19:37:42
学习学习
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
首页
上一页
下一页
跳至第
页
相关推荐
【量化小讲堂- Python、pandas技巧系列】极简方法将日线数据转为周线、月线或其他周期
【量化小讲堂- Python、pandas技巧系列】历史数据告诉你:KDJ指标选股有效吗?
【量化小讲堂 - Python、Pandas系列】如何通过逐笔数据计算主力资金流数据
【量化小讲堂 - Python、Pandas系列】量化投资中关于复权的处理
【量化小讲堂 - Python、Pandas系列】往期目录汇总帖
【量化小讲堂 - Python、Pandas系列】如何判断一个策略的好坏?(附代码)
【量化小讲堂-Python、Pandas系列】逆天的反转策略在A股实证
【量化小讲堂-Python、Pandas系列16】布林带策略在A股的实证
【量化小讲堂-Python、Pandas系列17】简易波动指标(EMV)策略在A股的实证
【量化小讲堂-Python、Pandas系列18】平均趋向指标(ADX)策略在A股的实证
栏目导航
量化投资
真实世界经济学(含财经时事)
经管文库(原现金交易版)
EViews专版
计量经济学与统计软件
站务与外事
热门文章
2026“课题申报”抢跑号角的已吹响!国社科 ...
Nature点赞!哈佛MIT最新作:AI科学家时代来 ...
CDA 认证考试大纲 2025 重磅更新:一二级考 ...
达富发投资关于中百集团行情数据操作分析与 ...
GTAP11运行扩展数据库出错,希望高手指点。
2025秋季大摩宏观团队闭门会议纪要
英文书籍
建筑的想象之整理补充笔记
超越普里瓦洛夫无穷乘积与它对解析函数的应 ...
中国移动:智能体互联网技术白皮书2025
推荐文章
10月重磅来袭|《打造Coze/Dify专属学术智能 ...
高校老师和学生都在偷偷上的智能体课,到底 ...
最快1年拿证,学费不足5W!热门美国人工智能 ...
关于如何利用文献的若干建议
关于学术研究和论文发表的一些建议
关于科研中如何学习基础知识的一些建议 (一 ...
一个自编的经济学建模小案例 --写给授课本科 ...
AI智能体赋能教学改革: 全国AI教育教学应用 ...
2025中国AIoT产业全景图谱报告-406页
关于文献求助的一些建议
说点什么
分享
微信
QQ空间
QQ
微博
扫码加好友,拉您进群
各岗位、行业、专业交流群