STU 课程02
工欲善其事必先利其器, 在正式讨论QUANTAXIS如何使用之前, 我们需要首先对于QUANTAXIS进行一些基本的了解
QUANTAXIS项目/功能介绍
QUANTAXIS
QUANTAXIS 的核心项目是 QUANTAXIS/QUANTAXIS, 核心项目负责是一个基础的闭环流程, 包括
账户/组合/风险类 QAARP
市场/多市场接入/本地回测类/订单 QAMARKET
应用: QAApplication
数据获取/存储: QAFetch/ QASU
数据分析: QAData
指标系统: QAIndicator
配置/辅助功能: QASetting/QAUtil
通过以上几点, 我们可以实现一个完整的基于数据流/账户流的闭环解决方案:
QUANTAXIS的周边项目主要是对于QUANTAXIS的有效/必要补充, 依据个人使用场景/实际需求进行选配:
QUANTAXIS_WEBSERVER
网站后台(用于提供行情/交易数据) QUANTAXIS/QUANTAXIS_WBESERVER
QUANTAXIS_Community
前端界面
win 安装版本: 下载
mac 安装版本: 下载
web 版本: 下载
QUANTAXIS_RUN
一个基于Rabbitmq的分布式运行库, 已经集成在quantaxis_webserver中
QUANTAXIS_PUBSUB
一个基于Rabbitmq的消息分发/订阅的模块
QUANTAXIS_ATBROKER
一个基于海风AT封装的 CTP的BROKER
QUANTAXIS的技术栈/依赖库
quantaxis主要使用的是python/mongodb作为核心技术栈, 在未来会更多的使用 rabbitmq/websocket等来加强系统的低耦合性和健壮性
一些你必须要知道的库/编辑器/技术方案
python3.6+
mongodb3.6+/ mongodb4.0/ robomongo(mongodb的可视化工具)
ipython/ jupyter notebook 一个交互式的命令行/用于加速代码调试
vscode 微软的代码编辑器/ 轻量级全平台的编辑器
rabbitmq/ celery/ QAPUBSUB / 老牌MQ/以及相应的python的绑定库
tornado/ QUANTAXIS_WEBSERVER 一个python的后台库, 用于提供http/websocket服务
nodejs/ vue.js/ echarts.js/ 前端开发库 适当了解即可
docker 一个集群服务/ 用于加速/简化部署
在使用quantaxis的时候, 你需要的最小功能的单元工具栈是
python3.6/3.7
mongodb
一个代码编辑器
一个命令行
如何使用quantaxis 并进行初始化
首先你需要知道的是, quantaxis是一个纯本地的框架服务, 也就是意味着数据是放在你的本地数据库中, 因此 首先需要开启mongodb
在存储完毕数据以后, 你可能会陷入迷茫, 因为你不知道该做什么来进行下一步, 因为下面的场景是因人而异的, 我们对于下面的几种场景提供一些推荐的路径:
IF: 你是一个学生/初学者/ 对于python 几乎0基础的同学:
首先的推荐是搞清楚自己的目的,诸如:
实现一个模型
验证一个想法
把行情软件的指标复现
然后基于这个目的, 来quantaxis中匹配你的需求:
IF: 你已经在别的平台撰写过回测/ 对于如何进行回测有了一定的了解:
我们推荐的是首先做一个回测样例体验一下, 目前QUANTAXIS支持的是:
股票/期货的 日线/分钟线 的回测(支持保证金交易)
相关的回测代码你可以在 参见 中找到
当然, 由于QUANTAXIS QAAccount的灵活配置的机制, 你可以快速的接入各个你想要的市场中, 关于 QA_Account 你可以参见
IF: 你已经对于QUANTAXIS有了相当的理解, 需要自定义一些自己的代码:
我们推荐你参考阅读:
QUANTAXIS的源代码 参见
QUANTAXIS QAEngine 有关的多线程引擎的代码 参见
QUANTAXIS MARKET 关于市场和broker的关系 参见
QUANTAXIS RUN 如何进行分布式回测/任务 参见
P1课程基本结束, 在下一个P2课程中, 我们将完整讨论如何进行回测/ 在回测场景中你常常会遇到的问题
Last updated