1 # 根据缺口的模式选股买股票 2 ''' 3 -------------------------------------------- 4 1、总体回测前要做的事情 5 initialize(context) 6 1.1、设置策略参数 ----> 全局常量 7 1.2、设置中间变量 ----> 全局变量 8 1.3、设置回
backtrader简介 backtrader是基于Python量化回测框架,优点是运行速度快,支持pandas的矢量运算;支持参数自动寻优运算,内置了talib股票分析技术指标库;支持多品种、多策略、多周期的回测和交易;支持pyflio、empyrica分析模块库、alphalens多因子分析模
转载 2020-10-11 12:34:00
1932阅读
2评论
1.学习《深入浅出python量化交易交易实战》第一章记录学习过程中的代码和一些坑1.1 基础(名词解释)1.1.1 CAPM (Capital Asset Pricing Modal)beta 系数 用于表示某项资产的系统性风险factor investment 因子投资 在因子投资中,因子的定义就是那些可以量化的信号、特征或其他变量。Arbitrage pricing Theory, Apt三
本章节重点介绍了量化回测程序的实现,涵盖了回测参数和策略的设定,以及回测执行和结果分析的详细过程。通过BackTrader这一强大的开源库,我们可以方便地实现复杂策略的编写、回测和评估。在接下来的章节中,我们将继续探索如何将金叉死叉理论实际应用到量化交易策略中,并通过编写资金管理模块cash.py来进一步优化我们的交易系统。金叉,技术分析术语,发生于两条移动平均线的短期平均线上穿长期平均线的交点。这种现象通常表明短期内的购买力量开始超过长期的卖出力量,市场趋势可能开始转为上升。
转载 3天前
0阅读
实盘了两个月,5月份盈利14.34%,6月份亏损2.82%,整体表现尚可。实盘的策略是基于前面选股规则准确率计算的文章,
原创 2022-01-12 17:02:35
1194阅读
1点赞
## Python Backtrader: 一个强大的量化交易平台 ### 引言 随着科技的快速发展,量化交易成为了金融市场的一种重要策略。量化交易通过利用计算机技术和算法模型来分析市场数据,帮助交易员做出更加准确的决策。Python Backtrader是一个功能强大的Python量化交易库,它提供了丰富的工具和功能,方便用户进行策略开发、回测和实盘交易。本文将介绍Python Backtr
原创 2023-09-17 12:36:36
386阅读
main # -*- coding:utf-8 -*- #正常显示画图时出现的中文和负号 from pylab import mpl mpl.rcParams['font.sans-serif']=['SimHei'] import backtrader as bt import numpy as
转载 2020-10-11 14:18:00
987阅读
2评论
。。。
原创 2022-01-14 15:57:19
1068阅读
1点赞
本文将继续对backtrader的order进行介绍,具体介绍Limit订单的使用。选取平安银行(000001)2019年1月1日至2019年12月31日的日线数据进行回测。为了便于分析,回测过程中设置佣金为0,交易单位大小为100。执行规则在Limit订单创建时,会设置一个price和valid时间,如果超过valid时间订单仍未满足执行条件,订单就会过期被取消。在valid时间内,订单会按照下面描述的价格匹配规则判断订单是否会成交。价格匹配Limit订单使用K线4个价格点(Open/High/
原创 2022-01-17 15:29:53
699阅读
1点赞
在现实交易中,策略复杂多样。在backtrader中进行回测时,除了自定义Strategy子类以外,还可以通过各种order来辅助实现交易策略。order在backtrader中的作用在backtrader中,Cerebro是系统的控制核心,Strategy是用户的可操控
原创 2022-01-17 15:39:37
2282阅读
1点赞
本文基于backtrader的官方文档,对Strategy类的内容进行梳理。在backtrader中,Strategy类是用户制定回测策略的核心。我们可以用Strategy的各个方法来表示它的整个生命周期:孕育期——出生——儿童期——成年期——繁殖期——死亡。孕育期:init当实例化Strategy时,__init__方法将被调用。技术指标和一些其他的属性需要在这时候创建。例如:de...
原创 2022-01-17 15:40:15
779阅读
1点赞
本文主要包含以下三部分内容:backtrader的日志功能。backtrader的交易日历。backtrader的resample结果浅析。 日志功能可以通过下面的代码在backtrader中添加日志功能:cerebro.addwriter(bt.WriterFile, out = 'log.csv', csv = True)日志信息将被输出到工作目录下的log.csv文件中,输出内容包括:种子数
原创 2022-01-14 15:53:29
1670阅读
1点赞
本文将对backtrader的仓位管理进行介绍,具体以同时回测交易3只股票为例,查看每日仓位情况。 策略 买入条件:5日线金叉60日线 卖出条件:5日线死叉60日线 示例仓位信息输出的核心代码位于策略类的next的方法中:def next(self): for i, d in enumerate(self.datas): dt, dn = self.dateti
原创 2022-01-14 15:59:01
5060阅读
1点赞
本文将继续对backtrader的order进行介绍,具体介绍StopLimit订单的使用。选取平安银行(000001)2018年1月1日至2019年12月31日的日线数据进行回测。为了便于分析,回测过程中设置佣金为0,交易单位大小为100。这篇文章写作过程有些坎坷,因为发现backtrader在StopLimit订单实现过程中可能存在bug,已经在backtrader的官方社区发帖提问,目前尚未收到回复。本文将结合目前StopLimit订单的实现代码对其功能进行说明。执行规则在StopLimit订
原创 2022-01-17 15:29:50
731阅读
1点赞
本文将继续对backtrader的order进行介绍,具体介绍Stop订单的使用。选取平安银行(000001)2019年1月1日至2019年12月31日的日线数据进行回测。为了便于分析,回测过程中设置佣金为0,交易单位大小为100。执行规则在Limit订单创建时,会设置一个price和valid时间,如果超过valid时间订单仍未满足执行条件,订单就会过期被取消。在valid时间内,订单会按照下面描述的价格匹配规则判断订单是否会成交。价格匹配Limit订单使用K线4个价格点(Open/High/L
原创 2022-01-17 15:29:51
1052阅读
1点赞
本文将继续对backtrader的order进行介绍,具体介绍StopTrailLimit订单的使用。在backtrader的官方文档中,对StopTrailLimit的介绍一笔带过,只是提到StopTrailLimit和StopTrail订单区别仅是订单被触发后的表现不同,但实际上通过分析源代码可以发现StopTrailLimit订单与StopTrail订单区别还是比较大的。其中,是否指定参数中的price值,StopTrailLimit会产生大不相同的两种订单执行逻辑。目前还不知道这是backtra
原创 2022-01-17 15:29:55
950阅读
1点赞
# Python Backtrader Buy 指南 Backtrader是一个用Python编写的开源交易平台,可以帮助用户进行交易策略的回测和实盘交易。在Backtrader中,买入操作是交易策略中至关重要的一部分。本文将介绍如何在Backtrader中进行买入操作,并提供一个简单的代码示例。 ## Backtrader简介 Backtrader是一个功能强大且灵活的交易平台,可以用于开
原创 2024-05-10 07:13:29
103阅读
# Python A股 backtrader入门指南 ## 前言 Backtrader是一个用于回测交易策略的Python库,它具有灵活性高、易用性强的特点,适合量化交易研究和实践。在A股市场,利用Backtrader可以方便地测试和优化交易策略,提高投资效率。 本文将介绍如何使用Python A股 backtrader进行回测,并结合代码示例进行详细说明。 ## 安装backtrader
原创 2024-04-29 03:44:07
941阅读
流程图如下所示: ```mermaid graph LR A(开始) B[创建策略类] C[加载数据] D[初始化回测引擎] E[设定策略参数] F[运行回测] G[输出结果] H(结束) A --> B B --> C C --> D D --> E E --> F F --> G G --> H ``` # Python Backtrader 掘金 ## 一、背景介绍 ### 1.1
原创 2023-09-16 14:38:18
247阅读
python量化分析库 Backtrader入门之二这个系列的目的是一步步的从无到有的了解方式,了解bactrader的使用方式。通过这个系列课,就如何使用backtrader比较清楚。1.Backtrader的hello world。import backtrader as bt if __name__ == '__main__': cerebro = bt.Cerebro()
转载 2023-06-16 14:14:08
94阅读
  • 1
  • 2
  • 3
  • 4
  • 5