首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Backtrader来啦:常见问题汇总

BacktraderDataFeeds数据模块提供了各种加载数据方法,之前文章有介绍如何加载CSV文件或DataFrame中数据,今天就补充介绍如何直接从Mysql数据库中加载数据。...下面的例子就是在继承了DataBase父类基础上,修改相关方法操作逻辑,“改装”得到了一个新DataFeeds类,类名为 PsqlDatabase: import datetime as dt import...社区中讨论 SQLite example | Backtrader Community; Backtrader DataFeeds 数据模块提供 InfluxDB 类也是类似的实现逻辑:backtrader...datetime 设置为 index, 或者是没有指定 datetime 所在列。...在回测完成后,我们可以借助Backtrader策略分析器模块analyzer返回诸多策略收益评价指标,而且Backtrader还集成了QuantoptionPyfolio模块

76411

BackTrader 中文文档(二十七)

backtrader 通过将原始数据传递给一个智能命名为 DataResampler 过滤器对象来支持重新取样。.../ 到目前为止,所有 backtrader 示例和工作样本都是从头开始创建一个主要 Python 模块,加载数据、策略、观察者,并准备现金和佣金方案。...加载策略标准表示法(见下文)是: 模块:策略。 遵循以下规则: 如果模块存在且指定了策略,则将使用该策略。 如果模块存在但未指定策略,则将返回模块中找到第一个策略。...如果未指定模块,则假定“strategy”是指 backtrader 包中策略 后者是我们情况。 输出。 最后一个示例添加佣金方案、现金并更改参数: ....目前为止,backtrader没有实现任何跟踪观察者值并将它们存储到文件中机制。最好方法是: 在策略 start 方法中打开一个文件。 在策略 next 方法中写入值。

8000

Qlib来啦:数据篇

往期推荐 Backtrader来啦:数据篇 Backtrader来啦:指标篇 Backtrader来啦:交易篇(上) Backtrader来啦:交易篇(下) Backtrader来啦:策略篇 Backtrader...其中日期列命名为'date'。文件名为股票代码,如股票600000价格数据,保存在'SH600000.csv'。...如果只有复权价格,没有复权因子也可以,这时有两种方法:删除factor列,或者factor均设置为1。提供factor好处是在回测时,qlib会通过factor将价格转为真实价格进行动态回测。...因为qlib原先使用配置文件+workflow模式,让初学者很难入手。我们基于这个tutorial notebook介绍下qlib中数据模块。...,有利大家更好理解qlib各个模块: DataLoader:用于读取原始数据,如果从刚刚dump文件夹读取转换后数据,可以使用QlibDataLoader,如果是直接使用外部已经准备好数据文件

5.1K31

BackTrader 中文文档(十三)

/docu/automated-bt-run/automated-bt-run/ 到目前为止,所有的backtrader示例和工作样本都是从头开始创建一个主要Python模块,该模块加载数据、策略...Python 模块) 向加载策略传递参数 请参阅下面关于脚本使用。...加载策略标准表示法(见下文)是: module:stragegy:kwargs 使用以下规则: 如果存在模块和/或策略,则将使用该策略 如果模块存在但未指定策略,则将返回模块中找到第 1 个策略...如果没有指定模块,则假定“strategy”是指 backtrader 包中策略 如果存在模块和/或策略,并且存在 kwargs,则将其传递给相应策略 注意 相同表示法和规则适用于...backtrader唐奇安通道 标准backtrader发行版中没有DonchianChannels实现,但可以很快制作。一个参数将决定当前栏是否用于通道计算。

8700

Python – 打包为exe

