- 博客(842)
- 资源 (9)
- 问答 (2)
- 收藏
- 关注
原创 如何使用backtrader进行资金费率策略回测
本文介绍了如何使用backtrader进行资金费率策略回测, 主要是使用了资金费率的计算方法, 以及如何使用自定义的资金费率类。从回测结果来看,2023年之后资金费率策略表现并没有前几年那么好, 可能是因为使用资金费率套利策略的人太多了,导致资金费率策略逐渐失效。可以尝试一下把交易费用去掉,这收益率基本上就逆天了。手续费把大部分收益给吞噬掉了,策略里面移仓的时候处理逻辑有一些可以改进的地方,这样总体上交易费用会降低一些。总体而言,简单的资金费率策略并不好用了,需要在这个基础上进行改进。
2024-12-24 11:00:47
82
原创 腾讯云服务器到期网站迁移到新服务器参考指南
如果是使用的腾讯云服务器,在云解析DNS中,需要把旧的域名解析给暂停了,然后把域名解析增加到新的服务器的IP上,这样等一会就可以使用新的域名访问了。使用下面的代码,更换自己的username,database_name为woniunote的数据库名,enter之后输入密码。使用下面的代码,更换自己的username,database_name为woniunote的数据库名,enter之后输入密码。使用下面的代码,更换自己的username,database。
2024-11-10 09:26:08
336
原创 pandas数据处理高级系列003---什么是交叉表(Cross Tabulation)以及pandas如何生成
做ab测试的时候遇到了一个新的知识点,交叉表以及如何用pandas生成交叉表,也称为列联表(Contingency Table),是一种用于统计分析的表格,用于显示两个或多个分类变量之间的频率分布。交叉表可以帮助我们理解变量之间的关系,并进行进一步的统计分析,如卡方检验(Chi-Square Test)、相关性分析等。
2024-11-03 15:58:20
577
原创 pandas数据处理高级系列002---计算相关性并画热力图
corr.style:将相关性矩阵 corr 转换为 Styler 对象,允许对 DataFrame 进行样式化操作。.background_gradient(axis=None):使用背景颜色渐变来可视化相关性矩阵。表示对整个矩阵应用渐变,而不是按行或列应用。
2024-11-01 18:44:53
262
原创 【88 backtrader期货策略】一个基于螺纹钢和铁矿5分钟K线数据的跨品种日内套利策略回测
这是参考其他量化框架的跨品种套利策略并进行修改逻辑后实现的一个交易策略。花了小半天时间,核对了策略逻辑的细节,两者的资金曲线基本是可以对齐了。
2024-07-06 16:17:33
1094
1
原创 【87 backtrader期权策略】基于50ETF期权的covered-call-strategy
前段时间有读者希望能够实现一个期权策略的模板,这段时间通过akshare下载了期权的数据,并进行了清洗,写了一个最简单的期权策略,供大家参考。
2024-06-30 22:22:42
742
3
原创 【答读者问58】用backtrader实现一个基于高开低收之外的自定义数据实现的基本交易策略
链接: https://pan.baidu.com/s/1QbAn6MvkikxmDdwd3WUoMA?pwd=15gd 提取码: 15gd 复制这段内容后打开百度网盘手机App,操作更方便哦。策略逻辑存在一些很大的问题,感兴趣的童鞋们可以研究找一找哈,在下一篇文章中会更新这个策略逻辑中存在的问题。
2024-05-01 17:23:00
628
原创 修复cython使用的bug,在mac上实现了编译,整理了cython和numba等加速文件,提供了一键编译
各位读者,这个专栏已经很久没有更新了,经历了近一年的cpp的学习,并且用python手撸两个高频交易框架之后,对python代码越来越追求优雅、简洁、高效,目前我维护的这个backtrader版本在pycharm上有很多的警告、提醒,后续会陆续进行一些更新,减少警告和提醒。鉴于我想要实现上面的目标,并且backtrader的原作者已经很久不再更新和维护backtrader了,并且我对自己的编程能力也有一定的信心,在保持原有的写策略方式尽可能保持不变的情况下,后续会做一些比较大的改动。
2024-03-14 20:40:00
525
原创 腾讯云上linux系统使用nginx,flask构建个人网站SSL证书过期换证书的操作步骤
ssl证书过期的时候,一般腾讯云提前一段时间给通知,让更换ssl证书,现在一般都可以免费更换,一般是一年期的,审核通过之后,需要下载nginx版本的证书,我的是4个文件,替换到nginx/cert文件夹下。最开始只替换了证书,没有重启nginx,导致一直是证书过期,在谷歌等浏览器上打不开,原先一直一位是需要等几天,结果真正原因是需要重启一下。进入安装nginx的路径,输入`./nginx -s reload`进行重启。重启之后,重启flask程序,之后网站就可以正常访问了。
2024-01-20 23:13:19
675
原创 【TWS API 问题4】如何从IB中下载外汇、数字货币、股票、期货、期权的历史K线数据?
6. 打开tws,登录账号,然后在文件/全局配置/API/设置/启用ActiveX和套接客户端,选择这个,注意下面套接字端口号,一般模拟账号是7497,实盘账号是7496,这个在获取数据的时候,会使用到。下面就是具体的代码了,运行这些代码可以下载2个外汇和2个数字货币的数据,如果订阅了具体的数据源,可以下载股票、期货和期权的数据。注:这些代码中我调整了很多的不符合pep8规范的格式,仅仅测试了下载数据是没有问题的,如果用于下单,交易之类的,需要自行进行测试,实盘交易的时候盈亏自负。
2023-11-25 12:50:10
1226
原创 【86 backtrader实现crypto交易策略】backtrader和ccxt对接实现中低频自动化交易-01
这个周末尝试实现了backtrader和ccxt的对接,主要是参考了下面的。感兴趣可以尝试一下,我准备在okex上尝试实现。看看长期跑一跑怎么样。
2023-11-12 16:09:34
1642
3
原创 arrow(c++)改写empyrical系列1---用arrow读取基金净值数据并计算夏普率
用arrow c++版本读取了csv中的基金净值数据,然后计算了夏普率,比较尴尬的是,arrow c++版本计算耗费的时间却比python的empyrical版本耗费时间多。arrow新手上路,第一次自己去实现功能,实现的大概率并不是最高效的方式,但是我也踏出了用arrow c++改写backtrader的第一步。在同一个文件夹下,运行。
2023-10-19 19:58:11
1748
原创 【使用python和flask建个人博客】修复侧边栏最新文章、最多阅读等链接不能打开的问题
主要原因是原先的数据结构修改了,原先在last_articles中传回来的是article的实例,所以可以直接用row.article获取到文章的id,这次传入的数据结构是(文章id和文章实例)这样一个元组,所以把原先的代码进行稍微修改就好了。自从上次因版本兼容问题修改过部分代码之后,好长时间没光顾woniunote这个个人博客模块了,最近发文章的时候发现侧边栏的文章打不开,定位了bug,并进行了修复。
2023-10-15 13:41:13
1118
原创 【答读者问57】backtrader回测的时候出现nan值的时候如何解决
今天读者提供的一个案例还是比较罕见的,是因为输入数据的时候只包含了close列,没有datetime, open,high,low,volume这些常见的列,导致下单self.buy()的时候导致了缺少open列的数据,出现缺失值。下面的代码是读者提供的,看起来和backtrader官网上的入门案例比较类似,当年我写代码也写成这样,后来慢慢用的多了,就会有一些经验和感悟,在这篇代码后面提供了一些新的修改建议,就当是为我当年的自己写的吧,也希望更多使用backtrader做量化投研的朋友能够少走一些弯路。
2023-09-28 23:23:40
918
原创 0003号因子测试结果、代码和数据
这篇文章共分为四个部分:第一个部分是因子测试结果,第二个部分是因子逻辑,第三个部分是因子代码,第四个部分是整个因子测试用的数据、代码、分析结果的下载地址。
2023-09-10 09:46:08
738
原创 arrow的使用
pandas2.0引入了pyarrow作为可选后端,比numpy的性能提高很多,所以为了改造backtrader,用cython和c++重写整个框架,准备用arrow作为底层的数据结构(backtrader现在的底层数据结构是基于python array构建的)安装arrow推荐使用vcpkg。
2023-09-09 21:43:27
1352
1
原创 python高效使用方法05_numba_cython_c_cpp几种技术在优化python函数计算速度方面的对比
【代码】python高效使用方法05_numba_cython_c_cpp几种技术在优化python函数计算速度方面的对比。
2023-06-24 22:32:50
809
原创 【85 backtrader-cs因子测试的一些高级技巧-2】使用cython、c语言和c++加速某些函数的计算
中,使用了numba改进某些函数,实现加速,在这一篇文章中,尝试接着上一篇文章的主题,继续尝试用cython,c语言和c++尝试改进decayliear函数的计算速度。
2023-06-24 20:09:46
1126
2
原创 【答读者问56】backtrader如何输出持仓时候的每日收益率
有个读者咨询如何在运行策略之后,能够输出来特定的数据到csv文件中,比如持仓期间每个bar的收益率等相关信息?
2023-06-23 22:32:35
1496
原创 python高效使用方法04_dataframe和dict哪个占用的空间大?
今天碰到一个比较有意思的话题,就回来随手写个代码测试了一下。在没有测试之前,在心里面默默猜了一下,看起来是猜对了。
2023-06-21 20:35:44
859
原创 python高效使用方法03_pandas中的rolling.mean滚动求均值效率究竟如何?
先上图来说明pandas.rolling(n).mean()滚动求均值的方法效率其实并不是最高的,我自己尝试使用cython把滚动求均值的方法重新编译了一下,发现效率总体上是pandas的三倍以上。总结:pandas比较合适用于普通的研究分析工作,如果用到追求高效率的生产环境中,需要考虑要不要改写具体的函数。计算滚动平均的cython代码文件:cal.pyx。
2023-06-18 23:02:34
1589
原创 python高效使用方法02_np.where和np.select耗费时间对比
在np.where能够实现需求的情况下,尽可能使用np.where,当需要判断的条件比较多的情况下,考虑使用np.select。当数据量比较小的情况下,两者耗费的时间差不多。
2023-06-18 22:53:17
761
原创 python高效使用方法01:如何获取当前python文件所在的目录?
常见有两种方法可以获取当前运行的python文件所在的目录,我以前常用的是第一种方法。sys.path[0]:耗费时间为:5.970001802779734e-05。C:\python\python.exe D:\获取数据\测试函数.py。)):耗费时间为:0.002472100022714585。第一种方案耗费的时间是第二种方案的41.4倍。,发现效率有一些低下,可以考虑改进为。
2023-06-17 11:13:30
1712
原创 【85 backtrader-cs因子测试的一些高级技巧】使用numba加速某些函数的计算
实际上,还是可以考虑进一步优化的,但是现在这个水平,速度已经可以接受了。原先如果优化参数需要45个小时,现在差不多1小时就可以搞定了。这几行代码实现的,所以考虑采用numba优化这个算法。
2023-06-04 23:58:34
981
03、债券策略需要的数据.rar
2020-07-26
python forfinance---code
2017-01-19
珠心神算-最简洁的锻炼数学计算的小程序
2016-10-30
改写c++进行adf检验的函数代码
2024-07-17
使用python编写一个函数,能够根据均值、标准差、偏度和峰度生成n个随机数
2022-10-12
如何把网站和某些关键字进行绑定?
2022-03-18
TA创建的收藏夹 TA关注的收藏夹
TA关注的人