# AmazingQuant<br>
[![Github workers](https://img.shields.io/github/watchers/zhanggao2013/AmazingQuant.svg?style=social&label=Watchers&)](https://github.com/zhanggao2013/AmazingQuant/watchers)
[![GitHub stars](https://img.shields.io/github/stars/zhanggao2013/AmazingQuant.svg?style=social&label=Star&)](https://github.com/zhanggao2013/AmazingQuant/stargazers)
[![GitHub forks](https://img.shields.io/github/forks/zhanggao2013/AmazingQuant.svg?style=social&label=Fork&)](https://github.com/zhanggao2013/AmazingQuant/fork)
# 1.简介
AmazingQuant是一款基于event-driven的量化回测交易开源框架,下图是总体框架架构。
![](https://github.com/zhanggao2013/AmazingQuant/raw/master/documents/framework_architecture.jpg)
* data_center
* to_mongoDB 存放行情、财务等各种数据到MongoDB的存储模块
* get_data 策略中从数据库中取数据的接口模块
* trade_center
* mossion_engine 包含下单任务(event_order)和风控(event_risk_management)两部分的engine,分别完成下单前的检查和风控
* broker_engine 分为回测时的simulate的broker(主要是event_deal)撮合成交和连接实盘交易CTP、xSpeed等接口两部分
* strategy_center
* bar_engine 在回测或者交易模式下,用`逐K线`的方式执行每一根bar的交易逻辑,可在日线、分钟线、分笔下运行
* analysis_center
* analysis_engine 对回测形成的交易记录进行分析和可视化,净值、年化收益、alpha、beta、回撤等指标,brison、Fama等经典模型的实现
# 2.安装配置
* MongoDB 3.4 <br>
建议使用shard,[配置启动项示例](https://github.com/zhanggao2013/AmazingQuant/blob/master/documents/MongoDB_config.md)
* pymongo <br>
python调用MongoDB
* talib <br>
技术指标计算库
* anaconda <br>
python 3.5 的版本,如果大于3.5的版本,ctp的接口暂时不能用,因为编译问题,后续可以解决
* Linux Ubuntu <br>
开发环境是ubuntu,当然也可以在windows下用,但是数据库的配置和ctp等交易接口需要重新做
* 安装AmazingQuant<br>
pip install AmazingQuant 直接安装
# 3.策略编写
```python
# -*- coding: utf-8 -*-
__author__ = "gao"
import numpy as np
import talib
# import strategy基类
from AmazingQuant.strategy_center.strategy import *
# import 交易模块
from AmazingQuant.trade_center.trade import Trade
# 继承strategy基类
class MaStrategy(StrategyBase):
def initialize(self):
# 设置运行模式,回测或者交易
self.run_mode = RunMode.BACKTESTING.value
# 设置回测资金账号
self.account = ["test0", "test1"]
# 设置回测资金账号资金量
self.capital = {"test0": 2000000, "test1": 1000}
# 设置回测基准
self.benchmark = "000300.SH"
# 设置复权方式
self.rights_adjustment = RightsAdjustment.NONE.value
# 设置回测起止时间
self.start = "2015-01-11"
self.end = "2016-01-16"
# 设置运行周期
self.period = "daily"
# 设置股票池
self.universe = ['000001.SZ', '000002.SZ', '000008.SZ', '000060.SZ', '000063.SZ', '000069.SZ', '000100.SZ',
'000157.SZ', '000166.SZ', '000333.SZ', '000338.SZ', '000402.SZ', '000413.SZ', '000415.SZ',
'000423.SZ', '000425.SZ', '000503.SZ', '000538.SZ', '000540.SZ', '000559.SZ', '000568.SZ',
'000623.SZ', '000625.SZ', '000627.SZ', '000630.SZ', '000651.SZ', '000671.SZ', '000686.SZ',
'000709.SZ', '000723.SZ', '000725.SZ', '000728.SZ', '000738.SZ', '000750.SZ', '000768.SZ',
'000776.SZ', '000783.SZ', '000792.SZ', '000826.SZ', '000839.SZ', '000858.SZ', '000876.SZ',
'000895.SZ', '000898.SZ', '000938.SZ', '000959.SZ', '000961.SZ', '000963.SZ', '000983.SZ',
'001979.SZ', '002007.SZ', '002008.SZ', '002024.SZ', '002027.SZ', '002044.SZ', '002065.SZ',
'002074.SZ', '002081.SZ', '002142.SZ', '002146.SZ', '002153.SZ', '002174.SZ', '002202.SZ',
'002230.SZ', '002236.SZ', '002241.SZ', '002252.SZ', '002292.SZ', '002294.SZ', '002304.SZ',
'002310.SZ', '002352.SZ', '002385.SZ', '002411.SZ', '002415.SZ', '002424.SZ', '002426.SZ',
'002450.SZ', '002456.SZ', '002460.SZ', '002465.SZ', '002466.SZ', '002468.SZ', '002470.SZ',
'002475.SZ', '002500.SZ', '002508.SZ', '002555.SZ', '002558.SZ', '002572.SZ', '002594.SZ',
'002601.SZ', '002602.SZ', '002608.SZ', '002624.SZ', '002673.SZ', '002714.SZ', '002736.SZ',
'002739.SZ', '002797.SZ', '002831.SZ', '002839.SZ', '002841.SZ', '300003.SZ', '300015.SZ',
'300017.SZ', '300024.SZ', '300027.SZ', '300033.SZ', '300059.SZ', '300070.SZ', '300072.SZ',
'300122.SZ', '300124.SZ', '300136.SZ', '300144.SZ', '300251.SZ', '300315.SZ', '600000.SH',
'600008.SH', '600009.SH', '600010.SH', '600011.SH', '600015.SH', '600016.SH', '600018.SH',
'600019.SH', '600021.SH', '600023.SH', '600028.SH', '600029.SH', '600030.SH', '600031.SH',
'600036.SH', '600038.SH', '600048.SH', '600050.SH', '600061.SH', '600066.SH', '600068.SH',
'600074.SH', '600085.SH', '600089.SH', '600100.SH', '600104.SH', '600109.SH', '600111.SH',
'600115.SH', '600118.SH', '600153.SH', '600157.SH', '600170.SH', '600177.SH', '600188.SH',
'600196.SH', '600208.SH', '600219.SH', '600221.SH', '600233.SH', '600271.SH', '600276.SH',
'600297.SH', '600309.SH', '600332.SH', '600340.SH', '600352.SH', '600362.SH', '600369.SH',
'600372.SH', '600373.SH', '600376.SH', '600383.SH', '600390.SH', '600406.SH', '600415.SH',
'600436.SH', '600482.SH', '600485.SH', '600489.SH', '600498.SH', '600518.SH', '600519.SH',
'600522.SH', '600535.SH', '600547.SH', '600549.SH', '600570.SH', '600583.SH', '600585.SH',
'600588.SH', '600606.SH', '600637.SH', '600649.SH', '600660.SH', '600663.SH', '600674.SH',
'600682.SH', '600685.SH', '600688.SH', '600690.SH', '600703.SH', '600704.SH', '600705.SH',
'600739.SH', '600741.SH', '600795.SH', '600804.SH', '600816.SH', '600820.SH', '600827.SH',
'600837.SH', '600871.SH', '600886.SH', '600887.SH', '600893.SH', '600895.SH', '600900.SH',
'600909.SH', '600919.SH', '600926.SH', '600958.SH', '600959.SH', '600977.SH', '600999.SH',
'601006.SH', '601009.SH', '601012.SH', '601018.SH', '601021.SH', '601088.SH', '601099.SH',
'601111.SH', '601117.SH', '601118.SH', '601155.SH', '601163.SH', '601166.SH', '601169.SH',
'601186.SH', '601198.SH', '601211.SH', '601212.SH', '601216.SH', '601225.SH', '601228.SH',
'601229.SH', '601288.SH', '601318.SH', '601328.SH', '601333.SH', '601336.SH', '601375.SH',
'601377.SH', '601390.SH', '601398.SH', '601555.SH', '601600.SH', '601601.SH', '601607.SH',
'601608.SH', '601611.SH', '601618.SH', '601628.SH', '601633.SH', '601668.SH', '601669.SH',
'601688.SH', '601718.SH', '601727.SH', '601766.SH', '601788.SH', '601800.SH', '601818.SH',
'601857.SH', '601866.SH', '601872.SH', '601877.SH', '601878.SH', '601881.SH', '601888.SH',
'601898.SH', '601899.SH', '601901.SH', '601919.SH', '601933.SH', '601939.SH', '601958.SH',
'601966.SH', '601985.SH', '601988.SH', '601989.SH', '601991.SH'
没有合适的资源?快使用搜索试试~ 我知道了~
基于Event-driven的量化交易解决方案.zip
共70个文件
py:32个
h:10个
csv:4个
需积分: 3 0 下载量 50 浏览量
2024-01-15
10:16:18
上传
评论
收藏 2.08MB ZIP 举报
温馨提示
方案是为解决特定问题或达成特定目标而制定的一系列计划或步骤。它的作用是提供一种系统性的方法,以有效地应对挑战、优化流程或实现目标。以下是方案的主要作用: 问题解决: 方案的核心目标是解决问题。通过系统性的规划和执行,方案能够分析问题的根本原因,提供可行的解决方案,并引导实施过程,确保问题得到合理解决。 目标达成: 方案通常与明确的目标相关联,它提供了一种达成这些目标的计划。无论是企业战略、项目管理还是个人发展,方案的制定都有助于明确目标并提供达成目标的路径。 资源优化: 方案在设计时考虑了可用资源,以最大化其效用。通过明智的资源分配,方案可以在有限的资源条件下实现最大的效益,提高效率并减少浪费。 风险管理: 方案通常会对潜在的风险进行评估,并制定相应的风险管理策略。这有助于减轻潜在问题的影响,提高方案的可行性和可持续性。 决策支持: 方案提供了决策者所需的信息和数据,以便做出明智的决策。这种数据驱动的方法有助于减少不确定性,提高决策的准确性。 团队协作: 复杂的问题通常需要多个人的协同努力。方案提供了一个共同的框架,帮助团队成员理解各自的职责和任务,促进协作并确保整个团队朝着共同的目标努力。 监控与评估: 方案通常包括监控和评估的机制,以确保实施的有效性。通过定期的评估,可以及时调整方案,以适应变化的环境或新的挑战。 总体而言,方案的作用在于提供一种有序、有计划的方法,以解决问题、实现目标,并在实施过程中最大化资源利用和风险管理。
资源推荐
资源详情
资源评论
收起资源包目录
基于Event-driven的量化交易解决方案.zip (70个子文件)
SJT-code
LICENSE 1KB
AmazingQuant
data_center
get_data.py 9KB
mongosconn.py 5KB
market_data_daily_to_MongoDB.py 2KB
financial_data_to_MongoDB.py 2KB
__init__.py 62B
constant.py 2KB
data_object.py 3KB
environment.py 2KB
utils
performance_test.py 477B
generate_random_id.py 364B
data_transfer.py 449B
strategy_center
event_bar_engine.py 1KB
strategy.py 8KB
trade_center
event_broker_engine.py 1KB
event_mission_engine.py 1KB
trade.py 2KB
event_engine
event_save_record.py 958B
__init__.py 45B
event_deal.py 11KB
event_engine_base.py 6KB
event_order.py 4KB
event_log.py 45B
event_error.py 45B
event_market.py 4KB
event_risk_management.py 1KB
event_backtesting_analysis.py 16KB
analysis_center
event_analysis_engine.py 1KB
test
pymongo_test.py 877B
pyecharts_test.py 3KB
api_to_python
xspeed
linux_x64_DFITC_TEST_001
include
error.xml 14KB
DFITCSECApiStruct.h 130KB
DFITCSECTraderApi.h 54KB
DFITCSECMdApi.h 11KB
DFITCSECApiDataType.h 49KB
error.dtd 198B
DFITC_SEC_Demo
ApiDemo.cpp 73KB
Makefile 310B
DFITC_SEC_Demo 107KB
readme 116B
ctp
CMakeLists.txt 3KB
AQctptd
AQctptd
AQctptd.cpp 317KB
AQctptd.h 43KB
test
tdtest.py 5KB
thosttraderapi.dll 1.71MB
AQctpmd
AQctpmd
AQctpmd.h 8KB
AQctpmd.cpp 23KB
test
QueryRsp.con 6B
mdtest.py 5KB
DialogRsp.con 6B
TradingDay.con 6B
thostmduserapi.dll 843KB
ctpapi
x64_linux
error.xml 16KB
ThostFtdcMdApi.h 5KB
ThostFtdcUserApiStruct.h 209KB
ThostFtdcUserApiDataType.h 236KB
ThostFtdcTraderApi.h 30KB
error.dtd 175B
build.sh 361B
documents
backtesting_result.jpg 66KB
framework_architecture.jpg 97KB
MongoDB_config.md 2KB
.gitignore 713B
example
test_strategy_order_data1530494369000.csv 414KB
test_strategy_account_data1530494369000.csv 28KB
test_strategy.py 10KB
test_strategy_strategy backtesting indicator1530494371000.html 904KB
test_strategy_deal_data1530494369000.csv 374KB
test_strategy_position_data1530494369000.csv 2.94MB
README.md 14KB
共 70 条
- 1
资源评论
JJJ69
- 粉丝: 6353
- 资源: 5918
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 20190313-100538-非对称电容在变压器油中10kv高压电作用下产生力的现象
- GB材料数据库(!请注意鉴别其中的材料参数并不是完全正确!)
- JAVA商城,支持小程序商城、 供应链商城 小程序商城 H5商城 app商城超全商城模式官网 支持小程序商城 H5商城 APP商城 PC商城
- springboot的在线商城系统设计与开发源码
- springboot的飘香水果购物网站的设计与实现 源码
- NO.4学习样本,请参考第4章的内容配合学习使用
- 20190312-084407-旋转磁体产生的场对周围空间长度的影响-数值越大距离越短
- 嵌入式系统应用-LVGL的应用-智能时钟 part 2
- 国家安全教育课程结课论文要求.docx
- FIR数字滤波器设计与软件实现.pdf
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功