以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 实现回测T+1的问题 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=138879) |
-- 作者:baozijian -- 发布时间:2016/8/29 15:23:03 -- 实现回测T+1的问题 我用了dayholding,公式看也没问题好像,但是回测一支股票还是发现第一笔交易就做了日内T+0,麻烦老师帮忙看一下 开仓股数:=BB; 可平:holding-dayholding; SELL(D1 OR D2 OR D3 and 可平>0,可平,MARKET); |
-- 作者:jinzhe -- 发布时间:2016/8/29 15:30:03 -- (d1 or d2 or d3) and 可平>0 |
-- 作者: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股,这怎么办 |
-- 作者:jinzhe -- 发布时间:2016/8/29 15:45:06 -- 那你平仓数量写5000 |
-- 作者:baozijian -- 发布时间:2016/8/29 15:53:08 -- 老师能不能帮忙解释一下,D1 OR D2 OR D3 and 可平>0 和(D1 OR D2 OR D3) and 可平>0 的区别呀,我没想明白,谢谢 |
-- 作者:jinzhe -- 发布时间:2016/8/29 15:55:51 -- 前面先算and,后面先算or |
-- 作者: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的呀
|
-- 作者: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个条件,然后再去判断持仓 |
-- 作者: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); |
-- 作者:jinzhe -- 发布时间:2016/8/29 16:55:13 -- 对 |