自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

云金杞

Quant\Econometrician\Programmer\MFIn\CIIA\FRM\CFP

  • 博客(855)
  • 资源 (9)
  • 问答 (2)
  • 收藏
  • 关注

原创 python高效试用17---两个字符串组成一个新的字符串和两个字符串组成元组作为key哪个更高效

元组 ((str1, str2)):元组的哈希值是基于内部元素的哈希值计算的,不会创建新的字符串对象。字符串连接 (str1 + str2):会创建一个新的字符串对象,并计算哈希值。元组:由于 Python 内部对元组的哈希计算进行了优化,通常会更高效。字符串连接:需要额外的内存来存储新创建的字符串,并且哈希计算可能稍慢。

2025-03-11 22:56:23 228

原创 woniunote个人网站新增数学训练功能,免费开放试用

这个小功能不准备收费, 比较偏向公益性质, 如果后期使用的人比较多, 对服务器压力比较大, 需要收费来一起承担服务器成本, 也是象征性收费, 比如每个人每年10元之类的, 如果我个人服务器能够承担就不收费了。这个数学训练功能本来是我准备自用的,但是放了好久都生锈了. 正好最近更新网站,就把这个功能更新了一下,使得界面更加美观易用,并且增加了训练统计功能。网站: https://yunjinqi.top/math_train 主要分为两个界面:一个是训练界面,一个是用户界面。

2025-03-02 21:24:27 51

原创 python高效使用15---python的字典和json有什么异同点

python高效使用15---python的字典和json有什么异同点

2025-02-18 09:43:05 99

原创 python高效使用14---glob标准库的用法

根据模式返回文件列表。:返回一个迭代器,更节省内存。通配符?和[]用来匹配文件名中的任意字符。可以递归地查找子目录中的文件。glob是一个非常实用的模块,特别适合查找符合一定模式的文件集。

2025-02-18 09:41:48 227

原创 python高效使用13---pandas基于分位数等进行subset

这个包已经使用过很多年,而且也已经把函数过了几遍了,但是不得不说,还是得更进一步学习,不仅要写的高效,还要写的优雅,这也是使用python用的好的一个目标。

2025-02-18 09:39:59 210

原创 python高效使用12---list和set的异同点及常用操作

【代码】python高效使用12---list和set的异同点及常用操作。

2025-02-18 09:39:16 248

原创 python高效使用11-cython转化数据时使用内存指针会比从numpy转化成vector快3-10倍

在mac电脑上,测试速度是大约快3倍左右,在win电脑上,测试速度大约是快10倍左右。估计会随着系统和cpu会有浮动,但是从原理上来看,直接使用指针,避免数据转换,可以显著提高速度。今天晚上有些累,已经不想写cpp代码,搞量化系统了,水一篇文章,放松下心情。

2025-02-18 09:36:21 579

原创 python高效使用10_合并字典的6种方法对比

虽然实现一个功能,python有多种多样的实现方式,但是,可能存在一种最佳的方式,在特定场景中,尽可能使用这种方式进行操作。在下面的测试代码中,使用了6种合并字典的方法进行对比,各位猜一猜是哪种方法效率更高呢?这个结果有些意外,采用解包合并字典的方法居然比内置方法update效率还好一些。所以,对于小数据量的字典合并,尽可能采用。,或者采用update的方法。

2025-02-18 09:35:06 366

原创 python高效使用09_几种合并list的方法对比

这里采用了pytest-benchmark进行基准测试,测试的时候列表的值都是比较少的几个数,数据量很大的情况下没有测试。运行代码文件即可,会出现下面基准测试的结果,电脑配置不一样,可能会导致出现不一样的结果。在下面的代码中,列出了常见的5种合并list的方法,猜猜看,那种方法会更好?看起来确实是list的内置方法extend更加高效。

2025-02-18 09:33:55 267

原创 python高效使用08_self.a与self.params[‘a‘]哪个效率更高

【代码】python高效使用08_self.a与self.params['a']哪个效率更高。

2025-02-18 09:32:28 222

原创 python高效使用07_np.round和round的效率分析

【代码】python高效使用07_np.round和round的效率分析。

2025-02-18 09:31:15 172

原创 python高效使用06_while_True和while_1哪个效率更高

【代码】python高效使用06_while_True和while_1哪个效率更高。

