量化金融策略开源框架: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中文社区作为一个去中心化的全球技术社区,以成为全球20万Python中文开发者的精神部落为愿景,目前覆盖各大主流媒体和协作平台,与阿里、腾讯、百度、微软、亚马逊、开源中国、CSDN等业界知名公司和技术社区建立了广泛的联系,拥有来自十多个国家和地区数万名登记会员,会员来自以公安部、工信部、清华大学、北京大学、北京邮电大学、中国人民银行、中科院、中金、华为、BAT、谷歌、微软等为代表的政府机关、科研单位、金融机构以及海内外知名公司,全平台近20万开发者关注。
为促进Python中文开发者的开源项目的发展,Python中文社区全平台将定期报导华人Python开发者开源项目的发展情况,让更多的开发者关注和参与您的开源项目,并且我们将凭借在业界的影响力努力开拓更多资源,为开源项目开发者提供更多支持