设为首页收藏本站

 找回密码
 注册
查看: 2132|回复: 5
打印 上一主题 下一主题

Buy和SellShort的问题 [复制链接]

Rank: 2

精华
0
UID
254249
积分
53
帖子
37
主题
14
阅读权限
30
注册时间
2017-7-20
最后登录
2019-2-12
跳转到指定楼层
1#
发表于 2017-9-20 14:14:42 |显示全部楼层 |倒序浏览
Buy函数有以下特性“如果当前持仓状态为空仓,即MarketPosition = -1 时,该函数平掉所有空仓,同时按照参数进行多头建仓,两个动作同时发出。”即会先将空仓平掉,再开多仓。
SellShort则相反

我是这样一段策略:

        //破上限开仓       
          If((Data1.Q_BidPrice-Data0.Q_AskPrice-Mean)>=K And Data0.Q_AskVol>0 And Data1.Q_BidVol>0)       
        {       
                Data0.Buy(Lots,Data0.Q_AskPrice);
                Data1.SellShort(Lots,Data1.Q_BidPrice);
        }       
               
        //破下限开仓       
          If((Data1.Q_AskPrice-Data0.Q_BidPrice-Mean)<=-K And Data0.Q_BidVol>0 And Data1.Q_AskVol>0)       
        {       
                Data0.SellShort(Lots,Data0.Q_BidPrice);
                Data1.Buy(Lots,Data1.Q_AskPrice);
        }       

即破上限或下限时,先将持仓全平,再做同样数量的反手。

可是用模拟柜台测试时却出现了同一个合约,如c1801,同时持有多仓和空仓的情况,请问是哪里出了问题,谢谢!(历史回测时无此问题)

Rank: 2

精华
0
UID
254249
积分
53
帖子
37
主题
14
阅读权限
30
注册时间
2017-7-20
最后登录
2019-2-12
2#
发表于 2017-9-20 15:14:19 |显示全部楼层
您好,这也是我之前问过的一个问题,没人回复,我试了一下发现这个Q函数在tick线上能取到历史数据,在其他周期的BAR上就没有数据(我是在以前别人提问的回复里看到的,结果自己一试确实是这样),结果我就在tick线上做的回测,确实可以,tick线上我取到了过去13个交易日的数据。

我主要想问的问题您能给解答一下吗?

使用道具 举报

Rank: 2

精华
0
UID
254249
积分
53
帖子
37
主题
14
阅读权限
30
注册时间
2017-7-20
最后登录
2019-2-12
3#
发表于 2017-9-20 15:23:48 |显示全部楼层
另外向您请教一个问题,我这是套利策略,异常的价差往往是转瞬即逝,难以捕捉。我以前是用上一个BAR的close来给信号,然后用当前BAR的open来开平仓,但是二者之间有偏差,造成捕捉到的价格已经不是信号价格了,造成这个策略的有效性大打折扣,所以后来想到“信号价”和“操作价”必须是同一个价格,所以才想到使用这个Q函数价格。

想问问您这个思路对吗?通常的套利策略在这个问题上是怎么处理的,谢谢

使用道具 举报

Rank: 2

精华
0
UID
254249
积分
53
帖子
37
主题
14
阅读权限
30
注册时间
2017-7-20
最后登录
2019-2-12
4#
发表于 2017-9-20 19:07:09 |显示全部楼层
小米 发表于 2017-9-20 16:20
这个情况应该是某一个平仓的委托没能成交。。
需要具体一个个信号,一笔笔委托进行排查,找到原因,做好 ...

如果真如您所说的这个原因,那可不太好,因为我之所以使用Q函数对手盘价格,就是为了最大限度的保证实时成交,而就现在玉米每个tick上的买一盘量和卖一盘量通常都在几百手,而我的策略发单量只有一手,如果还出现为成交的状况,是否可以理解为程序运算速度或网速的问题,造成发了单但未能按该价格成交?

使用道具 举报

Rank: 2

精华
0
UID
254249
积分
53
帖子
37
主题
14
阅读权限
30
注册时间
2017-7-20
最后登录
2019-2-12
5#
发表于 2017-9-20 19:20:18 |显示全部楼层
小米 发表于 2017-9-20 16:21
在TICK上了,不存在close变化的问题 了,那就不要用上一个bar的close了呀。就当前的价格在当前发单 就好 ...

在tick上,同一个BAR上,open=high=low=close是吧,但这都是已成交的价格,这个价格通常介于买一和卖一价格中间,我如果以这个价格发单,不一定能保证实时成交,可能形成多单空单都不成交,或“单腿”成交的情况,就没有形成套利,这怎么办?不知道我理解的对不对

使用道具 举报

Rank: 2

精华
0
UID
254249
积分
53
帖子
37
主题
14
阅读权限
30
注册时间
2017-7-20
最后登录
2019-2-12
6#
发表于 2017-9-21 09:12:01 |显示全部楼层
好的,谢谢

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-5-5 14:38

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部