2025-02-18 09:29:22 129

原创 python高效使用16---sort_values排序需要万分警惕的问题

python高效使用系列16

2025-02-15 11:36:03 913

原创 如何使用backtrader进行资金费率策略回测

本文介绍了如何使用backtrader进行资金费率策略回测, 主要是使用了资金费率的计算方法, 以及如何使用自定义的资金费率类。从回测结果来看,2023年之后资金费率策略表现并没有前几年那么好, 可能是因为使用资金费率套利策略的人太多了,导致资金费率策略逐渐失效。可以尝试一下把交易费用去掉,这收益率基本上就逆天了。手续费把大部分收益给吞噬掉了,策略里面移仓的时候处理逻辑有一些可以改进的地方,这样总体上交易费用会降低一些。总体而言,简单的资金费率策略并不好用了,需要在这个基础上进行改进。

2024-12-24 11:00:47 152

原创 腾讯云服务器到期网站迁移到新服务器参考指南

如果是使用的腾讯云服务器,在云解析DNS中,需要把旧的域名解析给暂停了,然后把域名解析增加到新的服务器的IP上,这样等一会就可以使用新的域名访问了。使用下面的代码,更换自己的username,database_name为woniunote的数据库名,enter之后输入密码。使用下面的代码,更换自己的username,database_name为woniunote的数据库名,enter之后输入密码。使用下面的代码,更换自己的username,database。

2024-11-10 09:26:08 406

原创 pandas数据处理高级系列003---什么是交叉表(Cross Tabulation)以及pandas如何生成

做ab测试的时候遇到了一个新的知识点,交叉表以及如何用pandas生成交叉表,也称为列联表(Contingency Table),是一种用于统计分析的表格,用于显示两个或多个分类变量之间的频率分布。交叉表可以帮助我们理解变量之间的关系,并进行进一步的统计分析,如卡方检验(Chi-Square Test)、相关性分析等。

2024-11-03 15:58:20 644

原创 pandas数据处理高级系列002---计算相关性并画热力图

corr.style:将相关性矩阵 corr 转换为 Styler 对象,允许对 DataFrame 进行样式化操作。.background_gradient(axis=None):使用背景颜色渐变来可视化相关性矩阵。表示对整个矩阵应用渐变,而不是按行或列应用。

2024-11-01 18:44:53 300

原创 【88 backtrader期货策略】一个基于螺纹钢和铁矿5分钟K线数据的跨品种日内套利策略回测

这是参考其他量化框架的跨品种套利策略并进行修改逻辑后实现的一个交易策略。花了小半天时间,核对了策略逻辑的细节,两者的资金曲线基本是可以对齐了。

2024-07-06 16:17:33 1199 1

原创 【87 backtrader期权策略】基于50ETF期权的covered-call-strategy

前段时间有读者希望能够实现一个期权策略的模板,这段时间通过akshare下载了期权的数据,并进行了清洗,写了一个最简单的期权策略,供大家参考。

2024-06-30 22:22:42 834 3

原创 【答读者问58】用backtrader实现一个基于高开低收之外的自定义数据实现的基本交易策略

链接: https://pan.baidu.com/s/1QbAn6MvkikxmDdwd3WUoMA?pwd=15gd 提取码: 15gd 复制这段内容后打开百度网盘手机App,操作更方便哦。策略逻辑存在一些很大的问题,感兴趣的童鞋们可以研究找一找哈,在下一篇文章中会更新这个策略逻辑中存在的问题。

2024-05-01 17:23:00 650

原创 修复cython使用的bug,在mac上实现了编译,整理了cython和numba等加速文件,提供了一键编译

各位读者,这个专栏已经很久没有更新了,经历了近一年的cpp的学习,并且用python手撸两个高频交易框架之后,对python代码越来越追求优雅、简洁、高效,目前我维护的这个backtrader版本在pycharm上有很多的警告、提醒,后续会陆续进行一些更新,减少警告和提醒。鉴于我想要实现上面的目标,并且backtrader的原作者已经很久不再更新和维护backtrader了,并且我对自己的编程能力也有一定的信心,在保持原有的写策略方式尽可能保持不变的情况下,后续会做一些比较大的改动。

2024-03-14 20:40:00 545

原创 腾讯云上linux系统使用nginx,flask构建个人网站SSL证书过期换证书的操作步骤

