我加载的csv数据里可能有错误的格式,比如应该是float型但是实际是string(通常是某一个日期数据缺失)。这个时候我如果删掉了错误的一行再重新加载,是没法改掉错误的,好像是每次加载csv原先日期下的数据被保留下来了。我现在想重新全部加载一遍,有什么办法吗?可不可以删掉已经加载成功的csv数据?
有人在易盛外盘开通过实盘吗?
因为需要填写client_id字段但是如果直接在tap_gateway里修改会导致交易不成功,似乎需要修改c++头文件的内容,然后重新编译pyd文件。
请问有人知道怎么解决吗?
我现在在用易盛的模拟盘,易盛的人跟我说需要做一个测试才能连入实盘。
具体是把ClientID的值改为我现在的模拟账号。
我在C:\vnstudio\Lib\site-packages\vnpy\api\tap\vntap\include\iTapTradeAPIDataType.h里找到了这个ClientID:
但问题是这个ClientID是定义在struct里面的,我并不知道怎么改变它的值。
请问它的值可以在哪个文件里更改呢?
在实盘中策略使用到的参数需要大量的数据准备,比方说ATR,我需要100根k线的平均值。但是我用到是小时线,策略每天都要重新启动,重新初始化,这样我永远也无法准备到100根k线的数据。怎么样能把历史数据当成数据准备储存下来在实盘中使用呢?
我想做动力煤和铁矿石的模拟,请问simnow的账号能连接到郑商所和大商所吗?我在合约查询里不能查到zc或i的合约。
如果模拟账号不行那实盘行不行呢?
从中午12点20就开始连不上服务器,重启vn trader之后还是连不上,这是什么原因?
在trader.constant这个文件里面看到direction的定义:
我不清楚 NET = "净" 这个赋值的含义是什么。
如果direction == NET, 那么怎么计算这手交易的资金使用情况?
还是 trade.price*trade.volume吗?此时volume在空的时候为负吗?
现在在simnow上跑cu1909的模拟。早上的发单让我觉得很奇怪,这是一手平多头的委托:
首先是在vn trader这个界面上的委托栏
价格在49410.这个价格是错误的,因为策略里的所有委托我都是用的bar.close_price,而最近今天都没有出现这么高的价格。
然后仍然是vn trader界面,看成交栏
这个46970的价格是合理的。
我用jupyter 查过了order 和 trade
这里可以看到和 vn trader界面上显示的是一致的。
我现在的问题是为什么vn trader上显示的和CTA策略界面显示不一样?为什么jupyter上查到的委托价格也是不正确的?到底是哪个价格出了问题?
我在做回测的时候发现,所有的的交易都从导入的历史数据的第二天开始。我用的是分钟线。这是我的代码:
def on_bar(self, bar: BarData):
self.cancel_all()
am = self.am
am.update_bar(bar)
self.buy(bar.close_price, 1)
查看交易记录都是从第二天开始的,然后后面每分钟都正常买入了。为什么第一天不能成功开仓呢?
我想在on_bar里面输出一下策略里计算的各种数据,以此检查策略是不是按照我的想法在运转。主要是在回测模式里,可以写一个类似output这样的函数吗?这个有办法实现吗?
我刚用VNPY,写了一个非常简单的策略来作为测试:
就是在指定时间买入一手,然后在指定时间卖出平仓。
策略如下:
def on_bar(self, bar: BarData):
"""
Callback of new bar data update.
"""
self.cancel_all()
am = self.am
am.update_bar(bar)
if bar.datetime.year == 2019 and bar.datetime.month == 5 and bar.datetime.day == 8 and bar.datetime.hour == 22 and bar.datetime.minute == 20:
self.short(bar.close_price+0.001, 1)
if bar.datetime.year == 2019 and bar.datetime.month == 5 and bar.datetime.day == 8 and bar.datetime.hour == 22 and bar.datetime.minute == 39:
self.cover(bar.close_price-0.001, 1)
self.put_event()
但是在回测时只看到了开仓的操作,好像后面就再没有平仓了。
2019-07-05 17:31:53.901897 开始加载历史数据
2019-07-05 17:31:53.947744 加载进度:##### [54%]
2019-07-05 17:31:54.046480 加载进度:########## [100%]
2019-07-05 17:31:54.046480 历史数据加载完成,数据量:3366
2019-07-05 17:31:54.046480 策略初始化完成
2019-07-05 17:31:54.046480 开始回放历史数据
2019-07-05 17:31:54.069419 历史数据回放结束
2019-07-05 17:31:54.069419 开始计算逐日盯市盈亏
2019-07-05 17:31:54.071414 逐日盯市盈亏计算完成
2019-07-05 17:31:54.071414 开始计算策略统计指标
2019-07-05 17:31:54.077398 ------------------------------
2019-07-05 17:31:54.077398 首个交易日: 2019-05-08
2019-07-05 17:31:54.082383 最后交易日: 2019-07-03
2019-07-05 17:31:54.082383 总交易日: 48
2019-07-05 17:31:54.082383 盈利交易日: 20
2019-07-05 17:31:54.082383 亏损交易日: 18
2019-07-05 17:31:54.082383 起始资金: 1,000,000.00
2019-07-05 17:31:54.082383 结束资金: 999,999.80
2019-07-05 17:31:54.082383 总收益率: -0.00%
2019-07-05 17:31:54.082383 年化收益: -0.00%
2019-07-05 17:31:54.082383 最大回撤: -0.01
2019-07-05 17:31:54.082383 百分比最大回撤: -0.00%
2019-07-05 17:31:54.082383 总盈亏: -0.20
2019-07-05 17:31:54.082383 总手续费: 0.00
2019-07-05 17:31:54.082383 总滑点: 0.20
2019-07-05 17:31:54.082383 总成交金额: 1.12
2019-07-05 17:31:54.082383 总成交笔数: 1
2019-07-05 17:31:54.082383 日均盈亏: -0.00
2019-07-05 17:31:54.082383 日均手续费: 0.00
2019-07-05 17:31:54.082383 日均滑点: 0.00
2019-07-05 17:31:54.082383 日均成交金额: 0.02
2019-07-05 17:31:54.082383 日均成交笔数: 0.020833333333333332
2019-07-05 17:31:54.082383 日均收益率: 0.00%
2019-07-05 17:31:54.082383 收益标准差: 0.00%
2019-07-05 17:31:54.082383 Sharpe Ratio: 0.49
2019-07-05 17:31:54.082383 收益回撤比: -13.93
想请教一下这是什么问题?