利用python建立股票量化交易系统(一)——小市值选股票模型

从今天开始正式开启我的博客之旅,博客内容全部是我自己的量化心得,主要还是为自己将来中工作之中遇到相似问题,可以方便的找到答案,如果能帮到有相似问题的其他同学,我也很开心,如果帮不到的话,不喜勿喷,如果文章中有什么不对的地方,欢迎批评指正。

 

建立第一个简单的量化模型——小市值选股票模型。

思路:在A股市场之中,在每个月月底的时候,按照市值排名,选择最小市值的10只股票买入,持有到下个月月底,每月调仓一次,坚持一年,看收益率能否跑赢同期的创业板指数/中小板指数

 


具体操作:

方法1:

自己下载数据并且进行清洗和计算,建议使用tushare网站——http://tushare.org/,数据质量不错,还免费。

然后经过清洗和计算之后,得到自己想要的结果,我大概是用了近3天的时间才搞定,主要还是自己以前没学过python,很多函数都是现学现卖,浪费很多时间,之前的博客写过相关的内容,现在来看不值得新手学习,原因有二:

1:下载太多,数据清洗步骤太多,需要用到pandas 的各种方法,相比较之下都不是很好的方法,毕竟量化交易的核心不在数据清洗,这些都是基本工作,如果有质量很高的数据的话,可以减少很多无用功,所以建立一个好的数据库,可以节省很多时间。

2:在自己进行这个策略编织的时候,其实90%以上的时间都是用于计算各种数值,或者画图,这里还不包括用来评价策略好坏的夏普比率,要是加上的话,代码更多,真正策略本身的代码其实少得可怜,大多数都是脏活累活的数据清洗和整理,所以决定以后还是用第三方平台效率更高一些,可以更加的专注策略本身。

方法2:

使用第三方平台,目前我使用的是聚宽,我对比了一下聚宽、优矿、大宽网(已经倒闭了),都大同小异,选哪个都一样。

 

顺便说一句,虽然这些平台都大同小异,但是代码可不能简单复制粘贴,因为底层函数库是不一样的,有可能在别的平台根本用不了某个函数,并且简单复制到自己电脑中的python的话百分之百用不了。

talking is cheap, show me the code

展示部分源代码

def find(context):# 计算出要买的股票——按照流通市值从小到大排序,并且选出50只,因为有可能有ST/*ST/停牌/涨停的股票,所以先得出股票池df=get_fundamentals(query(valuation.code,valuation.circulating_market_cap).order_by(valuation.circulating_market_cap)).loc[:49,'code']# 把股票池转为列表,并且带入过滤函数得到最后的buylistbuylist=list(df)buylist=filter_stock(buylist)[:30]#得到目前持仓 hold=[]for i in context.portfolio.positions.keys():hold.append(i)# 如果目前持有的股票不在buylist中,就都卖出sell=[]for i in hold:if i not in buylist:order_target_value(i,0)# 如果在buylist中的股票,不在目前的持仓中,就把股票放到to_buy中to_buy=[]for i in buylist:if i not in hold:to_buy.append(i)# 如果to_buy不是空列表的话,就给每只股票平分可用资金,然后进场if len(to_buy)>0:cash=context.portfolio.available_cash/len(to_buy)for i in to_buy:order_value(i,cash)