ssl证书过期的时候,一般腾讯云提前一段时间给通知,让更换ssl证书,现在一般都可以免费更换,一般是一年期的,审核通过之后,需要下载nginx版本的证书,我的是4个文件,替换到nginx/cert文件夹下。最开始只替换了证书,没有重启nginx,导致一直是证书过期,在谷歌等浏览器上打不开,原先一直一位是需要等几天,结果真正原因是需要重启一下。进入安装nginx的路径,输入`./nginx -s reload`进行重启。重启之后,重启flask程序,之后网站就可以正常访问了。

2024-01-20 23:13:19 731

原创 【TWS API 问题4】如何从IB中下载外汇、数字货币、股票、期货、期权的历史K线数据?

6. 打开tws,登录账号,然后在文件/全局配置/API/设置/启用ActiveX和套接客户端,选择这个,注意下面套接字端口号,一般模拟账号是7497,实盘账号是7496,这个在获取数据的时候,会使用到。下面就是具体的代码了,运行这些代码可以下载2个外汇和2个数字货币的数据,如果订阅了具体的数据源,可以下载股票、期货和期权的数据。注:这些代码中我调整了很多的不符合pep8规范的格式,仅仅测试了下载数据是没有问题的,如果用于下单,交易之类的,需要自行进行测试,实盘交易的时候盈亏自负。

2023-11-25 12:50:10 1323

原创 【86 backtrader实现crypto交易策略】backtrader和ccxt对接实现中低频自动化交易-01

这个周末尝试实现了backtrader和ccxt的对接,主要是参考了下面的。感兴趣可以尝试一下,我准备在okex上尝试实现。看看长期跑一跑怎么样。

2023-11-12 16:09:34 1770 3

原创 arrow(c++)改写empyrical系列1---用arrow读取基金净值数据并计算夏普率

用arrow c++版本读取了csv中的基金净值数据,然后计算了夏普率,比较尴尬的是,arrow c++版本计算耗费的时间却比python的empyrical版本耗费时间多。arrow新手上路,第一次自己去实现功能,实现的大概率并不是最高效的方式,但是我也踏出了用arrow c++改写backtrader的第一步。在同一个文件夹下,运行。

2023-10-19 19:58:11 1768

原创 【使用python和flask建个人博客】修复侧边栏最新文章、最多阅读等链接不能打开的问题

主要原因是原先的数据结构修改了,原先在last_articles中传回来的是article的实例,所以可以直接用row.article获取到文章的id,这次传入的数据结构是(文章id和文章实例)这样一个元组,所以把原先的代码进行稍微修改就好了。自从上次因版本兼容问题修改过部分代码之后,好长时间没光顾woniunote这个个人博客模块了,最近发文章的时候发现侧边栏的文章打不开,定位了bug,并进行了修复。

2023-10-15 13:41:13 1133

原创 【答读者问57】backtrader回测的时候出现nan值的时候如何解决

今天读者提供的一个案例还是比较罕见的,是因为输入数据的时候只包含了close列,没有datetime, open,high,low,volume这些常见的列,导致下单self.buy()的时候导致了缺少open列的数据,出现缺失值。下面的代码是读者提供的,看起来和backtrader官网上的入门案例比较类似,当年我写代码也写成这样,后来慢慢用的多了,就会有一些经验和感悟,在这篇代码后面提供了一些新的修改建议,就当是为我当年的自己写的吧,也希望更多使用backtrader做量化投研的朋友能够少走一些弯路。

2023-09-28 23:23:40 974

原创 0003号因子测试结果、代码和数据

这篇文章共分为四个部分:第一个部分是因子测试结果,第二个部分是因子逻辑,第三个部分是因子代码,第四个部分是整个因子测试用的数据、代码、分析结果的下载地址。

2023-09-10 09:46:08 752

原创 arrow的使用

pandas2.0引入了pyarrow作为可选后端,比numpy的性能提高很多,所以为了改造backtrader,用cython和c++重写整个框架,准备用arrow作为底层的数据结构(backtrader现在的底层数据结构是基于python array构建的)安装arrow推荐使用vcpkg。

2023-09-09 21:43:27 1384 1

原创 c++ switch case使用小案例

【代码】c++ switch case使用小案例。

2023-07-22 21:59:40 949

