之前请教过,老师指导是手动,平掉次主力,再开同样多的主力合约。
但是想想好像还是有问题。
策略的 json 文件,应该是按照策略名,而和 vt_symbol 无关,对么? (否则 1 就无法修改)
还有一种办法,就是不换仓
3a. 要是等到期了还没平掉怎么办?
3b. 是否同时再启动一个新主力合约的策略?
请老师再次指教一下。
在锁仓的模式中,如果进行的是日内交易,那么仓位会不断增加。
这种情况下,在实盘交易中, 可能就会有资金问题。
在回测中,就不会有资金的问题。
今天发现一个很奇怪的问题。
从 vntrader 中的CTA回测模块中,进行多进程优化没有问题。
但是自己从 examples 中的 jupyter notebook中进行 backtesting, 源代码是遗传算法,简单更改为 多进行优化的时候,就出现错误。 是发生再多进程 load_data 的时候,访问 sqlite3 的 fetch_one() 出错。
1。同样的代码从 UI 中运行就没有问题, 也是同时读取 sqlite3
2。自己写成单独的脚本运行,多进程读取的时候很快就出问题。
请教一下,大家有没有遇到过?
参考 examples/portfolio.py
我理解就是把几个策略单独运行,生成 DataFrame, 合并之后,再计算统计值。
但是结果好像不太对。
比如: ST1: 100w 起始资金,总收益 1,167,038.23
ST2: 100W 起始资金,总收益 328,969.07
ST3: 100W 起始资金,总收益 1,225,679.59
组合测试如上三个,总收益 2,792,130.99
画出的资金曲线还是从 100w 开始的。这个是不是不对啊。上面的组合起始资金已经是 300w 了。
请老师指教一下?
请问有什么区别? 哪里能查到 88 / 888 之类的定义?
多谢!
没有注册 Rice Quant 账户,就直接在官网上付了 3000 块。
之后页面没有任何变化。
请问这个正常么? 是不是要联系米筐解决?
请教一下老师。课程中演示的实盘步骤是要人工在 VNTrader 中按 “初始化”,“开始”,“停止”。
这个对于日盘是没有问题的,但是对于夜盘,人工在收盘后按 "停止" 是比较困难的。(比较晚了啊)
有没有自动的方法可以进行?
用的是 CTPTest, 下单都是正常的。
但是撤单每次都是如下的故障。 vnpy 2.0.8
请教一下是什么问题呢?
Traceback (most recent call last):
File "C:\vnstudio\lib\site-packages\vnpy\trader\ui\widget.py", line 865, in cancel_all
self.main_engine.cancel_order(req, order.gateway_name)
File "C:\vnstudio\lib\site-packages\vnpy\trader\engine.py", line 183, in cancel_order
gateway.cancel_order(req)
File "C:\vnstudio\lib\site-packages\vnpy\gateway\ctptest\ctptest_gateway.py", line 186, in cancel_order
self.td_api.cancel_order(req)
File "C:\vnstudio\lib\site-packages\vnpy\gateway\ctptest\ctptest_gateway.py", line 787, in cancel_order
self.reqOrderAction(ctp_req, self.reqid)
RuntimeError: Unable to cast Python instance to C++ type (compile in debug mode for details)
老师,请教一下。
课程中都是使用 IF88 或是 IF888 作为回测。但是在实盘交易中,IF 的主力是会按月变化的。
对于我们这种隔夜持仓的 CTA 策略,如果遇到换月,应该怎么办?
如果有换月,那么回测 IF88 (IF888), 还有实际意义么?
老师在第7节课中,讲到
1. for x minute bar, x must be able to divide 60: 2, 3, 5, 6, 10, 15, 20, 30
在之后的BarGenerator 代码中,似乎没有看到类似的限制代码?
我测试了 window=7, interval=Interval.MINUTE, 似乎可以?
能指教一下上述的限制在vn.py 2.0.8 中还有么?