1引言目前基于Python的量化回测框架有很多,开源框架有zipline、vnpy、pyalgotrader和backtrader等,而量化平台有Quantopian(国外)、聚宽、万矿、优矿、米筐、掘金等,这些量化框架或平台各有优劣。就个人而言,比较偏好用backtrader,因为它功能十分完善,有完整的使用文档,安装相对简单(直接pip安装即可)。优点是运行速度快,支持pandas的矢量运算;
通过Tushare和backtrader实现量化投资回测(tushare ID=418443)一.Tushare介绍二.安装Tushare三.backtrader介绍和安装四.编写代码1、初始化tushare,获取指定股票代码的股票历史数据。2、加载数据3、加载backtrader引擎,初始化投资金额4、增加策略5、布林线规则策略的具体实现6、输出回测结果并打印图形五.运行结果 一.Tushar
转载
2023-09-21 11:29:07
523阅读
2评论
一、OHLCV:当天的开盘价(Open)、最高价(High)、最低价(Low)和收盘价(Close)。如果再加上这一个小时总的成交量(Volumn),就得到了 OHLCV 数据。使用 Zipline 进行策略回测,或者用 Pyfolio 进行投资组合分析。Quantopian,就提供了基于 Zipline 的标准回测环境。国内也有诸如 BigQuant、果仁网等类似平台,提供不同市场和金融产品的交
转载
2024-02-14 19:54:27
77阅读
如题python实现证券量化策略回测平台的模拟交易功能20200114写了份作业,以下是需要作业需要完成的功能:采用面向对象程序设计的思想,设计并完成证券量化策略回测平台的模拟交易功能:
设计交易账户,在创建之初指定初始资产;
根据策略产生的交易指令(见指令文档)和当天的市场行情数据,进行买入、卖出操作,
记录每条交易记录的详细信息
(交易日期、交易类型、标的、价格、数量、佣金、契税、总费用),
转载
2023-08-21 21:04:19
0阅读
# Python量化回测平台
## 介绍
Python量化回测平台是一种用于开发和测试量化交易策略的工具。它提供了一种简单且灵活的方式来回测和评估不同的交易策略,以便投资者可以更好地理解和改进他们的交易策略。本文将介绍Python量化回测平台的基本概念和使用方法,并给出一些示例代码以帮助读者更好地理解。
## 安装和配置
要使用Python量化回测平台,首先需要在你的机器上安装Python
原创
2023-09-12 07:43:40
191阅读
目录一、line_profiler二、memory_profiler三、timeit四、pyheat五、heartrate六、Pycharm自带的Profiler工具七、objgraph工具八、profile和cProfile 一、line_profilerPython代码优化工具——line_profile二、memory_profilerPython代码优化工具——memory_profil
转载
2023-08-26 08:31:22
249阅读
win10下搭建zipline python3.5量化回测平台1、安装 Anaconda1.1 下载Anconda1.2 安装1.3 Anaconda Prompt1.4 检查安装1.5 创建python3.5环境2、安装zipline2.1 添加下载频道2.2 安装zipline3、安装PyCharm3.1 下载PyCharm(Windows)3.2 安装PyCharm3.3 配置Anacon
转载
2023-09-06 14:03:56
270阅读
1引言关于backtrader,前两篇推文《【手把手教你】入门量化回测最强神器backtrader(一)》和《【手把手教你】入门量化回测最强神器backtrader(二)》分别介绍了整个框架的组成部分和回测系统的运行,以及策略模块交易日志的编写和策略参数的寻优。本文在这两篇文章的基础上,着重介绍backtrader的Analyzers模块,并对策略的业绩评价指标进行可视化分析。Analyzers模
量化策略开发第一步:数据源开发量化策略的第一个重要环节:如何获取数据?开发量化策略所需要的数据,包括历史数据和实时数据。特别指出,我们只介绍免费的数据源,以帮助大家降低成本。先从股票开始,股票的历史数据,我们可以借用三方平台回测(例如优矿、聚宽、米筐等),相当于借用了平台的历史数据,但平台历史数据有一个问题:往往不能将全量数据下载到本地。想要自己搭建股票回测框架的话,推荐用tushare的数据,如
# Python最简单量化回测平台实现教程
## 1. 整体流程
下面是实现Python最简单量化回测平台的流程,我们将使用Python中的pandas和matplotlib等库来实现这一功能。具体步骤如下表所示:
```mermaid
journey
title Python最简单量化回测平台实现流程
section 初始设置
开始 --> 下载历史数据
原创
2024-07-09 05:20:18
151阅读
一、什么是RSI策略?双均线策略的思想主要是根据长短周期 MA 指标的关系来判断买卖时机。基于 RSI 指标的策略主要是根据买卖双方力量之间的对比来判断买卖点。RSI 指标是通过一段时间价格变动情况来计算市场买卖力量的对比,从而推测未来价格变动的技术指标。当RSI大于80时,称为处于超买区,意味着未来价格可能会出现下跌;当RSI小于20时,称为处于超卖区,意味着未来价格可能会出现上涨。
转载
2023-06-12 17:28:00
426阅读
PyUnit(unittest) 是 Python 自带的单元测试框架,用于编写和运行可重复的测试。PyUnit 是 xUnit 体系的一个成员,xUnit 是众多测试框架的总称,PyUnit 主要用于进行白盒测试和回归测试。通过 PyUnit 可以让测试具有持久性,测试与开发同步进行,测试代码与开发代码一同发布。使用 PyUnit 具有如下好处:可以使测试代码与产品代码分离。
转载
2023-12-13 05:55:14
62阅读
我们把量化小工具的基础版本称为V0,该版本的股票行情页面中的股票名称只有4个,分别为开山股份、浙大网新、水晶光电、高鸿股份,如果同学们要添加自选股,只能在代码中添加。接下来我们把A股市场中全部的股票都添加到下拉框中去。此处使用Tushare Pro的stock_basic()接口,该接口获取上市的所有股票基础信息数据,包括股票代码、名称、上市日期、退市日期等。输入参数说明如下:is_hs:是否沪深
转载
2023-12-09 18:57:51
0阅读
Q:两个有序数组合并成一个有序数组def merge_sort(a, b):
ret = []
i = j = 0
while len(a) >= i + 1 and len(b) >= j + 1:
if a[i] <= b[j]:
ret.append(a[i])
i += 1
转载
2023-11-15 18:50:00
80阅读
作者 | liuchungui我们的回测程序是用Python写的,因为使用Jupter Notebook显示结果非常方便。但是,最近在一次运行整个回测代码时,整整花了20分钟才出现结果。于是,我们打算好好优化一下。最终,性能提升10倍以上,耗时在1分29秒左右。优化流程我们优化主要分成两部分,第一部分是程序内部逻辑,第二部分是Python提速。所以,我们整个流程可以分成下面三步:第一步,
转载
2023-11-21 16:44:09
80阅读
对量化交易感兴趣的同学,对于回测系统肯定不陌生。以quantopian为蓝本的回测平台,国内已经一抓一把,那为什么还需要从头实现一个系统?而且,什么是“搭积木式实现策略”呢?对比现存的量化平台,实现如下价值:1,市面上量化系统引擎是黑盒(当然大部分是zipline——代码是开源的,但可读性一般),从头实现可以做到知其然更知其所以然。2,拥有自己的,代码易读性的系统,不用担心策略泄漏。3,提供一个构
转载
2023-09-14 15:39:00
115阅读
backtrader是基于Python的量化回测框架,功能丰富,操作方便。其优点是运行速度快,支持pandas的矢量运算;内置多种技术指标计算,还支持股票分析技术指标库talib;支持参数自动寻优运算;支持多品种(股票、期货、期权、外汇和数字货币)、多策略、多周期(Ticks、秒、分、日、周、月和年)的回测和交易;支持PyFlio、empyrica分析模块库、alphalens多因子分析模块库等;
转载
2023-10-09 23:58:51
40阅读
Python 测试代码通过测试,可确定代码面对各种输入都能够按要求的那样工作序员都会犯错,因此每个程序员都必须经常测试其代码,在用户发现问题前找出它们。1、测试函数:要学习测试,得有要测试的代码首先再当前目录下创建一个name_fun.py的文件,内容如下:def get_test_name(first, last):
"""测试名字的代码"""
full_name = first
转载
2024-05-29 11:43:16
130阅读
测试代码1.单元测试和测试用例 Python标准库中的模块unittest提供了代码测试工具。单元测试用于核实函数的某个方面没有问题;测试用例是一组单元测试,这些单元测试一起核实函数在各个情况下的行为都符合要求。良好的测试用例考虑了函数可能受到的各种输入,包含针对所有这些情形的测试。2.测试函数 直接看一个例子,下面是一个简单的函数,它接受包含中间名的外国姓名并返回整洁的姓名:def get_fo
转载
2024-02-19 18:38:26
62阅读
编写函数或类时,还可以为其编写测试。通过测试,可确定代码面对各种输入都能够按要求的那样工作。程序员都会犯错,因为每个程序员都必须经常测试其代码,在用户发现问题前找出它们。测试函数被测试的代码,下面是一个简单的函数name_function.py,它接受名和姓返回整洁的姓名:def get_formatted_name(first, last):
"""接受名和姓返回整洁的姓名"""
full_na
转载
2024-04-13 00:33:42
17阅读