一副扑克牌的每张牌表示一个数(J、Q、K 分别表示 11、12、13,两个司令都表示 6)。任取4 张牌,即得到 4 个 1~13 的数,请添加运算符(规定为加+ 减- 乘* 除/ 四种)使之成为一个运算式。每个数只能参与一次运算,4 个数顺序可以任意组合,4 个运算符任意取 3 个且可以重复取。运算遵从一定优先级别,可加括号控制,最终使运算结果为 24。请输出一种解决方案的表达式,用括号表示运算
1引言目前基于Python的量化回测框架有很多,开源框架有zipline、vnpy、pyalgotrader和backtrader等,而量化平台有Quantopian(国外)、聚宽、万矿、优矿、米筐、掘金等,这些量化框架或平台各有优劣。就个人而言,比较偏好用backtrader,因为它功能十分完善,有完整的使用文档,安装相对简单(直接pip安装即可)。优点是运行速度快,支持pandas的矢量运算;
一、OHLCV:当天的开盘价(Open)、最高价(High)、最低价(Low)和收盘价(Close)。如果再加上这一个小时总的成交量(Volumn),就得到了 OHLCV 数据。使用 Zipline 进行策略回测,或者用 Pyfolio 进行投资组合分析。Quantopian,就提供了基于 Zipline 的标准回测环境。国内也有诸如 BigQuant、果仁网等类似平台,提供不同市场和金融产品的交
转载
2024-02-14 19:54:27
77阅读
通过Tushare和backtrader实现量化投资回测(tushare ID=418443)一.Tushare介绍二.安装Tushare三.backtrader介绍和安装四.编写代码1、初始化tushare,获取指定股票代码的股票历史数据。2、加载数据3、加载backtrader引擎,初始化投资金额4、增加策略5、布林线规则策略的具体实现6、输出回测结果并打印图形五.运行结果 一.Tushar
转载
2023-09-21 11:29:07
526阅读
2评论
我们把量化小工具的基础版本称为V0,该版本的股票行情页面中的股票名称只有4个,分别为开山股份、浙大网新、水晶光电、高鸿股份,如果同学们要添加自选股,只能在代码中添加。接下来我们把A股市场中全部的股票都添加到下拉框中去。此处使用Tushare Pro的stock_basic()接口,该接口获取上市的所有股票基础信息数据,包括股票代码、名称、上市日期、退市日期等。输入参数说明如下:is_hs:是否沪深
转载
2023-12-09 18:57:51
0阅读
PyUnit(unittest) 是 Python 自带的单元测试框架,用于编写和运行可重复的测试。PyUnit 是 xUnit 体系的一个成员,xUnit 是众多测试框架的总称,PyUnit 主要用于进行白盒测试和回归测试。通过 PyUnit 可以让测试具有持久性,测试与开发同步进行,测试代码与开发代码一同发布。使用 PyUnit 具有如下好处:可以使测试代码与产品代码分离。
转载
2023-12-13 05:55:14
62阅读
一、什么是RSI策略?双均线策略的思想主要是根据长短周期 MA 指标的关系来判断买卖时机。基于 RSI 指标的策略主要是根据买卖双方力量之间的对比来判断买卖点。RSI 指标是通过一段时间价格变动情况来计算市场买卖力量的对比,从而推测未来价格变动的技术指标。当RSI大于80时,称为处于超买区,意味着未来价格可能会出现下跌;当RSI小于20时,称为处于超卖区,意味着未来价格可能会出现上涨。
转载
2023-06-12 17:28:00
426阅读
作者 | liuchungui我们的回测程序是用Python写的,因为使用Jupter Notebook显示结果非常方便。但是,最近在一次运行整个回测代码时,整整花了20分钟才出现结果。于是,我们打算好好优化一下。最终,性能提升10倍以上,耗时在1分29秒左右。优化流程我们优化主要分成两部分,第一部分是程序内部逻辑,第二部分是Python提速。所以,我们整个流程可以分成下面三步:第一步,
转载
2023-11-21 16:44:09
80阅读
Q:两个有序数组合并成一个有序数组def merge_sort(a, b):
ret = []
i = j = 0
while len(a) >= i + 1 and len(b) >= j + 1:
if a[i] <= b[j]:
ret.append(a[i])
i += 1
转载
2023-11-15 18:50:00
80阅读
作者 | 不该相遇在秋天责编 | 程序员小吴前言本文全长 14237 字,配有 70 张图片和动画,和你一起一步步看懂排序算法的运行过程。预计阅读时间 47 分钟,强烈建议先收藏然后通过电脑端进行阅读。No.1 冒泡排序冒泡排序无疑是最为出名的排序算法之一,从序列的一端开始往另一端冒泡(你可以从左往右冒泡,也可以从右往左冒泡,看心情),依次比较相邻的两个数的大小(到底是比大还是比小也看你心情)。冒
# 实现“五分位收益计算 Python”教程
## 1. 整体流程
下面是实现“五分位收益计算 Python”任务的整体流程:
```mermaid
erDiagram
数据导入 --> 数据清洗
数据清洗 --> 数据分析
数据分析 --> 五分位收益计算
```
## 2. 数据导入
首先,我们需要导入数据,可以使用Pandas库中的read_csv函数来读取
原创
2024-04-09 04:17:21
64阅读
Python 测试代码通过测试,可确定代码面对各种输入都能够按要求的那样工作序员都会犯错,因此每个程序员都必须经常测试其代码,在用户发现问题前找出它们。1、测试函数:要学习测试,得有要测试的代码首先再当前目录下创建一个name_fun.py的文件,内容如下:def get_test_name(first, last):
"""测试名字的代码"""
full_name = first
转载
2024-05-29 11:43:16
130阅读
backtrader是基于Python的量化回测框架,功能丰富,操作方便。其优点是运行速度快,支持pandas的矢量运算;内置多种技术指标计算,还支持股票分析技术指标库talib;支持参数自动寻优运算;支持多品种(股票、期货、期权、外汇和数字货币)、多策略、多周期(Ticks、秒、分、日、周、月和年)的回测和交易;支持PyFlio、empyrica分析模块库、alphalens多因子分析模块库等;
转载
2023-10-09 23:58:51
40阅读
对量化交易感兴趣的同学,对于回测系统肯定不陌生。以quantopian为蓝本的回测平台,国内已经一抓一把,那为什么还需要从头实现一个系统?而且,什么是“搭积木式实现策略”呢?对比现存的量化平台,实现如下价值:1,市面上量化系统引擎是黑盒(当然大部分是zipline——代码是开源的,但可读性一般),从头实现可以做到知其然更知其所以然。2,拥有自己的,代码易读性的系统,不用担心策略泄漏。3,提供一个构
转载
2023-09-14 15:39:00
115阅读
海龟交易法作为最早的量化交易法,已经被利用了很多年了,我发现网络上有很多利用python进行海龟交易法回测的代码教程,而且都是先通过akshare库再通过均线组合的方式实现,但是其中大多会报错,小编找了很多很多,但是最后还是差强人意,因此有了下面的这些。希望对您有所帮助。我注释了一些需要注意的地方,其实这个均线策略是可以修改的,比如把10日和20日均线改成100日和200日,小编认为均线的具体选择
转载
2023-08-12 20:11:38
35阅读
测试代码1.单元测试和测试用例 Python标准库中的模块unittest提供了代码测试工具。单元测试用于核实函数的某个方面没有问题;测试用例是一组单元测试,这些单元测试一起核实函数在各个情况下的行为都符合要求。良好的测试用例考虑了函数可能受到的各种输入,包含针对所有这些情形的测试。2.测试函数 直接看一个例子,下面是一个简单的函数,它接受包含中间名的外国姓名并返回整洁的姓名:def get_fo
转载
2024-02-19 18:38:26
62阅读
编写函数或类时,还可以为其编写测试。通过测试,可确定代码面对各种输入都能够按要求的那样工作。程序员都会犯错,因为每个程序员都必须经常测试其代码,在用户发现问题前找出它们。测试函数被测试的代码,下面是一个简单的函数name_function.py,它接受名和姓返回整洁的姓名:def get_formatted_name(first, last):
"""接受名和姓返回整洁的姓名"""
full_na
转载
2024-04-13 00:33:42
17阅读
自己手工计算回测指标。
因为对前面计算回测指标的程序的准确性还有疑问,我决定再验证一次。验证的方法是找一个带数据的完整的程序,先实现其程序,再用它的数据和我的程序计算,对比一下二者的结果。在知乎上找到一篇,https://zhuanlan.zhihu.com/p/55425806 是用贵州茅台,工商银行和中国平安三只股票做回测。我照着其程序写了,计算结果
# Python五位回文数判断入门指南
回文数是指从前向后读和从后向前读都一样的数字。比如,12321就是一个回文数,而12345就不是。五位回文数判断就是需要我们判断一个五位数是否是一个回文数。本文将通过步骤和代码示例来教会你如何实现这个功能。
## 步骤流程
首先,我们需要明确实现的步骤。以下是一个简单的步骤流程表:
| 步骤 | 描述 | 代码
首先我们需要明白自动化测试框架更倾向于一种设计思想 ,这种思想指导工具的使用或者自研开发,并且不是只能使用仅仅一种框架,结合被测系统本身特性一般是选择多种测试框架的组合,来满足测试和设计需求(开发、维护角度)。录制回放测试框架录制回放测试框架所采用的原理是通过录制应用程序产生的线性脚本进行回放从而达到自动化测试的目的。优点:对测试人员测试开发能力要求最低,通过录制就可以得到所需脚本。缺点:一般不具
转载
2024-03-01 12:20:34
44阅读