python量化入门(一)

您所在的位置:网站首页 wind客户端上传名片 python量化入门(一)

python量化入门(一)

2023-03-28 11:26| 来源: 网络整理| 查看: 265

来源:雪球App,作者: 西瓜财经资讯,(https://xueqiu.com/9877481013/146957384)

NO.70

2020.04.15

工欲善其事,必先利其器

//

- 前言 -

今天,小咖带大家利用Python在特定指标下筛选股票并进行回测,最终将得到以下筛选Excel及图形。

数据来源:wind,西瓜财经资讯

数据来源:wind,西瓜财经资讯

数据来源:wind,西瓜财经资讯

- Python筛选股票并回测 -

◆ ◆ ◆ ◆

为了得到以上结果需要进行以下完整步骤:

第一步:导入各种“包”(有些不一定用到)。

数据来源:西瓜财经资讯

第二步:从wind提取数据

(1)首次使用Python的wind接口时,需要进行如下操作:wind客户端——量化——修复插件——修复Python接口。

(2)在导入“包”时已经导入了Windpy,并设置为w,之后的语句直接使用w即可。

(3)语句需要以w.start() 开始,否则所有与wind相关的程序都无法运行,但只要运行一次后不用重复运行。

(4)通过w.wset函数,得到最新调整日期下所有A股上市公司的代码。

(5)由于本文将通过巴菲特提出的三个指标设定选股标准,即毛利率要高于40%、净利率要高于5%、净资产收益率要高于15%,因此通过w.wsd提取所有A股的三个指标在2016至2018年的年度数据。(日期与代码已经构成数据的行与列,如果一次性提取三个指标可能导致数据结构混乱,因此分三次进行提取)

第三步:根据三个指标筛选股票

(1)通过for循环,根据三个指标近三年的数据,按毛利率每年高于40%、净利率每年高于5%、净资产收益率每年高于15%进行筛选。

(2)将筛选出结果导出到Excel中。

第四步:利用筛选的股票代码提取收盘数据

(1)利用筛选的股票代码并使用w.wsd函数提取2005-2019年的收盘价数据。

(2)计算2005-2019的年化收益率,并进行由小大到排序。

第五步:从wind获取筛选数据的证券简称

(1)利用筛选的股票代码并使用w.wsd函数导出代码对应的证券简称。

(2)将年化收益率的表与证券简称的表进行合并。

第六步:制作散点图

(1)通过plt.scatter做散点图,横坐标轴为生成的随机数,纵坐标轴为年化收益率。具体方法见“Python金融应用之图表制作(三)”。(在计算年化收益率时由于有些证券数据缺失,因此只提取了有计算结果的35条数据)

(2)为散点图添加其他其他图表要素,如标题、文本标签、网格线设置等。

第七步:制作直方图

(1)通过plt.hist制作直方图,方法与之前作图系列里折线、柱状、散点等类似。

- 后言 -

数据显示,尽管有部分股票的年化收益率超过指数,但数量较为有限,更多取得了近似于、甚至低于指数的收益。这个结果一方面源自模型的过于简化以及数据缺失,另外也反映了想要获得市场超额收益的难度。

格雷厄姆说:“投资艺术有一个特点不为大众所知。门外汉只需些微努力与能力,便可以取得令人尊敬(即使并不可观)的结果。但是如果想在这个容易获取的标准上更进一步,则需要更多的实践和智慧。”

希望上句话能与大家共勉。

想要获取源代码的小伙伴关注公众号,后台回复“python量化入门(一)——利用特定指标筛选股票并回测”即可。注意,源代码可以直接粘贴使用,而且是带文字说明的哦。

往期回顾:

end

公众号:西瓜财经资讯

撰稿人:安静的金融美女子



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3