自己做量化交易软件(15)通通量化AI框架的选股器设计1

自己做量化交易软件(15)通通量化AI框架的选股器设计
前面我们学会了单只股票的分析,回测功能。下面我们开始设计选股器和量化分析的功能。
在设计选股器之前,我们先要学习一些python基本操作技巧。
一、股票代码处理技巧
1、数字类型转换
我们获取的数据格式都不相同,特别是股票代码,有些是数字1,有些是字符1,有些股票代码带后缀,例如’60000.SH’,‘000001.SZ’,‘000001.XSHE’,’000300.XSHG’等等。无论什么方式,我们都做一些简单的转化为通通标准股票代码格式。
深圳股票代码: ‘000001.SZ’
上海股票代码: ‘600000.SH’
指数代码:‘000300.ZS’
各种数据转化函数命令如下:

代码演示:

输出结果:
10 <class ‘str’>
10 <class ‘int’>

2、字符串处理
我们看到字串’10’ ,不够长度6,需要在前面补’0’。
字串数值前面补0,用函数zfill(),看下面演示代码和结果:

输出结果:
000010 <class ‘str’>

3、补上股票后缀
看下面股票代码演示:

二、股票数据中的股票代码处理技巧
pandas是基于numpy构建的,为时间序列分析提供了很好的支持。pandas中有两个主要的数据结构,一个是Series,另一个是DataFrame。
Series 类似于一维数组与字典(map)数据结构的结合。它由一组数据和一组与数据相对应的数据标签(索引index)组成。这组数据和索引标签的基础都是一个一维ndarray数组。可将index索引理解为行索引。 Series的表现形式为:索引在左,数据在右。
DataFrame是一个类似表格的数据结构,索引包括列索引和行索引,包含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔值等)。DataFrame的每一行和每一列都是一个Series,这个Series的name属性为当前的行索引名/列索引名。
股票数据一般用pandas包的 DataFrame 来存放。
上述的方法无法对 DataFrame整列数据处理。用循环操作又充分发挥了Python的速度慢的弱点,因此可以用一些Python的技巧来提高速度。
DataFrame序列中的股票格式转换可以用类似下面的命令来瞬间完成。

三、股票代码的运算
我们通过若干算法,例如财务数据或者技术指标等策略, 筛选了一批数据。怎样通过这些数据建立我们的目标备选股票池。并且完成股票池之间的逻辑运算。
例如 股票池的合并、黑名单的过滤等等运算。我们可以充分利用Python的特征和优势,来快速完成股票池运算。
我们可以充分利用这些不同数据特性,快速完成所需工作。
1、pandas和numpy数据相互转换
下面给出DataFrame中的股票代码转列表例子,重点要看说明和记住例子,演示代码如下:

程序运行结果如下图:

自己做量化交易软件(15)通通量化AI框架的选股器设计1

(2) 集合运算
python的set和其他语言类似, 是一个无序不重复元素集, 基本功能包括关系测试和消除重复元素. 集合对象还支持union(联合), intersection(交), difference(差)和sysmmetric difference(对称差集)等数学运算。
sets 支持 x in set, len(set),和 for x in set。作为一个无序的集合,sets不记录元素位置或者插入点。因此,sets不支持 indexing, slicing, 或其它类序列(sequence-like)的操作。
集合t,s支持一系列标准操作,包括并集、交集、差集和对称差集,例如:
a = t | s # t 和 s的并集
b = t & s # t 和 s的交集
c = t – s # 求差集(项在t中,但不在s中)
d = t ^ s # 对称差集(项在t或s中,但不会同时出现在二者中)
下面给出集合运算的演示。

程序运行结果如下图:

自己做量化交易软件(15)通通量化AI框架的选股器设计1

程序运行结果如下图:

自己做量化交易软件(15)通通量化AI框架的选股器设计1

今天我给大家介绍了关于股票代码和股票板块运算的基本知识。下次开始设计有关选股器画面的设计。

来源:荷蒲

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2018年10月8日
下一篇 2018年10月8日

相关推荐