Home >  > Vn.py学习记录七(V2.0.5)

Vn.py学习记录七(V2.0.5)

0

之前一直用的是VNPY V2.0.1,用run.py跑VN.PY的无界面运行,昨天白天还是正常的,晚上就不行了。出现如下的错误:

没办法,只好用最新版本的V2.0.5

一、安装
将原来的VNConda在控制面板卸载,然后下载V2.0.5的exe安装,一步一步点“下一步”就OK了,非常简单。

二、出错
用原来的simnow地址登陆,发现登陆不了,一直提示:交易服务器授权验证失败,代码:63,信息:CTP客户端认证失败。

后来添加了下面两行:
产品名称:simnow_client_test
授权编码:0000000000000000

没有出错信息了,也提示结算信息确认成功了,可是却没有显示账户余额。

好吧,搞了半天原来是因为我的笔记本屏幕比较小,资金那一栏没有显示出来:

三、一些设置

1.策略文件
位于:C:\vnstudio\Lib\site-packages\vnpy\app\cta_strategy\strategies

2.RQ账号
直接填写C:\vnstudio\Lib\site-packages\vnpy\trader\settings.py文件即可。
然后在策略那里可以看到数据接口初始化成功了。

这里又有一个坑,我修改了settings.py之后,发现CTA回测的数据下载那里,还是无法使用RQdata,我以为还要在其他地方设置,后来重启了一下程序,发现它就好了。

四、添加环境变量
发现无法在CMD窗口使用python命令,需要将“C:\vnstudio” 加入到系统的环境变量。再重启一下CMD窗口就可以了。

五、下载数据与回测
尝试用脚本下载数据,可是发现我以前用的下载数据的脚本,回测数据的脚本全都用不了了

这个是下载数据的:

这个是回测的:

看出错提示是数据库的问题,后来我将原来的database.db剪切到其他文件夹下面,再运行getdata.py就成功了。

自己的策略与双均线策略的对比:
双均线:

自己的:

夏普比率

*代表投资人每多承担一分风险,可以拿到几分报酬;

---单位风险所获得的超额回报率

*该比率越高,策略承担单位风险得到的超额回报率越高。

所以说夏普比率是越高越好滴..

六、TradeData
在on_trade里面print(trade),可以看到tradeData。

OrderData

BarData

七、关于多次成交的问题
回测时发现有时候平单平不掉,比如:

记录开盘价,时间是2019-06-17 09:31:00,价格是3647.0
开空仓,买入时的价格是3642.6
-----买入时间2019-06-17 09:32:00
平空仓,价格是3649.4
-----平空时间2019-06-17 09:36:00
平空仓,价格是3657.4
-----平空时间2019-06-17 09:37:00
仓位为0,无需要处理,当前时间为2019-06-17 14:55:00
**************************************************

上面的代码逻辑是写在onbar里的,然后我将on_trade里面的信息也打印出来:

发现那天的信息是这样的:

09:33:00   3642.6000000000004
09:38:00   3657.4

就是说中间有一笔“平空仓,价格是3649.4”,虽然在onbar里面执行了,但是并没有成交。

我再找到原始的数据,发现9:42我用close_price价格3082.80去平空单,但是9:43的价格没有低于3083的,所以平不掉。

另外一个:

记录开盘价,时间是2019-05-06 09:31:00,价格是3776.8
开多仓,买入时的价格是3790.0
-----买入时间2019-05-06 09:32:00
平多仓,价格是3768.6
-----平多时间2019-05-06 09:40:00
平多仓,价格是3750.4
-----平多时间2019-05-06 09:41:00
仓位为0,无需要处理,当前时间为2019-05-06 14:55:00
**************************************************

9:40分,低于开盘价,所以以3768.6价格平多仓,但是9:41最高价也只有3768.40,所以平不掉。

原来是这个原因。

本文暂无标签

发表评论

*

*