以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  [求助]如何测试股指滚动换月长期持有策略  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=182488)

--  作者:saintlucifer
--  发布时间:2020/10/13 9:39:54
--  [求助]如何测试股指滚动换月长期持有策略
请教各位大大,现在有以下股指长期持有策略,从指定时间开始按当日收盘价买入股指合约(例如IC),然后一直持有,到主力合约换月的时候,按合约换月当日的开盘价平仓旧合约,开仓新合约,一直持有到指定时间为止,请问如何编写?
--  作者:FireScript
--  发布时间:2020/10/13 9:47:08
--  
换月这个操作在回测中无法体现的。只有实际交易时候才能体现出来。想编写策略然后在回测中把这个换月体现出来,目前实现不了的。

--  作者:saintlucifer
--  发布时间:2020/10/13 10:01:38
--  
那如果按连续合约不复权,只是测试一直持有着连续合约的初始成本,看看到最后持有连续合约比指数合约是否有增强效果可以吗?
--  作者:FireScript
--  发布时间:2020/10/13 10:15:31
--  
不考虑换月是可以。
--  作者:saintlucifer
--  发布时间:2020/10/13 10:24:48
--  
那具体应该怎么写呢?
--  作者:FireScript
--  发布时间:2020/10/13 10:34:51
--  
 你提供下具体操作思路。
--  作者:saintlucifer
--  发布时间:2020/10/13 10:45:33
--  
就是从指定日期开始,以当日开盘价买入并持有IC,然后在不复权的情况下,如果当天开盘时连续合约持仓量与昨天收盘时持仓量不相等的话(应该就是连续合约换月了),就把此开盘价与昨收盘价的差额(升贴水)记录一下,然后累计这个数值一直到指定日期为止,看看这个累计数值有多少可以吗?
--  作者:FireScript
--  发布时间:2020/10/13 10:52:58
--  
需要确认:
是累计指定日期开始到指定日期结束期间 每次换月时候的 升贴水 的累加?

--  作者:saintlucifer
--  发布时间:2020/10/13 10:57:22
--  
是的,就是等于每个月的升贴水的累加
--  作者:FireScript
--  发布时间:2020/10/13 11:07:26
--  
 cd:SPLITDATA(0)=1;//除权日判断

VARIABLE:ct:=0;//用全局变量记录数值

dcd:date>=1200225 and date<=1200928;//日期限制。如果不清楚日期格式怎么编写。可以直接把date值输出出来,看下在你要的日期上它的返回值。以上是20年2月25 到9月28 日之间。

cz:c-ref(c,1);
if dcd and cd then
begin
ct:=ct+cz;    //满足条件时候ct累加下升贴水的值
end


showCt:ct;//把全局变量值输出出来
DRAWICON(cd,h,1);//标识下除权位置