Backtrader 教程:交易

  |  

交易的定义:

  • 当工具中的头寸从 0 变为大小 X 时,交易打开,对于多头/空头头寸可能为正/负)

  • 当头寸从 X 变为 0 时,交易平仓。

以下两个动作:

  • 正转负

  • 负转正

实际上被视为:

  1. 一笔交易已关闭(仓位从 X 变为 0)

  2. 新交易已开立(仓位从 0 变为 Y)

交易只是提供信息,没有用户可调用的方法。

参考:贸易

class backtrader .trade.Trade(data=None, tradeid=0, historyon= False , size=0, price=0.0, value=0.0, Commission=0.0)

跟踪交易的生命周期:规模、价格、佣金(和价值?)

从 0 开始的交易可以增加和减少,如果它回到 0,则可以认为是关闭的。

交易可以是多头(正规模)或空头(负规模)

交易并不意味着被逆转(不支持它的逻辑)

会员属性:

  • ref : 唯一的贸易标识符

  • status ( int ): Created, Open , Closed 之一

  • tradeid : 在创建期间传递给订单的分组交易 ID 订单中的默认值为 0

  • size ( int ): 当前交易规模

  • price ( float ): 交易的当前价格

  • value ( float ): 交易的当前价值

  • commissionfloat ):当前累积佣金

  • pnl ( float ): 交易的当前盈亏 (gross pnl)

  • pnlcomm ( float ): 当前交易损益减去佣金(净 pnl)

  • isclosed ( bool ): 记录最后一次更新是否关闭(设置大小为 null 交易

  • isopen ( bool ): 记录是否有任何更新打开了交易

  • justopened ( bool ): 如果交易刚刚开仓

  • baropen ( int ): 交易开始的柱

  • dtopen ( float ): 交易开始的浮点编码日期时间

    • 使用方法open_datetime获取 Python datetime.datetime 或使用平台提供的num2date方法
  • barclose ( int ): 关闭此交易的柱

  • dtclose ( float ): 交易结束的浮点编码日期时间

    • 使用方法close_datetime获取 Python datetime.datetime 或使用平台提供的num2date方法
  • barlen ( int ): 此交易打开的柱数

  • historyon ( bool ): 是否必须记录历史

  • historylist ):保存一个列表,每个“更新”事件都更新,其中包含更新中使用的结果状态和参数

    历史中的第一个条目是开幕事件 历史中的最后一个条目是结束事件

推荐阅读

相关文章

Backtrader教程:分析仪

无论是回溯测试还是交易,能够分析交易系统的性能是了解是否不仅获得了利润,而且是否在风险太大的情况下实现了利润,或者与参考资产(或无风险资产)相比,是否真的值得付出努力的关键。 这就是对象家族的用武之Analyzer 地:提供对所发生事件甚至实际发生的事情的分析。

Backtrader期货补偿与现货补偿

版本1.9.32.116 增加了对社区中呈现的有趣用例 的支持 以期货开始交易,包括实物交割 让一个指针告诉你一些事情 如果需要, close 现货价格操作,有效地取消实物交割,无论是为了接收货物还是为了必须交付货物(并希望获利)来头寸。

Backtrader教程:操作平台

Line 反复运算器 为了参与操作,plaftorm使用 line 反复运算器的概念。它们已经松散地模仿了Python的反复运算器,但实际上与它们无关。 策略和指针是 line 反复运算器。

Backtrader迪克森移动平均线

下面的reddit帖子以自己的作者Nathan Dickson(reddit句柄)命名了这个平均值Dickson移动平均线。 在一次对reddit Algotrading 的定期访问中,我发现了一篇关于移动平均线的帖子,该移动平均线试图模仿Jurik移动平均线(又名JMA)。

Backtrader扩展数据馈送

GitHub 中的问题实际上是在推动文档部分的完成,或者说明我了解 backtrader 是否具有我从最初时刻就设想的易用性和灵活性以及在此过程中做出的决定。 在本例中为问题 #9。

Backtrader教程:经纪商

经纪商仿真器该模拟支持不同的订单类型,根据当前现金检查提交的订单现金需求,跟踪每次反复运算的cerebro 现金和价值,并在不同数据上保持当前位置。

Backtrader 教程:交易

交易的定义:当工具中的头寸从 0 变为大小 X 时,交易打开,对于多头/空头头寸可能为正/负)当头寸从 X 变为 0 时,交易平仓。以下两个动作:正转负负转正实际上被视为:一笔交易已关闭(仓位从 X 变为 0)新交易已开立(仓位从 0 变为 Y)交易只是提供信息,没有用户可调用的方法。

Backtrader教程:数据馈送 - 熊猫

注意 pandas 并且必须安装其依赖项 支持Pandas Dataframes似乎受到很多人的关注,他们依赖于已经可用的解析代码来分析不同的数据源(包括CSV)和Pandas提供的其他功能。 数据馈送的重要声明。 注意 这些只是 声明。不要盲目拷贝此代码。

Backtrader买入/卖出箭头

backtrader 旨在尝试提供易用性。创建指针和其他常见嫌疑人应该很容易。 当然,定制现有项目也应该是交易的一部分。 社区中的一个主题,BuySell Arrows,它起源于从问题迁移而来的,就是一个很好的例子。

Backtrader开发指针

经过 backtrader 微调(因为它已经运行了一段时间),我决定不仅通过GitHub分享它,还告诉世界它在那里,并在“Reddit”中发布它的存在。 在评论了为什么交易/算法交易平台会弹出,以及关于支持许多同时交易的即时交易的平台的私人问题之后,我得出的结论是,我自己的孩子应该拥有自己的博客。 我们来了。