1.简介

AmazingQuant是一款基于event-driven的量化回测交易开源框架,下图是总体框架架构。

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

建议使用shard,配置启动项示例

pymongo

python调用MongoDB

talib

技术指标计算库

anaconda

python 3.5 的版本,如果大于3.5的版本,ctp的接口暂时不能用,因为编译问题,后续可以解决

Linux Ubuntu

开发环境是ubuntu,当然也可以在windows下用,但是数据库的配置和ctp等交易接口需要重新做

安装AmazingQuant

pip install AmazingQuant 直接安装

3.策略编写

# -*- coding: utf-8 -*-__author__ = "gao"import numpy as npimport 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

python编写量化交易程序英语_Python量化交易开源框架:AmazingQuant相关推荐

  1. 教你用Python 编写 Hadoop MapReduce 程序

    摘要:Hadoop Streaming 使用 MapReduce 框架,该框架可用于编写应用程序来处理海量数据. 本文分享自华为云社区<Hadoop Streaming:用 Python 编写 ...

  2. 为了偷懒,我开始用Python编写Android应用程序

    为了偷懒,我开始用Python编写Android应用程序 说明 环境准备 开发环境准备(windows) 编译环境准备 自行配置制作编译环境 偷懒:直接下载配置好的虚拟机 编译 验证APK 总结 说明 ...

  3. 使用Python编写网络扫描程序

    使用Python编写网络扫描程序 ​ 网络扫描程序通过向成百上千台计算机发送请求并分析其响应,扫描第2层和第3层网络中指定范围内的网络ID.利用某些扩展技术,网络扫描程序还可以获得通过Samba和Ne ...

  4. Python 编写的图形程序打包为安卓 APP、IOS

    如果想使用 Python 语言编写图形界面程序,那么有不少的框架可以提供支持,比如 Kivy.Tkinter.PyQt.WxPython.pyui4win等等. 这些框架都是只能创建桌面图形界面程序, ...

  5. python编写一计票程序,键盘输入候选人姓名(输入“#”结束),使用字典存储并统计出候选人得票数。python实现分段函数。

    一.编程题目         编程题目1:python编写一计票程序,键盘输入候选人姓名(输入"#"结束),使用字典存储并统计出候选人得票数.        编程题目2:pytho ...

  6. python 天勤 金叉 编程代码_Python量化交易工具之#39;自适应#39;跟踪止盈算法,进阶必看!...

    点及财经,股票期货专业投机者. 这期文章,作者主要给大家分享,如何用Python 代码编写双均线策略,然后在策略中采用加速算法跟踪止盈作为出场方式,并回测. 前言 俗话说,会买的是徒弟,会卖的是师父, ...

  7. python实现录音小程序 界面_python怎么对矩阵添加一列python实现录音小程序

    本文为大家分享了python实现录音小程序的具体代码,供大家参考,具体内容如下 学习目标: 学习电脑网从python实现录音小程序分析来看,对python实现录音小程序的结果.掌握python的pya ...

  8. Python编写简易木马程序

    0x00 准备 文章内容仅供学习研究.切勿用于非法用途! 这次我们使用Python编写一个具有键盘记录.截屏以及通信功能的简易木马.依然选用Sublime text2 +JEDI(python自动补全 ...

  9. python 编写仓库管理程序

    好的,我可以提供一些建议来帮助你编写仓库管理程序. 首先,你需要确定仓库管理程序的功能.是否需要跟踪库存数量?是否需要记录进出货记录?是否需要提供报告?确定好你的需求后,你可以开始设计你的程序的数据结 ...

  10. 使用python编写一个爬虫程序

    使用 Python 编写爬虫程序需要以下几步: 导入必要的库.你可以使用 requests 库来发送 HTTP 请求,使用 BeautifulSoup 库来解析 HTML/XML 文档. 构建爬取的 ...

最新文章

  1. docker报错:driver failed programming external connectivity on endpoint, iptables:No chain by that name
  2. 混淆矩阵是什么?Python多分类的混淆矩阵计算及可视化(包含原始混淆矩阵及归一化的混淆矩阵):基于skelarn框架iris数据集
  3. python【数据结构与算法】内置函数 zip() 函数(看不懂你来打我)
  4. 图像处理和计算机视觉中的经典论文
  5. java.lang.IllegalStateException: Not connected to serve
  6. Java EE——Mybatis 框架学习
  7. c语言长整数转化为16进制字符串,一个30位的字符串十进制长整数怎么转换为对应的十六进制和八进制...
  8. LeetCode 219. 存在重复元素 II(哈希)
  9. 单片机c语言字符,单片机C语言中变量的定义方法解析
  10. TransformerEncoder
  11. 捷联惯导更新算法及误差分析汇总
  12. 企业内部应用对接钉钉 -- 钉钉回调
  13. 头脑王者源码微信答题小程序pk知识问答源码介绍
  14. 按键控制LED亮灭(CC2530)
  15. 检测iPhone/iPod Touch/iPad设备类型 .
  16. [openwrt] 使用ubus实现
  17. 阿里云化身“智能云管”,助力中国联通首次实现大规模平台自主运维
  18. 简单的小升初摇号小程序
  19. HTTPS 证书手机浏览有风险怎么办
  20. 使用树莓派+arduino+采集卡+frp实现异地控制电视机顶盒

热门文章

  1. mac pro制作iso系统光盘
  2. 视频会议之BigBlueButton
  3. 学习IP地址的一些体会总结
  4. 使用java6做webservice 的客户端
  5. 服务器虚拟化可以节约成本吗?—硬件开支篇
  6. java内置的四大函数式接口
  7. bbs小项目整理(六)(消息发布)
  8. 解决错误---undefined reference to `pthread_create‘
  9. .NET后台输出js脚本的方法
  10. jQuery过滤选择器 通过过滤条件选取需要的元素