【打包完整方法】 【步骤01】 【在命令行中用pip工具安装Pyinstaller模块】 pip install Pyinstaller 【步骤02】 【切换命令行路径到你要打包Python...模块功能】 Pyinstaller -F -w 文件名.py 【等待打包】 【打包成功标志】 【步骤04】 【到原文件夹找到dist文件夹并打开】 【文件夹里面就是我们要exe可执行文件了...创建虚拟环境】 conda create -n 虚拟环境名称(自定义) python=版本 【在创建过程需要回复yes】 【升级版步骤02】 【激活虚拟环境】(我之前就已经创建了一个名为program...虚拟环境) conda activate 虚拟环境名称 【前面的(base)变成了(program)】 【这个虚拟环境就相当于一个虚拟Python,它包含模块没有那么完整(比较少),这样就不会打包不必要模块...】 【虚拟环境pip安装Pyinstaller模块,同上】 【注意:虚拟环境创建后,以后都可以用,不用再重新创建,Pyinstaller模块pip安装后也是】 【同样操作,打包后文件大小能缩小(在一般

77210

BackTrader 中文文档(二十四)

将命名为p1、p2和p3: params = (('p1', 7), ('p2', 14), ('p3', 28), )` 计算使用了backtrader中已经内置一些东西...指标存储在名为ultimateoscillator.py文件中 使用数据是backtrader源代码中可用数据样本之一 该指标将使用默认参数添加两次,并使用较短期参数添加两次 执行...,时间必须保持一致 努力在重采样/重播上尽快交付条形图,或者如果市场没有交易,则不要太晚(没有人希望在 30 秒后收到 5 秒重采样条形图,因为没有中间 ticks) 当然有许多小内部变化...已经进行了大量集成测试,并且一个名为ibtest大样本已经集成在源代码中,但由于这是第 1 个版本,仍可能存在一些边缘情况。...直接尝试这样做会失败,问题创建者想知道为什么 backtrader 没有查看日期。

24100

python程序打包、加密、破解

使用pyinstaller—key选项 操作如下: 安装Visual Studio 2017 Community, 需要用到它c语言编译功能; 安装PyCrypto模块: pip install PyCrypt...i https://pypi.douban.com/simple, 需要调用该模块; 运行pyinstaller --key 0123456789 –F [other options] 对生成exe...破解输出目录中生成是xx.pyc.encrypted文件, 不再是xx.pyc. 注意: 只能加密py文件, 如果加密模块是pyd文件, 则pyd文件会直接打包, 不会被加密....(如果是64位系统生成文件名为xx.cp36-win_amd64.pyd); 将xx.cp36-win_amd64.pyd重命名为xx.pyd; 使用pyinstaller打包(由于xx.py和xx.pyd...生成打包文件中会包含xx.pyd; 注意: 如果打包时使用了—key选项, 但打包模块是pyd格式, 则pyd文件不会被加密, 只是打包.

5.8K20

Backtrader来啦:数据篇

前言 阅读完上一篇Backtrader 来了后,不知大家心里是否有如下疑惑: 1、为什么用 DataFeeds 模块导入DataFrame 数据框必须依次包含7个字段 'datetime'、 '...带中括号常规方式 → self.datas[X]; b. 不带中括号缩写方式 → self.dataX(data后面没有 s),其中 X 对应索引位置编号 0,1,2,3,......Backtrader 中并没有“Bars”概念,但是大家心里可以有这么一个概念,这有助于大家更好理解 Backtrader 回测流程。...DataFeeds 数据模块 在了解了 Backtrader 体系下数据组织形式后,我们再回到最开始数据导入阶段,对 DataFeeds 数据模块应用做一些补充和扩展。...默认导入方式 Backtrader 导入数据大致分 2 步: step1:调用 DataFeeds 模块方法读取数据; step2:将读取数据传给大脑。

3.5K44

一文讲清Python打包工具PyInstaller

假设你有一个名为 app.py Python 脚本,要将其打包成可执行文件,只需在命令行中运行以下命令: pyinstaller --onefile app.py 这个命令会生成一个单一可执行文件...使用 PyInstaller 将其打包成可执行文件,这样你就可以轻松地在没有安装 Python 机器上运行它。...缺失库或模块 有时候,PyInstaller 可能无法正确识别程序所依赖所有库,尤其是当依赖项以动态方式导入时(例如使用 __import__ 函数)。...解决方案:你可以在 spec 文件中手动添加这些缺失模块。...打包后文件体积过大 PyInstaller 打包可执行文件可能会包含很多不必要库,导致文件体积变大。 解决方案:使用 --exclude-module 选项来排除不需要模块

1.3K10

BackTrader 中文文档(十五)

尽管这似乎是不需要,但如果系统支持数据重放(即:从较小时间框架实时构建较大时间框架),则需要这样做。 最后:指标将其输出值写入当前时间时刻,即:索引0。否则它将被命名为Study。...似乎我们不能,因为从上述设计原则来看,指标的操作过程多多少少是……不可变。 自从……以来最高高点 通常启动一个指标是Highest(别名为MaxN),以获得给定周期内最高某物。...例如,请参阅 backtrader 社区中这个问题:自开仓以来最高高点 当然,我们不知道何时会开/平仓,并且将 period 设置为固定值如 15 是没有意义。...我们拥有它,到目前为止我们还没有违反为我们指标制定规则。..._fn(self.data[0], self.dyn_highest[-1])` 在我们(现在命名为)DynamicFn 指标的调用中声明我们想要使用函数… max(这里没有惊喜): self.dyn_highest

17400

Python3快速入门(十八)——PyI

xref-xxxx.html文件输出 PyInstaller 分析脚本得到模块依赖关系图。 dist子目录,存放生成最终文件。...如果使用单文件模式,PyInstaller打包生成是自动解压程序,需要先把所有文件解压到一个临时目录(通常名为_MEIxxxx,xxxx是随机数字),再从临时目录加载解释器和附属文件。..._MEIPASS 变量包含了PyInstaller 自动创建临时目录名。 单文件模式因为有临时目录和解压文件过程,所以程序启动速度会比较慢。如果程序运行到一半崩溃,则临时目录将没有机会被删除。...两种 Hook 主要是按照加载时间区分,第一种Hook在 PyInstaller 文档中没有明确命名,是在生成过程中,导入特定模块时调用,称为 Import Hook;第二种是Runtime Hook...PyInstaller 修改了模块加载机制,当运行期间加载任何模块时,PyInstaller 会检查是否有对应 Runtime Hook,如果有,则运行相应Hook。

3.6K10

python打包教程

py打包成exe如何打的足够小 Python脚本不能在没有安装Python机器上运行,如果我们想把自己脚本分享给没有python环境小伙伴使用,这个时候就需要将脚本打包成exe文件,即使使用方电脑没有安装...一、 常规打包 1、安装Pyinstaller pip install PyInstaller 用pip管理工具安装库文件时,默认使用国外源文件,因此在国内下载速度会比较慢。...执行命令`Pyinstaller -F -w -i picture.ico xxx.py.执行完毕会发现当前目录多了几个文件夹,打开其中名为dist文件夹.已经生成了一个名为xxx`exe应用程序,...还有知乎大佬说是因为“Anaconda里内置了很多库,打包时候打包了很多不必要模块进去,要用纯净Python来打包。” 所以我们可以模拟一个新环境,其中只安装我们本次打包所必要工具包即可。...如果我们打包脚本需要安装额外库,安装方式同上安装Pyinstaller操作 安装好之后可以查看,安装过程中会有依赖库,就不需要管了。

96620

Python升级之路( Lv13 ) pyinstaller 使用详解

安装, 使用和打包方式做了详细探究 什么是 pyinstaller pyinstaller 是Python 提供一个第三方拓展库模块....它功能是将我们 Python 程序打包成可执行 .exe 程序 安装 方式一 pycharm安装 安装 pyinstaller 模块 在 pycharm 中操作:file-->setting...-->Project:xxx -->Project interpretor,再点击(加号) 在新弹窗中输入要下载第三方模块, 然后点击该模块, 最后点击左下角安装即可 方式二 命令行安装...pyinstaller --help , 来查看其自带帮助文档 现在将比较重要介绍截图下 打包 方式一 利用命令行打包 利用上面所学到参数, 对文件进行打包 将文件打包成 xxx.exe...\img\ 目录下文件打包到 .exe程序运行所在目录, 且命名为 .\img\ pyinstaller -w -D -i .

1.5K30

BackTrader 中文文档(一)

在Reddit - [Question] How popular is Backtrader on this sub?中已经问过(并得到了回答)。 让我们引用那个帖子回答。 引用 不,没有清单。...安装 原文:www.backtrader.com/docu/installation/ 要求和版本 backtrader 是自包含没有外部依赖项(除非你想要绘图) 基本要求是: Python...因此… 没有 Data Feed -> 没趣。让我们给这个不断增长示例添加一个。...此外,为了简化: 只有在市场中还没有持仓时才允许买入订单 注意 next方法没有传递“bar index”,因此似乎不清楚如何理解 5 个 bar 是否已经过去,但这已经以 Pythonic 方式进行了建模...没有任何错误。15.83“净”利润已经到手了。 不幸是(或者幸运是,为了更好地了解平台),在Data Feed最后一天仍然有一个未平仓头寸。即使已发送了一个卖出操作……但尚未执行。

24000

BackTrader 中文文档(二十六)

在这种情况下,由于__init__中局部变量被命名为stoc代表 Stochastic 和rsi代表 RSI,看起来像是: rsi.plotinfo.plotmaster = stoc` 执行: $...writer 默认设置如下: 没有指标被打印出来(既没有简单移动平均线也没有交叉点) 观察者被打印出来 让我们运行脚本并附加一个参数,将 CrossOver 指示器添加到 CSV 流中:...当然我可以,但我说我可以做不仅仅是看图表,因为我可以迅速: 创建一个快速LegDown指标来测量下跌范围。它也可以被命名为HighLowRange或HiLoRange。...关于LegUpDownAnalyzer实现细节(在末尾看到整个模块代码): 它在__init__中创建指标,就像其他对象一样:Strategies,Indicators通常是常见嫌疑人 这些指标会自动注册到附加了分析器策略中...最后是由 bt-run 加载 legupdown 模块

9500
领券