代码的思路是,每个月底进行调仓,选出市值最小的股票交易,去掉ST/*ST/停牌/涨停的股票,然后选择最小市值的10只,基准是创业板综指,看看结果吧。

时间2017.1.1-2018.12.31,这波大盘走势先上后下,形成巨幅震荡行情

跑输创指,并且整体很悲催

 

时间2016.1.1-2018.2.28,大盘先下后上,和上次走势正好相反,但是因子的效果不同

这次跑赢指数,但是惨胜,回撤有点过分了

 

2014.4.28-2014.12.11,大盘单边上涨行情

表现非常靓丽。

结论:

1.因子本身的确有效,但是很明显单因子是不可能直接使用的。

2.顺风太浪,逆风就投,牛市来的时候可以搞,熊市很难做到降低风险

如果自己有策略,但是不会写代码的话,可以给我私信,价钱从几十到几百不等,看策略实现的难易程度而定,我使用的是聚宽平台,代码写好之后,可以在上面上模拟盘和实盘,对应的券商是第一创业证券。

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

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

相关文章

使用高斯混合模型检测不同的股票市场状况

在本篇文章中将试图使用高斯混合模型 (GMM) 对股市中的不同市场行情进行聚类分析 介绍 通过过去的十年的发展,普通人越来越容易进入股票市场,每天进出市场的资金量创历史新高。 作为投资者,你可以通过多种方式培养何时买入或卖出的经验和直…

股票的量化分析模型是怎样的?

在当前看来,股票量化分析强调的是一种新兴的系统化金融投资方法,利用计算机强大的运算力从庞大的股票历史数据中回测交易策略的盈亏“概率”,通过管理盈亏的概率帮助投资者做出准确的决策。那么,股票的量化分析模型是怎样的呢&…

抱抱脸开源GPT不用注册直接玩!后续可选各种大模型,网友:“安卓时代”来了...

杨净 萧箫 发自 凹非寺量子位 | 公众号 QbitAI 不用注册直接玩,抱抱脸Chat来了! 列清单写邮件,还是写个代码都不在话下~不过目前有个bug就是几乎不会说中文。 可以看到的是,背后运行的AI正是当前号称最大也是最好的ChatGPT开源平替…

HuggingChat 发布!免注册直接使用,立志做成模型商店

夕小瑶科技说 分享 来源 | 量子位 作者 | 杨净 萧箫 不用注册直接玩,抱抱脸Chat来了! 列清单写邮件,还是写个代码都不在话下~不过目前有个bug就是几乎不会说中文。 可以看到的是,背后运行的AI正是当前号称最大也是最好的ChatGPT…

chatgpt赋能Python-pythonright

Pythonright: 优秀的Python SEO工具 Python是世界上最具有影响力和广泛应用的计算机语言之一,但在SEO方面,使用Python来进行分析和优化的工具却相对较少。Pythonright就是一款专门为优化SEO而设计的Python工具。 Pythonright的主要功能 Pythonright具…

chatgpt赋能python:Python交互

Python交互 Python作为一种高级编程语言,被广泛应用于数据分析、人工智能、网络编程等众多领域。除了编写脚本程序以外,Python还具备良好的交互性,方便用户进行代码的调试和测试。 什么是Python交互? Python交互是指在命令行界…

软件工程(之 传统方法学)

开发软件中一般有两种方法,1.传统方法学2.面向对象方法学 首先我们看一下传统方法学。 传统方法学主要是结构化的思想。传统方法的开发分为三个阶段如下图: 首先是结构化分析阶段,这个阶段主要是搞清楚我们所要开发的软件是为了解决什么问题、以及在…

【中国人民大学】考研初试复试资料分享

给同学们送福利啦~ 提供给同学们计算机/软件工程等相关专业的各种学校的初试复试资料集合。 资料一般包含初试真题,往年学长学姐考研经验,通知,复试资料等等。 这次分享的是 中国人民大学 的考研资料~ https://pan.baidu.com/s/1LI8poPKnZDr4…

[论文素材]Previous Work----自动仇恨言论检测和冒犯性语言问题

目录 摘要 介绍 相关工作 数据 特征 模型 结果 结论 https://arxiv.org/pdf/1703.04009.pdf 发布时间:2017 年 3 月 11 日 (Google翻译) 摘要 社交媒体上自动仇恨言论检测的一个关键挑战是将仇恨言论与其他攻击性语言实例分开。词汇检测方法的精度往往较…

入门UVM验证方法学

1 验证的本质:尽可能的找出设计的bug; 2 测试向量文件 测试文件(testbench)以模拟的方式来验证逻辑时序的正确性,以源的方式来激励用户编写的逻辑功能模块; 3 验证的3要素 (1)灌激励:输入信…

第二讲 综合评价分析—TOPSIS法

TOPSIS法简称优劣解距离法,是一种常用的综合评价法,其能充分利用原始数据的信息,其结果能精确地反映各评价方案之间的差距。 层次分析法的一些局限性 (1)评价的决策层不能太多,太多的话n会很大&#xff0c…

传统方法学和面向对象方法学

原创不易,麻烦点个关注,点个赞,谢谢各位。 传统方法学 也称为生命周期方法学或结构化范型。它采用结构化技术完成软件开发的各项任务,并使用适当的软件工具或软件工程环境来支持结构化技术的运用。 这种方法学把软件生命周期的全过程依次划分为若干个阶段,然后顺序地完成…

2.2 法学的历史(二):中国法学的历史

2.2 法学的历史(二):中国法学的历史 中国法学的三个历史阶段 先秦:“刑名法术之学” 汉代至清代:律学 清末:西方法学的输入 一、先秦:“刑名法术之学” 第一件是祭祀祖先,保佑…

软件工程复试——九、面向对象方法学引论

九、面向对象方法学引论 ​ 面向对象方法学的出发点和原则是尽可能模拟人类思维方式,使开发软件的方法与过程尽可能接近人类认识世界解决问题的方法与过程,使描述空间的问题域与求解域在结构上保持一致。 面向对象方法的四个要点: 认为客观…

吉林大学的法硕非法学和武汉大学的法硕非法学哪个更难?

从分数上来说 武汉大学20年法硕(非法学)录取最高分为419吉林大学20年法硕(非法学)录取最高分为396比较直观的可以看到武汉大学的法硕(非法学)竞争的人选大神偏多,基本上是高分打架,…

2.1 法学的历史(一):西方法学的历史

2.1 法学的历史(一):西方法学的历史 西方法学的四个阶段 起源:古希腊 奠基:古罗马 接续:中世纪后期 鼎盛:近代 第一次重大的契机 古希腊历史上引发法(理)学思考的…

AI Chat 设计模式:4. 建造者模式

本文是该系列的第四篇,采用问答式的方式展开,问题由我提出,答案由 Chat AI 作出,灰色背景的文字则主要是我的旁白与思考。 问题列表 Q.1 说说建造者模式A.1Q.2 “将一个复杂对象的构建过程和其表示分离”,这里不是很清…

九龙证券|利好政策密集发布,机构扎堆看好的高增长公司曝光

新能源轿车销量和保有量快速增长,带来了充电桩商场的微弱需求。 日前,商务部部长王文涛表明,本年将在落实好方针的一起,活跃出台新方针办法,比方辅导当地展开新能源轿车下乡活动,优化充电等使用环境&#x…

用post man 上传图片到微信

用post man 上传图片到微信 记录一下 我目前完成的小程序后端开发过程 这里用post man 做测试上传客服群的qrcode 有在网路上搜寻了一下发现都没有相关的教学可能是太简单了 但我相信还是会有人用的到的 不多说直接来吧 1.参考文档 https://developers.weixin.qq.com/minipro…