python阿尔法平台_GitHub - alpha-miner/alpha-mind: quantitative security portfolio analysis. The analysis ...

Alpha - Mind

Python version

Build Status

Coverage

Alpha - Mind 是基于 Python 开发的股票多因子研究框架。

TODO list

alpha-mind的开发经过长期的暂停之后,将重启。下面的列表会给出一组现在规划中的功能或者改进:

增加对于数据后端MySQL的支持;

增加对于数据后端CSV文件的支持,并且提供一份样例文件供用户测试使用;

删除所有的c++相关代码,方便alpha-mind的安装;

在windows以及linux平台提供可以直接pip安装的安装包;

完整的文档;

alpha模型增加超参数调优的功能;

alpha模型增加多期预测能力;

优化器增加多期优化的能力。

依赖

该项目主要有两个主要的github外部依赖:

portfolio - optimizer:该项目是相同作者编写的用于资产组合配置的优化器工具包;

xgboost: 该项目是alpha - mind中一些机器模型的基础库。

这两个库都可以直接使用pip进行安装。

功能

alpha - mind 提供了多因子研究中常用的工具链,包括:

数据清洗

alpha 模型

风险模型

组合优化

执行器

所有的模块都设计了完整的测试用例以尽可能保证正确性。同时,所有的数值模型开发中都对性能给予了足够高的关注,参考了优秀的第三方工具以保证性能:

numpy

numba

cvxopt

cvxpy

pandas

scipy

同时还依赖于一个工具包

安装

安装需要直接clone或者下载源代码安装,具体流程为:

克隆项目到本地

$ git clone https://github.com/alpha-miner/alpha-mind.git

然后直接使用一下命令安装

$ python setup.py install

使用Docker运行

docker build -t alpha-mind:latest -f Dockerfile .

docker run -it -p 8080:8080 --name alpha-mind alpha-mind

提示

环境变量的配置在./entrypoint.sh中,包括:

DB_VENDOR: 如果使用mysql,请设置为rl;

DB_URI: 数据库的连接串。

数据源

我们在工具包中也提供了一个数据源的参考实现。这个数据源的参考实现来自于通联数据提供的股票因子数据和风险模型数据等,具体细节可以参考:优矿。

该数据源使用RMDBS,供参考的数据库可以是Postgresql。在工具包中我们已经提供了命令行工具,帮助用户一键配置好数据库。步骤如下:

下面的步骤以Ubuntun上Postgresql为例子:

安装数据库软件

请前往PostgreSQL官网,根据指导,下载安装PostgreSQL数据库。

新建数据库

在安装完成的数据库中新建Database,例如名字:alpha。注意这个数据需要使用utf8作为编码。

一键配置数据库

在命令行中运行:

alphadmind initdb --url postgresql+psycopg2://user:pwd@host/alpha

其中:

user:数据库用户名

pwd:用户密码

host:数据库服务器地址

如果成功,会有类似的输出:

2017-06-29 14:48:36,678 - ALPHA_MIND - INFO - DB: postgresql+psycopg2://user:pwd@host/alpha

2017-06-29 14:48:37,515 - ALPHA_MIND - INFO - DB: initialization finished.

Windows

对于Windows使用者,命令行工具alphamind并不能直接使用,这个时候可以使用变通的办法,进入源码alphamind/bin目录下:

python alphadmind initdb --url postgresql+psycopg2://user:pwd@host/alpha

可以达到一样的效果。

数据库更新

在目录scripts 下有airflow脚本文件update_uqer_data.py可以用来做每天的数据更新。使用之前除了要配置好airflow服务器之外,需要更新脚本中以下两行:

_ = uqer.Client(token='')

engine = sqlalchemy.create_engine('')

其中token需要填入有效的通联数据认证信息;engine需要填入上面指定的数据库地址。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值