前言

不换个标题,感觉是没有人来读的。记得在学校那会,找实习,啥都不会, 听到同学说到`因子库`这个词汇,觉得好高级!后来慢慢接触下来,每个做量化的团队应该都有这么个玩意,专门用来存因子的。我是不是直接说因子有点快了,我入门是从优矿开始的,如果有不太了解多因子模型的,可以去优矿网找找文章来看看。这里推荐几篇帖子供给大家。量化分析师的Python日记【第14天:如何在优矿上做Alpha对冲模型】​uqer.io优矿​uqer.io

主要就是这两个人的帖子,看下还是能收获不少的。

因子的来源

那么,既然我们要搭建因子,它本身还是要依赖一些原始数据的,我简单的列了一下可能需要的数据行情数据,这是必须的,价量因子的原材料。

财务数据,这也是必须的,基本面因子的原材料,还有些指标例如PE,PB等等既需要行情数据,也需要财务数据。

行业数据,这还是必须的,现在市场上主流的是申万的行业数据,各人觉得没有中信的行业划分的准确,而且14年还变了一次,用起来比较麻烦,有些场景下还要专门把14年前的数据进行处理,干脆就用中信的好一些。还有的可能是GICS的行业划分,也还可以,像Barra公司做风险模型的时候就用的它自家的GICS行业,Axioma的其实也是GICS的行业划分。

一致预期数据,这个不是必须的,但是构建一致预期因子会需要。

另类数据,这个就比较多了,看能力吧,数据源多当然是好的。

设计你的因子库结构

其实我也不知道我的理解是不是那么的正确,因子库本身是就是存储因子的,或者说是存储数据的。那么,存储数据的选择就太多了,我们可以用文件来存,也可以用关系型数据库,还可以是非关系型数据库,等等。

考虑到我们提取因子文件的需求,既有时间维度的,也有股票层面的,甚至是两者结合在一起的。例如我们可能会提取过去一段时间的因子来进行研究,也有可能需要某一天全A的所有数据,甚至也有可能我们的研究对象是某一个股票池历史的因子数据。

我刚刚说了一大堆,但其实我觉得还是要具体问题具体对待,用文件比如说csv来保存并不一定就不是合适的,有的数据比如市值这样的,又或者行业这种的,我们可能会频繁存取,这时候采用文件格式保存也不失为一种方法。

表的设计

言归正传,我们来考虑大多数因子的存取方案

首先,我们需要想的是,我们需要计算的因子会是有很多的,特别是我们后面如果要做一些AI模型的话,特征太少,效果估计也不会好到哪取。现在很多卖方,买方都在不断扩大他们的因子库,虽然真正核心的使用的因子估计就那么二三十个的样子。

那么问题来了,假设我们用的是关系型数据库。首先,我们不可能一个因子存一张表,这样维护起来很吃力。一般来说,我们可以把一类因子放到一个表里。这样其实也会有些问题,我们用宽表还是用窄表?宽表的话,扩充因子会比较麻烦,用窄表空间冗余又太多。该采取何种方案比较让人头疼。

那么有没有比较好的方案?这个感觉像是面试会问的问题啊。答案当然是有的,例如我们可以用非关系型的数据库Mongo这样的来做。

遗憾的是,因为我电脑内存比较小,而且自己的电脑是Windows系统,操作诸多不便,我还是用MySQL做成宽表来存因子

