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

简介: 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 网站后台标准化接口

image

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插件概览

image

image

image

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

原文发布时间为:2018-07-29
本文作者:余天
本文来自云栖社区合作伙伴“ Python中文社区”,了解相关信息可以关注“ Python中文社区

相关文章
|
1月前
|
弹性计算 人工智能 安全
阿里云ECS服务器Alibaba cloud linux镜像系统版本有什么区别?操作系统选择方法
Alibaba Cloud Linux是阿里云推出的云原生操作系统,兼容CentOS生态,专为ECS实例优化。当前主要版本有2、3、4代,其中Alibaba Cloud Linux 3和4基于Anolis OS,分别使用5.10和6.6内核,支持dnf、Podman及OS Copilot智能助手。版本类型包括LTS(长期支持)、Pro(商业付费版,提供13年维护)、AI增强版、容器优化版、等保合规版、UEFI启动版及ARM架构版。建议优先选用Alibaba Cloud Linux 3或4,根据应用需求选择对应版本以获得更优性能与稳定性支持。
|
4月前
|
消息中间件 数据采集 NoSQL
秒级行情推送系统实战:从触发、采集到入库的端到端架构
本文设计了一套秒级实时行情推送系统,涵盖触发、采集、缓冲、入库与推送五层架构,结合动态代理IP、Kafka/Redis缓冲及WebSocket推送,实现金融数据低延迟、高并发处理,适用于股票、数字货币等实时行情场景。
600 3
秒级行情推送系统实战:从触发、采集到入库的端到端架构
|
7月前
|
存储 安全 BI
硬盘有坏道怎么办?硬盘坏道如何屏蔽?
本文简单介绍一下坏道的类型,然后介绍检测工具、坏道屏蔽方法,感兴趣的用户可以尝试。
|
Kubernetes 负载均衡 持续交付
Kubernetes与Docker的关系讲解
Docker像一个“集装箱”,将应用及所需环境打包,确保在任何支持Docker的环境中一致运行。K8s则是“港口管理员”,自动化管理这些“集装箱”的调度、扩展和通信,使开发者能专注于应用开发。两者互补,Docker提供容器化技术,K8s则进行容器编排和管理,共同提升应用的可移植性和稳定性。
553 5
|
应用服务中间件 Shell PHP
thinkphp 设置运行目录为/public后 404错误
thinkphp 设置运行目录为/public后 404错误
|
自然语言处理 Serverless Docker
量化交易大揭秘:如何将TA-Lib神兵利器部署于云端函数计算,让策略飞升!
【8月更文挑战第8天】在量化交易中,TA-Lib作为技术分析库备受青睐,支持多语言包括Python。本教程指导如何将其移植至函数计算平台,实现云端交易策略。首先安装Python与TA-Lib;接着选择云服务商并创建实例。确认TA-Lib与平台Python版本兼容,必要时构建自定义运行时。使用`pip`安装TA-Lib并打包依赖。编写函数计算代码示例,如计算移动平均线。部署代码与依赖至平台,定制Dockerfile以支持自定义运行时。最后,通过平台测试功能验证功能正确性。完成移植后,即可享受Serverless架构的自动扩展与成本效益优势。
588 4
|
搜索推荐 Linux 开发工具
|
监控 网络协议 Linux
在Linux中,如何查看当前系统每个 IP 的连接数?
在Linux中,如何查看当前系统每个 IP 的连接数?
|
Ubuntu Unix Linux
【GO基础】1. Go语言环境搭建
【GO基础】1. Go语言环境搭建
879 2
|
网络协议 网络性能优化 数据中心
什么是显式拥塞通知ECN?
【4月更文挑战第23天】
1533 0
什么是显式拥塞通知ECN?