-
python 加速方法_用 Python 做策略回测,耗时很长,有什么加速办法?
2020-12-11 04:15:06刚刚优化完自己的策略和回测程序,正好来回答一下1,升级硬件,双路服务器架构,从i7-9700K 升级到双路金牌8180M性能大概能提高7-8倍性能。能用钱解决的问题真比优化代码简单暴力多了。2,使用 Parallel库和Ray库...刚刚优化完自己的策略和回测程序,正好来回答一下
1,升级硬件,双路服务器架构,从i7-9700K 升级到双路金牌8180M性能大概能提高7-8倍性能。能用钱解决的问题真比优化代码简单暴力多了。
2,使用 Parallel库和Ray库进行并行计算和分布式并行计算。
Parallel(n_jobs=max_usage_of_cores)(delayed(回测函数)(codelist,
frequency,
model_account,
portfolio_batch,
verbose) for frequency,
verbose,
model_account,
portfolio_batch,
codelist in codelist_grouped)
可以简单实现并发回测,同时回测CPU核心数量的标的。
3,尽量少用Pandas.DataFrame,多用numpy,非用不可的情况下少用loc,iloc赋值,多用at.,iat。尽量不要用Dataframe.Apply处理复杂函数,这里可以发掘出大概10倍性能。
4,Numba,cython重写部分模块,注意需要在函数调用时将Dataframe转为numpy和做变量声明减少LLVM推导参数类型,这里大概可以提高6-7倍性能。
5,计算指标使用向量计算,& | ~ 是向量的and or not计算,可以同时用于ndarray和dataframe,这里比for循环可以提高大概60~70倍速度。
6,尝试不同的回测引擎,Zipline和Backtrader,检查测试选择最快的,这里可以提高大约2-3倍性能,这部分我不太推荐自己写cyhton,因为金融计算夏普率年化统计滑点手续费都是比较严谨的,拥有大量的公式和处理,自己写计算结果容易和这种成熟框架的不一致。这里要调整会花费大量的时间。
-
2019 与我的技术之路
2020-12-09 05:17:58不过最终在实际项目中使用的是安卓和 iOS 双平台均支持的 DSBridge: <a href="https://github.com/wendux/DSBridge-Android">DSBridge-Android <a href="https://github.com/wendux/DSBridge-IOS">DSBridge-IOS</a>... -
4.3.7 这样的a.hashcode() 有什么用,与a.equals(b)有什么关系。 4.3.8 有没有可能2个不相等的对象有相同的hashcode。 4.3.9 Java中的HashSet内部是如何工作的。 4.4.0 什么是序列化,怎么序列化,为什么序列化,...
-
计算机网络常见问题解答
2010-06-07 08:19:11问题4-11:有的书(如[COME06])将IP地址分为前缀和后缀两大部分,它们和网络号字段及主机号字段有什么关系? 问题4-12:IP地址中的前缀和后缀最大的不同是什么? 问题4-13:IP数据报中的数据部分的长度是可变的(即... -
清华大学的计算机网络课件
2010-03-26 11:11:56问题3-11:在连续ARQ协议中,如果A向B发送数据帧而B只向A发送确认帧(即假定B没有数据帧向A发送),那么这两种帧的序号序列各有什么特点? 问题3-12:在连续ARQ协议中,如果B收到A发送的数据帧的序号没有落在B的接收... -
网吧维护技术资料 合集
2007-10-25 15:53:489324 网吧维护\资料\WINXPPRO优化设置~希望能对用XP的网管有帮助!.TXT 23127 网吧维护\资料\WINXP中系统服务的详细说明和可被禁用的服务对照表.TXT 11873 网吧维护\资料\WINXP优化之路 让WINXP和WIN98一样快.TXT ... -
windowsnt 技术内幕
2014-04-09 20:47:17多链路协议简介 理解RAS协议 理解RAS NETBIOS网关 理解TCP/IP和NWLINK路由器 RAS安全性简介 回叫验证简介 第三方安全主机简介 理解RAS安装 配置RAS服务 为RAS配置TCP/IP 为RAS配置IPX 为RAS配置NETBEUI TAPI简介 ... -
疯狂的程序员
2012-07-18 18:05:32既然没有电脑,那要电脑着有什么用呢?还占着地方。唯一不同的是寝 室里的一个人――和别的不一样,这间寝室有个不属于这个班的人――他叫王江。 王江他特别,不仅因为他不是这班的,还因为他吹的牛皮很特别。 大一... -
主板与CPU的搭配
2014-01-17 20:22:42875P最大的特点是支持800MHz前端总线、双通道内存技术和超线程技术,此外,875芯片组具备的PAT技术能够优化信号在北桥和内存之间的传输效率,而且该功能能够在各种外频下工作,对提高系统效能有一定的帮助。... -
阿里五年老员工有什么话想对大家说? 从毕业到技术专家我做了啥 50天全网2W粉,感谢坚持! MacBook Pro 入手一年了,到底香不香? 【互联网寒冬】经历裁员,拿20W被迫去大厂 【相亲】95年高颜值妹子,喜欢上进的男生...
-
-
asp.net知识库
2015-06-18 08:45:45ASP.NET 2.0:弃用 DataGrid 吧,有新的网格控件了! ASP.NET2.0控件一览---标准控件(1) ASP.NET2.0控件一览---标准控件(2) ASP.NET 2.0中使用webpart系列控件 ASP.NET 2.0 中实现跨页提交 新控件、管理外观、布局及... -
-
深入理解计算机系统(中文版)
2014-03-05 22:49:05通过掌握程序是如何映射到系统上,以及程序是如何执行的,读者能够更好的理解程序的行为为什么是这样的,以及效率低下是如何造成的。粗略来看,计算机系统包括处理器和存储器硬件、编译器、操作系统和网络互连环境。... -
-
PCI.EXPRESS系统体系结构标准教材.pdf
2013-02-17 16:21:1611.2.2 多路复用器(mux)和多路复用器控制逻辑 11.2.3 字节拆分(可选) 11.2.4 扰频器 11.2.5 8b/10b编码 11.2.6 并行到串行转换器(串行器) 11.2.7 差动发送驱动器 11.2.8 发送器(tx)时钟 11.2.9 发送逻辑的其他主题 ... -
大话数据结构
2019-01-10 16:35:22类似的很多软件,比如word、photoshop等,都有撤消(undo)的操作,也是用栈这种思想方式来实现的。 4.2.1栈的定义 89 4.2.2进栈出栈变化形式 90 4.3栈的抽象数据类型 91 4.4栈的顺序存储结构及实现 92 4.4.1栈的... -
大话数据结构 程杰
2018-09-01 10:06:43类似的很多软件,比如word、photoshop等,都有撤消(undo)的操作,也是用栈这种思想方式来实现的。 4.2.1栈的定义 89 4.2.2进栈出栈变化形式 90 4.3栈的抽象数据类型 91 4.4栈的顺序存储结构及实现 92 4.4.1栈的... -
大话数据结构(中文高清版)
2017-04-19 11:57:094.2 栈的定义 89 类似的很多软件,比如Word、Photoshop等,都有撤消(undo)的操作,也是用栈这种思想方式来实现的。 4.2.1 栈的定义 89 4.2.2 进栈出栈变化形式 90 4.3 栈的抽象数据类型 91 4.4 栈的顺序存储结构... -
大话数据结构-程杰
2014-07-13 23:45:52类似的很多软件,比如Word、Photoshop等,都有撤消(undo)的操作,也是用栈这种思想方式来实现的。 4.2.1 栈的定义 89 4.2.2 进栈出栈变化形式 90 4.3 栈的抽象数据类型 91 4.4 栈的顺序存储结构及实现 92 ... -
大话数据结构三个版本
2018-09-10 09:39:38类似的很多软件,比如word、photoshop等,都有撤消(undo)的操作,也是用栈这种思想方式来实现的。 4.2.1栈的定义 89 4.2.2进栈出栈变化形式 90 4.3栈的抽象数据类型 91 4.4栈的顺序存储结构及实现 92 4.4.1栈的... -
-
《大话数据结构》( 程杰 编著)
2018-02-15 10:00:21类似的很多软件,比如word、photoshop等,都有撤消(undo)的操作,也是用栈这种思想方式来实现的。 4.2.1栈的定义 89 4.2.2进栈出栈变化形式 90 4.3栈的抽象数据类型 91 4.4栈的顺序存储结构及实现 92 4.4.1栈的... -
1. 为什么有这个表 作为开发者其实比较好奇其他人在做什么业余项目(不管目的是做到盈利/玩票/试试看) 所以特意建了这个库。欢迎各位开发者把自己的项目加进来~ 发 Pull Request 或 Issue 即可 (入选标准:必须是...
-
-
-
网路岗7.03.35官方原版破解
2011-10-26 14:09:57NAT 与防火墙或代理服务器不同,但它确实有利于安全。 跨VLAN/单网段/多网段 VLAN,是英文Virtual Local Area Network的缩写,中文名为"虚拟局域网", VLAN是一种将局域网(LAN)设备从逻辑上划分(注意,不是从... -
C#微软培训教材(高清PDF)
2009-07-30 08:51:174.2 引 用 类 型 .33 4.3 装箱和拆箱 .39 4.4 小 结 .42 第五章 变量和常量 .44 5.1 变 量 .44 5.2 常 量 .46 5.3 小 结 .47 第六章 类 型 转 换 .48 6.1 隐式类型转换 .48 6.2 显式类型转换 .53 ... -
C#微软培训资料
2014-01-22 14:10:174.2 引 用 类 型 .33 4.3 装箱和拆箱 .39 4.4 小 结 .42 第五章 变量和常量 .44 5.1 变 量 .44 5.2 常 量 .46 5.3 小 结 .47 第六章 类 型 转 换 .48 6.1 隐式类型转换 .48 6.2 显式类型转换 .53 ... -
java Io流共涉及40多个类,这些类看上去很杂乱,但实际上很有规则,而且彼此之间存在非常紧密的联系, Java Io流的40多个类都是从如下4个抽象类基类中派生出来的。 InputStream/Reader: 所有的输入流的基类,前者是...