Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共10 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:实现回测T+1的问题

1楼
baozijian 发表于:2016/8/29 15:23:03
我用了dayholding,公式看也没问题好像,但是回测一支股票还是发现第一笔交易就做了日内T+0,麻烦老师帮忙看一下

开仓股数:=BB;
可平:holding-dayholding;
SELL(D1 OR D2 OR D3 and 可平>0,可平,MARKET);
BUY( B1 OR B2 OR B3,开仓股数,MARKET);
此主题相关图片如下:1.png
按此在新窗口浏览图片

此主题相关图片如下:2.png
按此在新窗口浏览图片
2楼
jinzhe 发表于:2016/8/29 15:30:03
(d1 or d2 or d3) and 可平>0
3楼
baozijian 发表于:2016/8/29 15:39:37
老师(d1 or d2 or d3) and 可平>0是实现了T+1,但我还有一个问题,比如1号买了5000股,2号买了5000,3号出现卖出信号,可是按这公式的话在3号就会卖出10000股,可是在3号我只想卖出5000股,这怎么办
4楼
jinzhe 发表于:2016/8/29 15:45:06
那你平仓数量写5000
5楼
baozijian 发表于:2016/8/29 15:53:08
老师能不能帮忙解释一下,D1 OR D2 OR D3 and 可平>0 和(D1 OR D2 OR D3) and 可平>0 的区别呀,我没想明白,谢谢
6楼
jinzhe 发表于:2016/8/29 15:55:51

前面先算and,后面先算or

7楼
baozijian 发表于:2016/8/29 16:27:33
老师,
开仓股数:=BB;
可平:holding-dayholding;
SELL(D1 OR D2 OR D3 and 可平>0,可平,MARKET);
BUY( B1 OR B2 OR B3,开仓股数,MARKET);

D1 OR D2 OR D3这加括号,回测结果是正常的,实现T+1,并且卖掉仓位为可平
但是有一个问题我没搞明白,就是如果回测股票,第一天的交易,如果可平数量为0的话是肯定平不了多的,但是用SELL(D1 OR D2 OR D3 and 可平>0,可平,MARKET);这个公式
我发现回测一支股票的结果是第一天的上午买了5000股,下午卖出了5000股,我始终没搞明白哪里的问题,因为按公式的逻辑的话,第一天的下午可平数量应该为0的呀
8楼
jinzhe 发表于:2016/8/29 16:29:57
以下是引用jinzhe在2016-8-29 15:55:51的发言:

前面先算and,后面先算or

原因是这个,前面没有括号,相当于(D1) OR (D2) OR (D3 and 可平>0)

导致只有判断d3时才要去判断持仓。d1或者d2满足就可以直接平,不需要去判断持仓

 

后面加了括号就是先判断3个条件,然后再去判断持仓

9楼
baozijian 发表于:2016/8/29 16:48:44
SELL(D1 OR D2 OR D3 and 可平>0,可平,MARKET);
这条公式是不是可以这么理解
SELL(D1):
SELL(D2);
SELL(D3 and 可平>0,可平,MARKET);

10楼
jinzhe 发表于:2016/8/29 16:55:13
共10 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.01074 s, 3 queries.