自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

六月闻君

好好学习,自娱自乐

  • 博客(225)
  • 收藏
  • 关注

原创 Backtrader 量化回测实践(7)——在jupyter中执行bt的samples

Backtrader提供了大量的测试用例,在samples目录下,测试程序主要都是用argparse解析参数,但是不能在jupyter中直接执行。找到一个解决方法,可以方便在jupyter中执行samples中的示例。

2024-04-11 09:07:31 351

原创 Backtrader 量化回测实践(6)——量化回测评价工具Quantstats

quantstats主要有三个功能,对每个功能进行解读和测试,提供测试用例: 1.统计功能,计算各类性能指标,夏普率,胜率,波动率等; 2.绘图功能,可视化性能指标,最大回撤,滚动统计,月度回报率等; 3.报告功能,生成度量报告,批量绘图,创建HTML报告;

2024-04-09 10:29:57 998

原创 Windows下Oracle表死锁处理过程

在Windows下Oracle锁表后的处理过程,回顾Oracle锁的定义。

2024-04-07 15:26:22 973

原创 Backtrader 量化回测实践(5)—— Datafeed 增加列数据

在官网上的拓展示例是 GenericCSVData ,没有拓展pandas数据加载的示例,实际中数据库读取到pandas中,从pandas中加载到Cerebro中,需要解决pandas拓展Cerebro的数据加载的默认列。

2024-03-22 10:13:44 313

原创 Backtrader 量化回测实践(4)—— 投资组合股票回测同一策略

需要将一组股票作为一个投资组合,验证一个策略。观察操作是否具有一致性。比如在某一段时间,组合中的买卖操作,有一定的相似度。对所有股票依次做单独的策略回测,不好对比,不好直观验证策略的优劣。基于backtrader,编写多股票同时回测程序。以MACD简单策略演示。需要关注理解策略中的四个关键点 。

2024-03-15 08:50:56 652

原创 落入datetime.date 和 numpy.datetime64 的使用大坑

梳理 datetime.date / numpy.datetime64 / pandas.Timestamp 的特点,关系和区别 ,不同格式之间日期转换。

2024-03-08 10:53:30 1518

原创 Python遍历文件夹包括特定字符的文件名和路径

遍历文件夹和子文件夹,并找出文件名中包含特定字符串 。

2024-03-07 11:00:34 418

原创 用pandas高效合并文本文件

通过pandas合并两个文本文件,按文本文件中的字段进行合并,组合成新的文本文件。用pandas的 merge方法,简洁流畅,效率高。

2024-03-07 08:26:35 371

原创 DataFrame空值的判断和处理

DataFrame查询空值的判断和处理的问题,对dataframe的索引查询定位的理解有进了一步。

2024-03-06 09:47:04 991

原创 Backtrader 量化回测实践(3)—— 主要对象理解

在策略中使用的大部分数据形式:包括Indicator 、signal 、逻辑操作符、数学计算、切片访问的研究测试。重新回顾一下使用的主要对象,理解对象的性质,如何在实践中应用 。

2024-03-04 11:19:22 868

原创 Python使用pymysql和cx_Oracle插入数据的对比

使用Python向MySQL和Oracle数据库插入数据,常用的数据类型字符串,日期,数字,insert命令的拼接异同之处进行对比。

2024-02-29 07:58:59 494

原创 Python多层嵌套的dict递归解析

遇到多层嵌套的dict ,如何能解析为只有一维的dict ,方便后续数据处理。

2024-02-24 15:59:52 464

原创 mplfinance 使用make_addplot做复杂股票走势图

关于make_mpf_style()函数中的marketcolors参数。不是ndarray类型,直接把报错,折腾了半天才找到原因!

2024-02-22 15:04:11 1122

原创 Backtrader 量化回测实践(2)—— 16个主要K线形态定义(下)

K线图形中的趋势线和价格走势能够反映市场的整体趋势,比如是否处于上涨或下跌趋势中。用Backtrader做策略的时候,需要考虑K线形态,作为分析依据。K线的常用形态搜集整理如下:光头光脚大阳线、光头光脚大阴线、光头阳线、光头阴线、光脚阳线、光脚阴线、大阳线、大阴线、十字线、T字线、倒T字线、一字线。以上一共16个,应该是常见的K线主要形态。在策略中需要通过程序定义K线的形态,根据网上的介绍和定义,用dataframe分析定义形态。

2024-02-22 11:31:36 427

原创 Backtrader 量化回测实践(2)—— 16个主要K线形态定义(上)

