VeighNa量化社区
你的开源社区量化交易平台
tonylee's Avatar
Member
离线
8 帖子
声望: 0

最终目的:
在portfolio_strategy模块上,运行单一策略,同时回测多个股票品种。

说明:
在portfolio_strategy模块示例策略里,直接在策略on_bars里进行指标计算和买卖,在回测多标的股票时,会出现bar找不到的错误。这是由于在交易日股票停牌,当天没有此股票K线数据。如果在前一天发送了交易信号,cross_limit_order时会造成停牌当天找不到bar数据,即在active_limit_orders里有某只股票数据,而在当天的self.bars[order.vt_symbol]找不到相应的k线数据。

解决办法:在backtesting的cross_limit_order加一个判断,进行过滤:

description

不知道大家有没有遇到过类似情况,怎么回测股票策略的?

我也遇到这个问题了,lz解决了吗?

请问下,下面代码,long_entry = max(self.buy_break, self.day_high)为什么要取self.buy_break 和 self.day_high的最大值,为什么不用buy_break 直接挂单呢?

 if bar.datetime.time() < self.exit_time:
​
            if self.pos == 0:
                self.intra_trade_low = bar.low_price
                self.intra_trade_high = bar.high_price
​
                if self.tend_high > self.sell_setup:
                    long_entry = max(self.buy_break, self.day_high)
                    self.buy(long_entry, self.fixed_size, stop=True)

请问下面代码的这句 long_entry = max(self.buy_break, self.day_high) ,为什么要取self.buy_break, self.day_high的最大值,为什么不直接用self.buy_break价格挂单呢?谢谢

        if bar.datetime.time() < self.exit_time:

            if self.pos == 0:
                self.intra_trade_low = bar.low_price
                self.intra_trade_high = bar.high_price

                if self.tend_high > self.sell_setup:
                    long_entry = max(self.buy_break, self.day_high)
                    self.buy(long_entry, self.fixed_size, stop=True)

请问lz用的什么数据库?时间戳对齐的作用是?

参考公众号的文章(https://mp.weixin.qq.com/s/5NmGO5enaUrCHbaTBuY3Ww)

把csv数据导入数据库,为了省事直接用了sqlite

description

代码如下:

description

策略回测时候报错:

description

应该是由于数据在入库的时候,用strftime转成了str类型,策略回测的时候str类型没有day属性导致。

是我入库代码写的有问题,还是需要取数据的时候再转换一下?

如果在加载数据的时候再把类型转换为datetime,是不是需要改源码了?本来用sqlite就是想偷个懒。。。。

请问陈总和各位朋友用sqlite有没有遇到过这种情况,如何解决?多谢~

用Python的交易员 wrote:

  1. 请删除下C:\users\administrator.vntrader\cta_strategy_data.json
  2. SIMNOW不支持市价单~~无数新手栽坑于此
  3. 把显示器分辨率改为1920x1080

感谢您回答。不过第一个问题,删除了C:\users\administrator.vntrader\cta_strategy_data.json文件后,仍然报错,报错内容跟之前一样。请问应该如何解决?
另外,我在报错后 退出程序 打开了cta_strategy_data.json,文件没写完,如下:

description

策略我启动一下,就停止,没有成交

------更新-----
又删除了一遍文件,重启了一遍程序,正常了。不过没能复现之前的错误,不知道什么原因造成的。
感谢陈总。

第一次使用,连接了CTP模拟盘,试着跑了自带的一个策略,出现如下问题,烦请大佬帮忙解答一下,多谢。

1、CTP模拟连接,策略初始化、启动都正常,点击停止“停止”后(策略为自带的的dualthrust,未更改),报错如下图:

description

description

2、有一个已经成交的单子,为什么手动没撤掉呢?用市价,平今、平昨都试过,看委托记录,为什么都是“已撤销”状态呢,另外,为什么多了一手空单,数量0,均价0?如下图:

description

3、策略界面,信息显示不全,如下图,鼠标无法调整字符所在窗口大小,请问应该如何调整能正常显示?

description

© 2015-2022 微信 18391752892
备案服务号:沪ICP备18006526号

沪公网安备 31011502017034号

【用户协议】
【隐私政策】
【免责条款】