python怎么求因子之和_Python与量化多因子——因子库(上)相关推荐

  1. python海伦公式求三角形面积_python编程实战:海伦公式求取三角形的面积

    之前小编向大家介绍了在python中求取三角形面积的方法:三角形面积代码.大家对三角形面积的求取有了一定的了解,我们也知道计算机可以进行高精度的计算,那如果说在测量土地的面积的时候,不测三角形的高,只 ...

  2. python postgresql跨数据库查询_python访问PostgreSQL数据库之连接库Psycopg2

    python访问PostgreSQL数据库之连接库Psycopg2 作者:佣工7001 由于要在python访问PostgreSQL数据库,需要一个符合DB-API的连接库.通过搜索,锁定两个候选库: ...

  3. python计算矩阵对角线之和_Python练习实例38 | 求3*3矩阵主对角线元素之和

    刚拿到这道题,可能还有不少的小伙伴们不知道3*3主对角元素是哪几个. 其实很简答,就是3*3矩阵当中的第1个.第5个以及第9个的元素之和. 矩阵.jpg 接下来,show code! # 求3*3矩阵 ...

  4. python课程设计矩阵对角线之和_Python二维数组实现求出3*3矩阵对角线元素的和示例...

    Python二维数组实现求出3*3矩阵对角线元素的和示例 题目:求一个3*3矩阵对角线元素之和. 程序分析:利用双重for循环控制输入二维数组,再将a[i][i]累加后输出. def two_dime ...

  5. python计算矩阵对角线之和_Python练习题 028:求3*3矩阵对角线数字之和

    [Python练习题 028] 求一个3*3矩阵对角线元素之和 ----------------------------------------------------- 这题解倒是解出来了,但总觉得 ...

  6. python求素数之和_python如何求质数之和

    质数(Prime number),又称素数,指在大于1的自然数中,除了1和该数自身外,无法被其他自然数整除的数(也可定义为只有1与该数本身两个因数的数). 简单来说就是,只能除以1和自身的数(需要大于 ...

  7. python求阶乘之和_python计算阶乘前n项和

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 知道公式后就很简单了,利用for循环,第几行i+1就等于几,当然python中是 ...

  8. python计算最大回撤_Python进阶量化交易场外篇3——最大回撤评价策略风险

    新年伊始,很荣幸笔者的<教你用 Python 进阶量化交易>专栏在慕课专栏板块上线了,欢迎大家订阅!为了能够提供给大家更轻松的学习过程,笔者在专栏内容之外会陆续推出一些手记来辅助同学们学习 ...

  9. python 表达式求值数据结构_python 数据结构与算法

    python 数据结构与算法 1 python常见数据结构性能 1.1 List 1.1.1 安索引取值和赋值 1.1.2 列表append和__add__() 1.1.3 使用timeit模块测试执 ...

最新文章

  1. java 判断类型_如何快速入门Java编程学习(干货)
  2. 我在实际工作中用的最多的 git 命令
  3. 解决Keepalived脚本启动时warning、Unsafe
  4. 电气:通过转移因子算法求解潮流
  5. sql中的where 1=1有什么用?
  6. 考研计算机组成原理难点,2010计算机考研:计算机组成原理冲刺重难点梳理
  7. 【C++grammar】文件系统以及path类使用
  8. IDC:移动云进入云运营服务市场前五!
  9. 让beanshell和bashshell一起工作
  10. sga_target大于sga_max_size数据库无法启动
  11. 初识python廖雪峰_廖雪峰Python教程[完整版]
  12. 地平线谭洪贺:AI芯片怎么降功耗?从ISSCC2017说起
  13. 怎么修改html游戏存档,星露谷物语存档修改方法 如何修改游戏存档
  14. 2020 消息中间件MQ与RabbitMQ面试题大全
  15. Altium未连接的网络DRC检查不出的问题
  16. MSP432 BSL流程(UART)
  17. HTML5期末大作业——布卡漫画官网(4个页面)HTML+CSS+JavaScript
  18. .net core word转pdf_Enolsoft PDF to Word with OCR for Mac(PDF转Word软件)
  19. 图片文件压缩并上传至阿里云OSS
  20. python怎么群发邮件_python群发邮件怎么做

热门文章

  1. LADN的12Discriminator
  2. 为什么中国人没有发明计算机,假如计算机是中国人发明的,代码是不是该用中文写了?...
  3. 雷军做程序员时写的博客,很强大!
  4. javaIO——PipedReader 和 PipedWriter 实现模拟即时聊天
  5. Gh0stly Gh0sts:第一个 0mnichain NFT
  6. Qbao Network 项目进展报告(2019.2.28-2019.3.13)
  7. SAP MDG —— MDG on S/4HANA 2020 创新汇总
  8. IE地址栏另类妙用十则
  9. 全球及中国物联网智能模组行业竞争态势及发展战略规划报告2022-2028年版
  10. 转载:基于Xlinx的时序分析、约束和收敛(2)— 基础概念(上)