K线图形中的趋势线和价格走势能够反映市场的整体趋势,比如是否处于上涨或下跌趋势中。用Backtrader做策略的时候,需要考虑K线形态,作为分析依据。K线的常用形态搜集整理如下:光头光脚大阳线、光头光脚大阴线、光头阳线、光头阴线、光脚阳线、光脚阴线、大阳线、大阴线、十字线、T字线、倒T字线、一字线。以上一共16个,应该是常见的K线主要形态。在策略中需要通过程序定义K线的形态,根据网上的介绍和定义,用dataframe分析定义形态。

2024-02-21 15:22:54 516

原创 Backtrader 量化回测实践(1)—— 架构理解和MACD/KDJ混合指标

按Backtrader的架构组织,整理了一个代码,包括了Backtrader所有的功能点,原来总是使用SMA最简单的指标,现在稍微增加了复杂性,用MACD和KDJ两个指标综合作为操作指标,因此买入卖出操作就比较少,还有就是买入的时候,采用了限价单,整个的交易频率不高,所以图示交易点比较少,也符合多看少动的交易理念。通过代码结合架构图,可以充分去理解整个Backtrader的功能设计思路,前面一个功能一个功能学习理解,现在把所有的功能综合在一起进行展示,小有成就感。

2024-02-20 14:31:41 967

原创 Backtrader 文档学习- 整体架构功能分析理解

backtrader是一个用于开发和执行交易策略的Python框架。它提供了一套完整的工具和功能,使得用户可以方便地进行策略回测、实盘交易以及数据分析。backtrader的入口为Cerebro类,该类将所有输入(Data Feeds)、策略 (Strategy)、观察者(Observers)、策略评估(Analyzers) 、经纪人(Broker)、订单(Order)、交易(Trade)和日志记录(Writers)整合起来,实现回测以及交易,并返回结果和图表。

2024-02-18 11:39:52 1244

原创 交易中的胜率和盈亏比估算

通过胜率和盈亏比定义,模拟计算实际交易中的两个指标的影响。

2024-02-12 18:46:22 492

原创 Backtrader 文档学习- Plotting -Plotting on the same axis

在同一轴上绘图

2024-02-08 15:29:35 562

原创 Backtrader 文档学习- Plotting - Plotting Date Ranges

BT可以使用策略实例中保留完整长度的时间戳数组的索引,也可以使用实际的datetime.date 或datetime.datetime 实例来限制需要绘制时间段范围数据。

2024-02-08 14:25:44 531 1

原创 Backtrader 文档学习- Plotting

plot 绘图功能,绘图选项参数,控制对象的参数,plotscheme 对象。

2024-02-08 12:15:53 1102

原创 Backtrader 文档学习- Sizers

介绍Sizer对象,从Cerebro和Strategy中可以重定义,将Sizer用于仓位控制,重写Sizer方法。Sizer的参数说明。

2024-02-06 14:56:19 950

原创 Backtrader 文档学习- Observers - Reference

Observers - Reference参考10个方法:Benchmark,Broker,BuySell,DrawDown,TimeReturn,Trades,LogReturns,LogReturns2,FundValue,FundShres

2024-02-06 10:28:31 987

原创 Backtrader 文档学习- Observers - Benchmarking

Observers 观察者用于跟踪交易执行的情况,和 Analyzers 分析器的主要区别:Observers 的lines特性,它记录每个值,更适合绘图和实时查询,当然会消耗更多的内存。Analyzers 通过get_analysis方法返回一组结果,实现可能不会在运行结束之前提供任何结果,所以Analyzers记录最终结果,内存消耗小。Observers 按时间周期,投资组合/单个数据源 ,对比交易效果的示例。

2024-02-05 16:08:49 1021

原创 Backtrader 文档学习- Observers

backtrader示例图表都有三个默认绘制的东西, 现金和价值(经纪人中的资金情况) 交易(也称为操作) 买入/卖出订单 。

2024-02-04 17:32:34 887

原创 Backtrader 文档学习-Indicators- TA-Lib

即使BT提供的内置指标数量已经很多,开发指标主要是定义输入、输出并以自然方式编写公式,还是希望使用TA-LIB。原因:指标X在指标库中,而不在BT中 TA-LIB众所周知的,人们信任口碑好应需要BT提供了TA-LIB集成,但是BT和TA之间的指标还是略有差别。

2024-02-04 15:44:17 1100

原创 Backtrader 文档学习- Analyzers - Analyzers Reference(下)

分析器的分析指标,年度回报率,卡尔玛比率,最大回撤,资金杠杆,仓位资金,组合投资值等,是对策略的效果评估参数。方法说明,每个分析指标的测试用例,值得学习和理解。最后是如何带参数调用的测试。

2024-02-02 10:32:07 953

