量化金融策略开源框架:QUANTAXIS

作者:余天,yutiansut 2015 创始人,QUANTAXIS 开发者。

QUANTAXIS量化金融策略框架,是一个面向中小型策略团队的量化分析解决方案,是一个从数据爬取、清洗存储、分析回测、可视化、交易复盘的本地一站式解决方案。 我们通过高度解耦的模块化以及标准化协议,可以快速的实现面向场景的定制化解决方案.QUANTAXIS是一个渐进式的开放式框架,你可以根据自己的需要,引入自己的数据,分析方案,可视化过程等,也可以通过RESTful接口,快速实现多人局域网/广域网内的协作。

1. 功能

1.1 行情服务

1.1.1 股票/期货/期权/美股/外汇/宏观的历史/实时行情(日线/分钟线/tick/实时五档)服务

例:最新交易价格

QA.QA_util_log_info('最后一次交易价格')
QA.QA_util_log_info('参数为列表')
data=QA.QAFetch.QATdx.QA_fetch_get_stock_latest(['000001','000002'])


QA.QA_util_log_info('参数为一只股票')
data=QA.QAFetch.QATdx.QA_fetch_get_stock_latest('000001')

1.1.2 财务/基本面/宏观数据

例:现金及现金等价物净增加情况

'154现金的期末余额': 'cashEndingBal',
'155现金的期初余额': 'cashBeginingBal',
'156现金等价物的期末余额': 'cashEquivalentsEndingBal',
'157现金等价物的期初余额': 'cashEquivalentsBeginningBal',
'158现金及现金等价物净增加额': 'netIncreaseOfCashAndCashEquivalents',

1.1.3 自定义数据源的数据

例:QUANTAXIS WEB 爬虫

git clone https://gitee.com/yutiansut/QUANTAXIS_WEBDRIVER/

1.2 数据运维服务

一键更新,WINDOWS开启自动脚本,数据自动更新

1.3 分析服务

1.3.1 专门为A股股票数据适配的数据结构

例:取多个股票的数据

QA.QA_fetch_stock_day_adv(['000001','000002'],'2017-01-01','2017-10-01')
In [6]: QA.QA_fetch_stock_day_adv(['000001','000002'],'2017-01-01','2017-10-01')
Out[6]: QA_DataStruct_Stock_day with 2 securities

1.3.2 精心为A股指标计算适配的指标类

例:获取某一个时刻的某个股票的某个指标值

inc.get_indicator('2018-01-12','000001','WR1')

WR1    48.148148
Name: (2018-01-12 00:00:00, 000001), dtype: float64

1.4 可扩展事件驱动框架

QUANTAXIS的事件框架是一个多线程架构:

QUANTAXIS/QAENGINE

QAENGINE分三个部分

- QAEvent
- QATask
- QAThread
(可扩展 ProcessEngine/AsyncioEngine)

事件的核心可以简单理解为一个带队列的线程(进程/协程),将事件分类,做成生产者消费者模式,通过队列传递任务

1.5 回测服务

1.5.1 股票/日内t0/ 的日线/分钟线级别回测

例:风险分析模块

R=QA.QA_Risk(ACCOUNT,benchmark_code='000300',benchmark_type=MARKET_TYPE.INDEX_CN)

#< QA_RISK ANALYSIS ACCOUNT-Acc_50wle3cY >

R()
# R() 是一个datafram形式的表达结果
    account_cookie    annualize_return    max_dropback    portfolio_cookie    profit    time_gap    user_cookie        volatility
0    Acc_50wle3cY    -0.000458            0.00012         Portfolio_oAkrKvj9    -0.000011    6        USER_l1CeBXog    64.696986

R.message

{'account_cookie': 'Acc_50wle3cY',
 'annualize_return': -0.0004582372482384578,
 'max_dropback': 0.00012000168002352033,
 'portfolio_cookie': 'Portfolio_oAkrKvj9',
 'profit': -1.1000154002127616e-05,
 'time_gap': 6,
 'user_cookie': 'USER_l1CeBXog',
 'volatility': 64.69698601944299}

1.6 实盘

1.6.1 股票(实盘易) 1.6.2 期货(python3 CTP win/mac/linux)

1.7 网站HTTP服务

1.7.1 网站后台标准化接口

