backtrader无法满仓交易的问题

bt默认的行为是当天收盘计算交易信号,下一个bar开盘价交易该信号,由此导致的问题,无法计算真正需要的满仓size,默认提供的各种手段,经过测试,也都只能做到最大95%比例开仓,否则就容易报错margin,例如

cerebro.addsizer(bt.sizers.AllInSizer,percents=95)

因此,这里的权宜之计,是直接取下一个bar的数据来参与计算,同时由于bt的机制问题(我认为这是一个逻辑bug,正常讲,应该按照交易bar的数据来判断order是否合理),他会按照当天的bar来判断order是否合理,因此只能取两者最大来近似计算一个满仓数据,否则一旦当天价格大于要交易的价格,就会报错margin

max_price_size = math.floor(self.broker.get_cash() /max(self.dataclose[0],self.dataclose[1]))

self.log('BUY CREATE , %.4f, %.1f' % (self.dataclose[0],max_price_size))

self.buy(size=max_price_size)

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
backtrader turtle指的是使用backtrader框架实现的海龟交易策略。海龟交易策略是一种经典的趋势跟踪策略,最早由美国著名投资者理查德·丹尼斯和威廉·埃克哈特提出。 backtrader是一个强大的量化交易框架,它提供了丰富的功能和灵活的使用方式,可以方便地实现各种交易策略。通过backtrader,我们可以方便地获取市场数据、构建交易策略、执行交易、监控交易绩效等。 海龟交易策略的核心思想是跟随市场趋势进行交易。策略的具体规则包括两个方面:入市规则和逐步建仓规则。入市规则是通过短期(20天)和长期(55天)的突破信号确定的,即当价格突破短期或长期的最高价或最低价时,开仓建立头寸。逐步建仓规则则通过每上涨一个单位的价格,逐步加仓的方式来控制仓位。 backtrader turtle可以通过构建相应的数据源、信号指示器、交易规则和资金管理器等组件来实现海龟交易策略。backtrader框架提供了丰富的内置指标和方法,可以方便地实现这些组件。 通过backtrader turtle,我们可以灵活地设定入市规则和逐步建仓规则,并根据自己的需求对策略进行定制化调整。在运行策略后,我们可以通过内置的分析工具来评估策略的表现,并进行参数优化和风险管理。 综上所述,backtrader turtle是通过backtrader框架实现的一种海龟交易策略,它可以帮助交易者实现对市场趋势的跟踪,并进行有效的交易决策和资金管理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值