- 博客(229)
- 收藏
- 关注
原创 MySQL 删除重复记录
SELECT语句复制表可能会遇到问题,因为这种操作会生成一个新的事务,而这个事务在复制环境中需要保持一致性。如果源表中包含有GTID信息的列,或者表结构中包含某些特性(如自动递增的ID),这种复制方式可能会影响GTID的一致性。一个表中有600多万数据,其中在字段ts_code和trade_date上有索引,根据ts_code和trade_date 综合查询,有17多万的重复记录。如果有足够的权限,并且在复制完成后能够确保GTID的一致性,可以在复制期间暂时禁用GTID。千万不能用 in 删除,太慢!
2024-07-19 16:46:47
285
原创 impdp导入数据ORA-39142: 版本号 5.1不兼容错误
源数据库12.2导出的dmp文件版本是5.1,目标数据库的版本12.1,dmp版本位4.1,因此在导入时出现ORA-39142: 版本号 5.1 不兼容。从源数据库中重新增加version参数的dump文件,再次导入到12.1的数据库中,开始导入数据正常,不再报错ORA-39142。估计原因是在导出的时候,统计信息就没有能够正常的导出,在导入的时候,就发生了致命错误。是索引的统计信息,可以暂时不予理会,数据和表结构能够正常导出,就可以了。
2024-06-28 20:00:44
385
原创 Backtrader 量化回测实践(7)——在jupyter中执行bt的samples
Backtrader提供了大量的测试用例,在samples目录下,测试程序主要都是用argparse解析参数,但是不能在jupyter中直接执行。找到一个解决方法,可以方便在jupyter中执行samples中的示例。
2024-04-11 09:07:31
413
原创 Backtrader 量化回测实践(6)——量化回测评价工具Quantstats
quantstats主要有三个功能,对每个功能进行解读和测试,提供测试用例: 1.统计功能,计算各类性能指标,夏普率,胜率,波动率等; 2.绘图功能,可视化性能指标,最大回撤,滚动统计,月度回报率等; 3.报告功能,生成度量报告,批量绘图,创建HTML报告;
2024-04-09 10:29:57
1842
原创 Backtrader 量化回测实践(5)—— Datafeed 增加列数据
在官网上的拓展示例是 GenericCSVData ,没有拓展pandas数据加载的示例,实际中数据库读取到pandas中,从pandas中加载到Cerebro中,需要解决pandas拓展Cerebro的数据加载的默认列。
2024-03-22 10:13:44
526
原创 Backtrader 量化回测实践(4)—— 投资组合股票回测同一策略
需要将一组股票作为一个投资组合,验证一个策略。观察操作是否具有一致性。比如在某一段时间,组合中的买卖操作,有一定的相似度。对所有股票依次做单独的策略回测,不好对比,不好直观验证策略的优劣。基于backtrader,编写多股票同时回测程序。以MACD简单策略演示。需要关注理解策略中的四个关键点 。
2024-03-15 08:50:56
1293
原创 落入datetime.date 和 numpy.datetime64 的使用大坑
梳理 datetime.date / numpy.datetime64 / pandas.Timestamp 的特点,关系和区别 ,不同格式之间日期转换。
2024-03-08 10:53:30
2180
原创 用pandas高效合并文本文件
通过pandas合并两个文本文件,按文本文件中的字段进行合并,组合成新的文本文件。用pandas的 merge方法,简洁流畅,效率高。
2024-03-07 08:26:35
396
原创 Backtrader 量化回测实践(3)—— 主要对象理解
在策略中使用的大部分数据形式:包括Indicator 、signal 、逻辑操作符、数学计算、切片访问的研究测试。重新回顾一下使用的主要对象,理解对象的性质,如何在实践中应用 。
2024-03-04 11:19:22
925
原创 Python使用pymysql和cx_Oracle插入数据的对比
使用Python向MySQL和Oracle数据库插入数据,常用的数据类型字符串,日期,数字,insert命令的拼接异同之处进行对比。
2024-02-29 07:58:59
516
原创 mplfinance 使用make_addplot做复杂股票走势图
关于make_mpf_style()函数中的marketcolors参数。不是ndarray类型,直接把报错,折腾了半天才找到原因!
2024-02-22 15:04:11
1410
原创 Backtrader 量化回测实践(2)—— 16个主要K线形态定义(下)
K线图形中的趋势线和价格走势能够反映市场的整体趋势,比如是否处于上涨或下跌趋势中。用Backtrader做策略的时候,需要考虑K线形态,作为分析依据。K线的常用形态搜集整理如下:光头光脚大阳线、光头光脚大阴线、光头阳线、光头阴线、光脚阳线、光脚阴线、大阳线、大阴线、十字线、T字线、倒T字线、一字线。以上一共16个,应该是常见的K线主要形态。在策略中需要通过程序定义K线的形态,根据网上的介绍和定义,用dataframe分析定义形态。
2024-02-22 11:31:36
484
原创 Backtrader 量化回测实践(2)—— 16个主要K线形态定义(上)
K线图形中的趋势线和价格走势能够反映市场的整体趋势,比如是否处于上涨或下跌趋势中。用Backtrader做策略的时候,需要考虑K线形态,作为分析依据。K线的常用形态搜集整理如下:光头光脚大阳线、光头光脚大阴线、光头阳线、光头阴线、光脚阳线、光脚阴线、大阳线、大阴线、十字线、T字线、倒T字线、一字线。以上一共16个,应该是常见的K线主要形态。在策略中需要通过程序定义K线的形态,根据网上的介绍和定义,用dataframe分析定义形态。
2024-02-21 15:22:54
717
原创 Backtrader 量化回测实践(1)—— 架构理解和MACD/KDJ混合指标
按Backtrader的架构组织,整理了一个代码,包括了Backtrader所有的功能点,原来总是使用SMA最简单的指标,现在稍微增加了复杂性,用MACD和KDJ两个指标综合作为操作指标,因此买入卖出操作就比较少,还有就是买入的时候,采用了限价单,整个的交易频率不高,所以图示交易点比较少,也符合多看少动的交易理念。通过代码结合架构图,可以充分去理解整个Backtrader的功能设计思路,前面一个功能一个功能学习理解,现在把所有的功能综合在一起进行展示,小有成就感。
2024-02-20 14:31:41
1402
原创 Backtrader 文档学习- 整体架构功能分析理解
backtrader是一个用于开发和执行交易策略的Python框架。它提供了一套完整的工具和功能,使得用户可以方便地进行策略回测、实盘交易以及数据分析。backtrader的入口为Cerebro类,该类将所有输入(Data Feeds)、策略 (Strategy)、观察者(Observers)、策略评估(Analyzers) 、经纪人(Broker)、订单(Order)、交易(Trade)和日志记录(Writers)整合起来,实现回测以及交易,并返回结果和图表。
2024-02-18 11:39:52
1969
原创 Backtrader 文档学习- Plotting - Plotting Date Ranges
BT可以使用策略实例中保留完整长度的时间戳数组的索引,也可以使用实际的datetime.date 或datetime.datetime 实例来限制需要绘制时间段范围数据。
2024-02-08 14:25:44
584
1
原创 Backtrader 文档学习- Sizers
介绍Sizer对象,从Cerebro和Strategy中可以重定义,将Sizer用于仓位控制,重写Sizer方法。Sizer的参数说明。
2024-02-06 14:56:19
1002
原创 Backtrader 文档学习- Observers - Reference
Observers - Reference参考10个方法:Benchmark,Broker,BuySell,DrawDown,TimeReturn,Trades,LogReturns,LogReturns2,FundValue,FundShres
2024-02-06 10:28:31
1014
原创 Backtrader 文档学习- Observers - Benchmarking
Observers 观察者用于跟踪交易执行的情况,和 Analyzers 分析器的主要区别:Observers 的lines特性,它记录每个值,更适合绘图和实时查询,当然会消耗更多的内存。Analyzers 通过get_analysis方法返回一组结果,实现可能不会在运行结束之前提供任何结果,所以Analyzers记录最终结果,内存消耗小。Observers 按时间周期,投资组合/单个数据源 ,对比交易效果的示例。
2024-02-05 16:08:49
1051
原创 Backtrader 文档学习- Observers
backtrader示例图表都有三个默认绘制的东西, 现金和价值(经纪人中的资金情况) 交易(也称为操作) 买入/卖出订单 。
2024-02-04 17:32:34
911
原创 Backtrader 文档学习-Indicators- TA-Lib
即使BT提供的内置指标数量已经很多,开发指标主要是定义输入、输出并以自然方式编写公式,还是希望使用TA-LIB。原因:指标X在指标库中,而不在BT中 TA-LIB众所周知的,人们信任口碑好应需要BT提供了TA-LIB集成,但是BT和TA之间的指标还是略有差别。
2024-02-04 15:44:17
1224
1
原创 Backtrader 文档学习- Analyzers - Analyzers Reference(下)
分析器的分析指标,年度回报率,卡尔玛比率,最大回撤,资金杠杆,仓位资金,组合投资值等,是对策略的效果评估参数。方法说明,每个分析指标的测试用例,值得学习和理解。最后是如何带参数调用的测试。
2024-02-02 10:32:07
1017
原创 Backtrader 文档学习- Analyzers - Analyzers Reference(上)
分析器的分析指标,年度回报率,卡尔玛比率,最大回撤,资金杠杆,仓位资金,组合投资值等,是对策略的效果评估参数。方法说明,每个分析指标的测试用例,值得学习和理解。
2024-02-01 16:58:30
1059
原创 Backtrader 文档学习- Analyzers - PyFolio
自2017-07-25开始,pyfolio APIs发生了变化,create_full_tear_sheet不再将gross_lev作为命名参数。 因此集成的示例不起作用 。就是 PyFolio 和 PyFolio Integration 中的示例都不能正常运行。
2024-02-01 11:19:00
448
原创 Backtrader 文档学习- Analyzers
analyser 分析器,分析交易系统表现,不仅是否仅获得利润,还是以高风险获得利润,或者与参考资产(或无风险资产)。与Strategy紧密结合,使用的架构方法基本相同。内存方面开销不大,因为即使在分析了数千个价格bar之后,在内存中只保留一个结果。
2024-02-01 10:28:01
1031
原创 Backtrader 文档学习- Broker - Trade
跟踪交易的生命周期:仓位大小、价格、佣金(和价值), 交易从0开始,可以增加和减少,如果回到0,可以认为交易已平仓。 交易可以是多头(正大小)或空头(负大小)交易仅提供信息,没有用户可调用的方法 。
2024-01-31 14:18:20
410
原创 Backtrader 文档学习- Broker - Position
在backtrader中,Position对象是由Strategy对象创建的,用于跟踪策略的持仓。仓位表示: 持有size的资产, 平均价格为price
2024-01-31 14:01:18
472
原创 Backtrader 文档学习- Broker - Fillers
当使用交易量进行订单执行时,backtrader的模拟broker具有默认策略: 忽略交易量 ,broker可以接受Volume Fillers,filler确定在给定时间点上必须使用多少成交量进行订单匹配,更符合实际操作时考虑的重要因素。broker除了考虑价格因素外,还可以考虑volume成交量作为交易的依据,如果达到订单要求的成交量值或比例,才能够成交。
2024-01-31 13:23:31
937
原创 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
927
原创 Backtrader 文档学习- Broker - Slippage
测试滑点的关键参数作用,通过示例演示,以百分比滑点参数为主,配合slip_open , slip_out ,no-slip_match参数演示效果。
2024-01-30 15:14:41
944
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人