原创 Backtrader 文档学习- Analyzers - Analyzers Reference(上)

分析器的分析指标,年度回报率,卡尔玛比率,最大回撤,资金杠杆,仓位资金,组合投资值等,是对策略的效果评估参数。方法说明,每个分析指标的测试用例,值得学习和理解。

2024-02-01 16:58:30 1000

原创 Backtrader 文档学习- Analyzers - PyFolio

自2017-07-25开始,pyfolio APIs发生了变化,create_full_tear_sheet不再将gross_lev作为命名参数。 因此集成的示例不起作用 。就是 PyFolio 和 PyFolio Integration 中的示例都不能正常运行。

2024-02-01 11:19:00 406

原创 Backtrader 文档学习- Analyzers

analyser 分析器,分析交易系统表现,不仅是否仅获得利润,还是以高风险获得利润,或者与参考资产(或无风险资产)。与Strategy紧密结合,使用的架构方法基本相同。内存方面开销不大,因为即使在分析了数千个价格bar之后,在内存中只保留一个结果。

2024-02-01 10:28:01 966

原创 Backtrader 文档学习- Broker - Trade

跟踪交易的生命周期:仓位大小、价格、佣金(和价值), 交易从0开始,可以增加和减少,如果回到0,可以认为交易已平仓。 交易可以是多头(正大小)或空头(负大小)交易仅提供信息,没有用户可调用的方法 。

2024-01-31 14:18:20 394

原创 Backtrader 文档学习- Broker - Position

在backtrader中,Position对象是由Strategy对象创建的,用于跟踪策略的持仓。仓位表示: 持有size的资产, 平均价格为price

2024-01-31 14:01:18 423

原创 Backtrader 文档学习- Broker - Fillers

当使用交易量进行订单执行时,backtrader的模拟broker具有默认策略: 忽略交易量 ,broker可以接受Volume Fillers,filler确定在给定时间点上必须使用多少成交量进行订单匹配,更符合实际操作时考虑的重要因素。broker除了考虑价格因素外,还可以考虑volume成交量作为交易的依据,如果达到订单要求的成交量值或比例,才能够成交。

2024-01-31 13:23:31 926

原创 Backtrader 文档学习- Broker - Cheat-On-Open

Cheat on Open在系统中激活一个额外的循环,该循环调用策略中的方法next_open、nextstart_open和prenext_open。如果cheat-on-open = False,则订单将在前一天结束时发布,并将与下一个传入价格(即开盘价格)匹配如果cheat-on-open = True,则订单将在执行当天发布。因为订单是在经纪人评估订单之前发布的,所以它也将与下一个传入价格(即开盘价格)匹配。

2024-01-31 09:52:21 907

原创 Backtrader 文档学习- Broker - Slippage

测试滑点的关键参数作用,通过示例演示,以百分比滑点参数为主,配合slip_open , slip_out ,no-slip_match参数演示效果。

2024-01-30 15:14:41 896

原创 Backtrader 文档学习-Broker

介绍broker 的类继承,以及broker的属性参数和方法。

2024-01-30 10:42:27 895

原创 Backtrader 文档学习-Order StopTrail(Limit)

StopTrail订单,它是一种追踪止损订单。当市场价格朝定义的交易方向移动时,StopTrail订单会自动调整止损价,以便保护您的利润。当市场价格达到您的止损价格时,订单将被触发并执行。类似于追踪止盈的概念。

2024-01-29 11:15:57 892

原创 Backtrader 文档学习-Bracket Orders

组合订单类型是一个非常宽泛的订单类别,只要brokder支持的订单类型都可以,这些类型包括(Market, Limit, Close, Stop, StopLimit, StopTrail, StopTrailLimit, OCO)。主要用于止损和止盈。

2024-01-26 13:55:30 974

原创 Backtrader 文档学习-Order OCO orders

主要是可以使用订单组的管理策略,使用订单组策略,则一组订单中,有一个符合条件的订单成交,订单组中其他的订单就自动被取消。

2024-01-25 10:07:04 997

原创 Backtrader 文档学习-Target Orders

sizer不能决定操作是买还是卖,意味着需要一个新的概念,通过增加小智能层可以决定买卖,即通过持仓份额可以决定买卖操作。这就是策略中order_target_xxx方法族的作用。受zipline的方法的启发,提供了简单指定最终target的机会,target实现:- size 特定资产组合中的股票、合同数量- value 投资组合中资产的货币单位价值- percent 投资组合中资产价值的百分比(来自当前投资组合)

2024-01-24 10:49:03 882

Backtrader 文档学习-Target Orders

Value 计算方法,用Excel模拟

2024-01-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除