当前位置:文档之家› 003002股票阿尔法策略

003002股票阿尔法策略

第 6页
投 资 策 略 开 发 实 例
策略开发——策略运行配置全景展示
StrategyCfg.xml配置
<?xml version="1.0" encoding="utf-8"?>
<Strategy> <strategyFunction name="alpha"/> <strategyArguments rebalanceCycle="5" returnCalFrequency="TimeIntervals.DAY01"/> <FactorDataCfg dateListType="DateListType.Trading" localPath="localPath" periodType="PeriodType.StockTradingPeriod" tickerList="Stkcd_alpha.xml"/> <data decisionDataLength="60" fieldname="Rtn" frequency="TimeIntervals.DAY01"/> <data decisionDataLength="1" fieldname="CP" frequency="TimeIntervals.DAY01"/> <data decisionDataLength="60" fieldname="HS300Weight" frequency="TimeIntervals.DAY01"/> </Strategy>
标签strategyFunction(用途:用户编写的策略函数名称): name填入策略函数名。 标签strategyArguments(用途:策略的参数配置): rebalanceCycle:重平衡周期,策略回验时,每过rebalanceCycle根bar将进行一次投资决策,计算目 标目标持仓。Bar的大小取决于returnCalFrequency; returnCalFrequency:计算收益率的频率
第2页
策略背景——策略原理
在正常情况下,股票的α 不会长期持续不为0。这是因为一 只股票如果估值有偏差,那么在被人发现以后, 就会迅 速归零。股票一般不会总是被低估或者高估,它的α 有时
表现为正,有时表现为负,这也是为什么使用常规的方法
在市场中通常难以发现股票具有明显持续的。 本策略的实证对象为沪深300成分股和IF主力连续A,以 2013年1月4日至2013年5月15日为回验周期,利用过去 60天内对数收益率数据作为决策依据,对日频数据进行每
量 化 投 资 策 略 开 发 实 第8页 例
%StrategyCfg.xml名字可更换
策略开发——策略数据及缓存配置
StrategyCfg.xml配置
%StrategyCfg.xml名字可更换
<FactorDataCfg dateListType="DateListType.Trading" localPath=“localPath" periodType="PeriodType.StockTradingPeriod" tickerList="Stkcd.xml"/>
%Stkcd.xml名字可更换
<code ContractMultiplier="" Currency="CNY" MarginLevel="1" MaxShare=""
exchangeType="ExchangeType.SSE" id="000300" name="沪深300指数"/> <code ContractMultiplier="" Currency="CNY" MarginLevel="1" MaxShare="" exchangeType="ExchangeType.CFFEX" id="IF主力连续A" name="IF主力连续A"/> </Strategy>
量 化 投 资 策 略 开 发 实 例
第 7页
策略开发——函数名称及调仓配置
StrategyCfg.xml配置 <?xml version="1.0" encoding="utf-8"?> <Strategy> <strategyFunction name=“alpha"/> <strategyArguments rebalanceCycle="1“ returnCalFrequency="TimeIntervals.DAY01"/>
第 12 页
输出:
量 化 投 资 策 略 开 发 实 例
策略开发——数据提取
function [ portfolio, newStateMatrix ] = alpha( decisionData, stateMatrix ) %% 获取数据 rtn = decisionData.Rtn_DAY01.data; cp = decisionData.CP_DAY01.data; hs300weight = decisionData.HS300Weight_DAY01.data((find(... (decisionData.HS300Weight_DAY01.tickerList ~= 400501501) & ... (decisionData.HS300Weight_DAY01.tickerList ~= 101000142))),:); hs300Rtn = rtn((find(decisionData.Rtn_DAY01.tickerList ~= 400501501 & ... decisionData.Rtn_DAY01.tickerList ~= 101000142)),:); %股指期货60日收益率数据 indexRtn = rtn((find(decisionData.Rtn_DAY01.tickerList == 101000142)),:); %沪深300指数60日收益率数据 ifRtn = rtn((find(decisionData.Rtn_DAY01.tickerList == 400501501)),:); hs300CP = cp((find(decisionData.CP_DAY01.tickerList ~= 400501501 & ... decisionData.CP_DAY01.tickerList ~= 101000142)),:); ifCP = cp((find(decisionData.CP_DAY01.tickerList == 400501501)),:); [contractList] = FactorBase.getTradingContractByTypeId(501,fix(decisionData.time(end)),fix(decisionData.time(en d))); 量 logicMat = 化 getDataByTime('mainContinousContract',fix(decisionData.time(end)),fix(decisionData.time(end)), 投 资 contractList); 策 略 logic_new = contractList(logicMat==1);
每个code标签下,ContractMultiplier、Currency、MarginLevel、MaxShare、为实时交易部分配 置,历史回验设置无效。 市场类型枚举 ContractMultiplier:合约乘数 深圳证券交易所 SZSE Currency:货币种类 上海证券交易所 SSE 量 MarginLevel:交易保证金比例 香港联合交易所 HKEX 化 MaxShare:当前合约的最大持仓量 exchangeType 表示市场类型枚举 id:交易标的代码 CFFEX ZCE DCE SHFE 中国金融期货交易所 郑州期货交易所 大连期货交易所 上海期货交易所
补偿,所以一种证券的预期收益率主要由其β值决定:β值越高的证
券,预期收益越高,β值越低的证券预期收益就越低。但是本节就将
展示如何构建股票投资的α 策略。在市场的有效性不足的情况下, 部分投资者可以通过消息渠道上的优势和管理技巧等,获得一定的 超额收益,这部分收益成为α 收益。
量 化 投 资 策 略 开 发 实 例
标签FactorDataCfg(用途:策略的时间及标的配置) dateListType:表示日期类型:Trading,交易日;Working,工作日; localPath:本地Mat缓存文件的存储路径(绝对路径),Matlab中,pwd表示当前的工作空间路径; periodType:交易时间配置信息; tickerList:表示读取的证券代码列表,可以是定义交易标的的xml文件路径名称,也可以是板块,支持 的板块列表有:
量 化 投 资 策 略 开 发 实 第9页 例
(’AllAStock,’SHA’,’SZA’,’AllBStock’,’SHB’,’SZB’,’HS300’)
策略开发——策略数据配置
<data decisionDataLength="60" fieldname="Rtn" frequency="TimeIntervals.DAY01"/> <data decisionDataLength="1" fieldname="CP" frequency="TimeIntervals.DAY01"/> <data decisionDataLength="60" fieldname="HS300Weight" frequency="TimeIntervals.DAY01"/> </Strategy>
相关主题