quantaxis 采用前后端分离的模式开发,所以对于后端而言 是一个可以快速替换/语言随意的部分.只需要按照规则设置好REST的url即可

2. 安装和部署

2.0 安装说明

2.2 部署式安装

pip install quantaxis -U

2.3 本地代码

git clone https://github.com/quantaxis/quantaxis --depth 1

cd quantaxis

pip install -e .

2.4 代码提交式安装

  • fork QUANTAXIS 到你的github账户
git clone https://github.com/你的账户名/quantaxis

3. 回测Webkit插件概览

4. QUANTAXIS 标准化协议和未来协议

QUANTAXIS-Stardand-Protocol 版本号0.0.8

5. 电脑配置推荐

推荐配置: 6代以上CPU+ 16/32GB DDR3/DDR4内存+ 256GB以上SSD硬盘 最低配置: 支持X64位的CPU 因为在存储本地数据的时候,需要存储超过2GB的本地数据,而32位的MONGODB最高只支持2GB左右的数据存储,因此最少需要一个X64位的CPU 如果SSD资源够用,尽量将数据存储在SSD中,增加wiretiger写盘的速度 如果是阿里云/腾讯云的服务器,请在最初的时候 选择64位的操作系统

GitHub开源地址

https://github.com/QUANTAXIS

原文发布于微信公众号 - Python中文社区(python-china)

原文发表时间:2018-07-29

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏FreeBuf

针对爱尔兰DDoS攻击的取证分析

在过去一段时间内,爱尔兰的许多在线服务和公共网络都遭受到了 DDoS 攻击。英国广播公司(BBC)最近的一篇文章[链接]就指出 2016 年 DDoS 攻击事件...

2627
来自专栏FreeBuf

Linux/Moose蠕虫:操纵路由器“帮你玩”社交网络

ESET的安全研究员发表了一篇技术报告,报告中详细分析了一个新的蠕虫Linux/Moose。它的攻击对象主要是调制解调器、家用路由器和其他嵌入式计算机,可将这些...

23910
来自专栏小樱的经验随笔

网站渗透测试原理及详细过程

网站渗透测试原理及详细过程 零、前言 渗透测试在未得到被测试方授权之前依据某些地区法律规定是违法行为。 这里我们提供的所有渗透测试方法均为(假设为)合法的评估...

7299
来自专栏FreeBuf

关于企业员工存在的安全风险的一些看法

人是安全管理中最大的安全隐患。不记得这句话从哪里看到的了。不过我们经常会看到类似于从一个司机邮箱渗透到企业重要系统的案例(参考资料1),越来越热的apt攻击也...

20810
来自专栏FreeBuf

每16台Android手机中,就有一台受BadKernel漏洞的影响

根据国外媒体的最新报道,安全研究专家在Google的V8 JavaScript引擎中发现了一个安全漏洞(BadKernel),该漏洞将会间接影响到Android...

2065
来自专栏Android 开发者

Android Power Placeholder | 中文教学视频

持久稳定的电量是每一位用户,各个设备厂商,以及开发者的共同诉求。Android 9 Pie 在之前版本的基础上,继续优化电量管理,并推出了电量功能如下:

1192
来自专栏FreeBuf

好莱坞特工必备:维基解密公开CIA用来关闭摄像头监控的工具Dumbo

在过去的 20 年里,我们看到成百上千的电影中,秘密间谍或银行抢劫者通过劫持监控摄像机,让监控录制停止或开始无限循环,随后秘密行动悄无声息地开始,不会留下任何痕...

3333
来自专栏FreeBuf

别让你的手机成为恶意软件的温床

手机早已成为人们生活中不可或缺的一部分,在娱乐,移动支付,社交等方面都起到举足轻重的作用,可以说在当今社会手机就是人们重要的“生存”工具之一。但是在享受时代带给...

1470
来自专栏FreeBuf

Python已成为网络攻击的首选编程语言

调查数据表明,目前的GitHub代码库中,有超过20%的网络攻击工具或PoC代码都是采用Python编写的。

1422
来自专栏FreeBuf

担心投票系统被黑,详解荷兰政府为何决定在大选中使用手工计票

在3月的荷兰大选即将到来之际,安全专家Sijmen Ruwhof通过Youtube上有关荷兰大选使用的计票软件介绍视频,对荷兰大选中使用的投票计票软件OSV p...

2137

扫码关注云+社区

领取腾讯云代金券