原创 python高效使用方法05_numba_cython_c_cpp几种技术在优化python函数计算速度方面的对比

【代码】python高效使用方法05_numba_cython_c_cpp几种技术在优化python函数计算速度方面的对比。

2023-06-24 22:32:50 831

原创 【85 backtrader-cs因子测试的一些高级技巧-2】使用cython、c语言和c++加速某些函数的计算

中,使用了numba改进某些函数,实现加速,在这一篇文章中,尝试接着上一篇文章的主题,继续尝试用cython,c语言和c++尝试改进decayliear函数的计算速度。

2023-06-24 20:09:46 1146 2

原创 【答读者问56】backtrader如何输出持仓时候的每日收益率

有个读者咨询如何在运行策略之后,能够输出来特定的数据到csv文件中,比如持仓期间每个bar的收益率等相关信息?

2023-06-23 22:32:35 1531

原创 python高效使用方法04_dataframe和dict哪个占用的空间大?

今天碰到一个比较有意思的话题,就回来随手写个代码测试了一下。在没有测试之前,在心里面默默猜了一下,看起来是猜对了。

2023-06-21 20:35:44 891

原创 python高效使用方法03_pandas中的rolling.mean滚动求均值效率究竟如何?

先上图来说明pandas.rolling(n).mean()滚动求均值的方法效率其实并不是最高的,我自己尝试使用cython把滚动求均值的方法重新编译了一下,发现效率总体上是pandas的三倍以上。总结:pandas比较合适用于普通的研究分析工作,如果用到追求高效率的生产环境中,需要考虑要不要改写具体的函数。计算滚动平均的cython代码文件:cal.pyx。

2023-06-18 23:02:34 1607

原创 python高效使用方法02_np.where和np.select耗费时间对比

在np.where能够实现需求的情况下,尽可能使用np.where,当需要判断的条件比较多的情况下,考虑使用np.select。当数据量比较小的情况下,两者耗费的时间差不多。

2023-06-18 22:53:17 785

原创 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 1734

原创 【85 backtrader-cs因子测试的一些高级技巧】使用numba加速某些函数的计算

实际上,还是可以考虑进一步优化的,但是现在这个水平,速度已经可以接受了。原先如果优化参数需要45个小时,现在差不多1小时就可以搞定了。这几行代码实现的,所以考虑采用numba优化这个算法。

2023-06-04 23:58:34 1010

原创 c语言编程练习题:7-207 机工士姆斯塔迪奥

【代码】c语言编程练习题:7-207 机工士姆斯塔迪奥。

2023-06-04 19:26:05 865

原创 c语言编程练习题:7-206 斯德哥尔摩火车上的题

【代码】c语言编程练习题:7-206 斯德哥尔摩火车上的题。

2023-06-04 19:24:22 989

03、债券策略需要的数据.rar

10年期国债收益率与五年期国债收益率的数据均来自英为财经。 10年期国债价格(全价)使用10年期国债期货价格指数代替; 5年期国债价格(全价)使用5年期国债期货价格指数代替;

2020-07-26

行为投资学手册.rar

行为投资学手册思维导图和笔记:一张晰图,一个xmind思维导图源文件。。。

2020-02-08

spss序列基本数据

spss序列基本数据

2017-03-08

python forfinance---code

Build real-life Python applications for quantitative finance and financial engineering

2017-01-19

statsmodels-0.8.0rc1-cp35-cp35-python安装包

statsmodels-0.8.0rc1-cp35-cp35-python安装包

2016-12-09

python写的计算小程序

可以锻炼数学

2016-11-15

python--easygui-0.97安装包

官方安装easygui的安装包,解压下载就可以。

2016-11-12

PyQt4---python安装spyder依赖包

安装spyder使用

2016-11-08

珠心神算-最简洁的锻炼数学计算的小程序

最近智商很捉急,就想着写一个小软件,没事锻炼一下数学的加减乘运算,提高一下自己思维的灵敏度。正好这周末学习autoit,就用这个写了一个小程序。 该软件代码实现了下列功能: 1、选择难易程度 设置了三个级别的难易程度, 初级计算10以内的加减乘 中级计算10-100区间的加减乘 高级计算100-1000之内的加减乘 2、设置每个程度计算多少次 初级 计算100次

2016-10-30

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

TA关注的人

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