编写简单策略上节介绍了Backtrader量化回测平台的安装和运行,这一节将编写简单的策略,使用Backtrader,用于策略研究模板的参考。数据来源选用具有ohlc格式的数据即可,这里使用的是股指期货IF在min级别的数据,如图所示,不包含成交量信息也可以回测,但是显示时无法使用cerebro.plot(style=“candlestick”),会报错。这里需要注意数据格式保持一致,backtr
# Python期货策略回测:从理论到实践
在金融市场中,策略回测是一种至关重要的方法,它能让交易者在真实交易前检验其策略的有效性。尤其是在期货交易中,由于其高风险及高波动性,回测的重要性愈发凸显。本文将会介绍如何使用Python进行期货策略回测,并提供相应的代码示例。
## 期货策略回测的基本概念
期货策略回测,顾名思义,就是对期货交易策略进行历史数据验证的过程。该过程允许交易者在过去的数
# Python期货回测框架探讨
随着金融市场的快速发展,量化交易已经成为许多投资者获取收益的重要手段。许多投资者都希望能够利用历史数据测试和优化他们的交易策略,这就是“回测”的意义。本文将介绍如何利用Python搭建一个简单的期货回测框架,并通过代码示例进行说明。
## 1. 期货回测的基本概念
在开始之前,我们需要了解几个基本概念:
- **回测(Backtesting)**: 在历史
原创
2024-10-05 06:11:33
565阅读
# Python期货回测数据获取的完整指南
在进行期货回测之前,首先需要获取相关的市场数据。对于刚入行的小白来说,这个过程可能显得有些复杂,但只要按着以下步骤进行,就能顺利完成数据获取。
## 一、流程概述
我们可以将整个数据获取过程分为以下几个步骤:
| 步骤 | 描述 |
|------|--------------------
原创
2024-10-01 05:47:37
121阅读
本次场外篇来介绍下传说中的backtraderbacktrader属于功能相对完善的本地版Python量化回测框架。既然业界好评如云,我们作为量化交易者理应集所有好用的工具于一身,就让我们来体验一下这个框架。backtrader的使用方法在官方文档上介绍的挺详细的。大体分为两步:创建一个策略,创建一个策略类,这个类要继承自backtrader.Strategy,然后就可以自定义里面的方法。策略类中
# 期货截面策略回测框架Python实现
在金融领域,期货交易是一种常见的投资工具,许多投资者和机构机构使用期货策略以期望从中获利。其中,截面策略(Cross-Sectional Strategy)是一种重要的投资策略:它通过比较不同期货合约的收益率、波动率等指标,寻找出未来表现可能优于市场平均水平的合约进行投资。本文将为大家介绍如何使用Python实现期货截面策略的回测框架,以及相关的代码示例
量化系统投入实际使用之前,人们会希望提前测试交易的效果。这个期间往往涉及代码的改动和参数的调整。最常见的做法是将历史数据输入量化系统,让量化系统根据既定的交易逻辑进行操作,观察和分析交易结果,找到问题所在,调整量化系统,然后以此循环,直到效果达到预期为止。
该过程在业界被称为回测。回测是量化工作者常见的工作内容之一。很遗憾的是,回测跟实盘交易永远存在差距
# 使用Python回测期货策略的库
在金融科技的发展中,量化交易逐渐成为投资者的重要手段之一。期货交易作为其中的一个重要部分,吸引了越来越多的交易者。因此,回测期货交易策略的重要性也越来越凸显。本文将介绍如何使用Python库进行期货策略的回测,并给出代码示例。
## 什么是回测?
回测是指在历史数据上测试交易策略的过程。它可以帮助我们判断一个策略在历史条件下的有效性,提高交易决策的科学性
原创
2024-09-26 08:47:21
583阅读
大家都知道开发程序化,是一个非常繁杂的工作,并且在策略实盘运行过程中,很难提供一个资金曲线进行查看,我开发了一款资金曲线分时图工具,可以将CTP账户的资金曲线绘制出来,方便检查实盘策略中的问题,调整策略。这个工具是基于上期的CTP API下载通过修改配置文件,支持多个账户的资金曲线绘制。只要是通过CTP,比如快期,文华等,无论是主观或者是程序化,都可以支持该账户的资金分
转载
2023-09-17 10:46:50
9阅读
我们把量化小工具的基础版本称为V0,该版本的股票行情页面中的股票名称只有4个,分别为开山股份、浙大网新、水晶光电、高鸿股份,如果同学们要添加自选股,只能在代码中添加。接下来我们把A股市场中全部的股票都添加到下拉框中去。此处使用Tushare Pro的stock_basic()接口,该接口获取上市的所有股票基础信息数据,包括股票代码、名称、上市日期、退市日期等。输入参数说明如下:is_hs:是否沪深
转载
2023-12-09 18:57:51
0阅读
PyUnit(unittest) 是 Python 自带的单元测试框架,用于编写和运行可重复的测试。PyUnit 是 xUnit 体系的一个成员,xUnit 是众多测试框架的总称,PyUnit 主要用于进行白盒测试和回归测试。通过 PyUnit 可以让测试具有持久性,测试与开发同步进行,测试代码与开发代码一同发布。使用 PyUnit 具有如下好处:可以使测试代码与产品代码分离。
转载
2023-12-13 05:55:14
62阅读
一、OHLCV:当天的开盘价(Open)、最高价(High)、最低价(Low)和收盘价(Close)。如果再加上这一个小时总的成交量(Volumn),就得到了 OHLCV 数据。使用 Zipline 进行策略回测,或者用 Pyfolio 进行投资组合分析。Quantopian,就提供了基于 Zipline 的标准回测环境。国内也有诸如 BigQuant、果仁网等类似平台,提供不同市场和金融产品的交
转载
2024-02-14 19:54:27
77阅读
通过Tushare和backtrader实现量化投资回测(tushare ID=418443)一.Tushare介绍二.安装Tushare三.backtrader介绍和安装四.编写代码1、初始化tushare,获取指定股票代码的股票历史数据。2、加载数据3、加载backtrader引擎,初始化投资金额4、增加策略5、布林线规则策略的具体实现6、输出回测结果并打印图形五.运行结果 一.Tushar
转载
2023-09-21 11:29:07
526阅读
2评论
一、什么是RSI策略?双均线策略的思想主要是根据长短周期 MA 指标的关系来判断买卖时机。基于 RSI 指标的策略主要是根据买卖双方力量之间的对比来判断买卖点。RSI 指标是通过一段时间价格变动情况来计算市场买卖力量的对比,从而推测未来价格变动的技术指标。当RSI大于80时,称为处于超买区,意味着未来价格可能会出现下跌;当RSI小于20时,称为处于超卖区,意味着未来价格可能会出现上涨。
转载
2023-06-12 17:28:00
426阅读
1引言目前基于Python的量化回测框架有很多,开源框架有zipline、vnpy、pyalgotrader和backtrader等,而量化平台有Quantopian(国外)、聚宽、万矿、优矿、米筐、掘金等,这些量化框架或平台各有优劣。就个人而言,比较偏好用backtrader,因为它功能十分完善,有完整的使用文档,安装相对简单(直接pip安装即可)。优点是运行速度快,支持pandas的矢量运算;
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阅读
导语彼得 林奇的PEG策略:
投资大师彼得·林奇(Peter Lynch)有过一个著名的论断:任何一家公司股票如果定价合理的话,市盈率就会与收益增长率相等PEG概念解析EPS(Earnings Per Share)表示每股收益(一般按年计算)EPS = \frac{increment per year}{stocknumbers}PE(Price to Earning Ratio)表示市盈率,是当
转载
2024-02-05 11:20:49
10阅读
海龟交易法作为最早的量化交易法,已经被利用了很多年了,我发现网络上有很多利用python进行海龟交易法回测的代码教程,而且都是先通过akshare库再通过均线组合的方式实现,但是其中大多会报错,小编找了很多很多,但是最后还是差强人意,因此有了下面的这些。希望对您有所帮助。我注释了一些需要注意的地方,其实这个均线策略是可以修改的,比如把10日和20日均线改成100日和200日,小编认为均线的具体选择
转载
2023-08-12 20:11:38
35阅读
测试代码1.单元测试和测试用例 Python标准库中的模块unittest提供了代码测试工具。单元测试用于核实函数的某个方面没有问题;测试用例是一组单元测试,这些单元测试一起核实函数在各个情况下的行为都符合要求。良好的测试用例考虑了函数可能受到的各种输入,包含针对所有这些情形的测试。2.测试函数 直接看一个例子,下面是一个简单的函数,它接受包含中间名的外国姓名并返回整洁的姓名:def get_fo
转载
2024-02-19 18:38:26
62阅读