下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、如何運(yùn)用QIA開(kāi)發(fā)量化投資策略股票配對(duì)交易策略國(guó)泰安信息技術(shù)有限公司 研究與創(chuàng)新中心“寬系列”產(chǎn)品之QIA目 錄策略背景13績(jī)效分析4策略開(kāi)發(fā)2第 1 頁(yè)量化投資策略開(kāi)發(fā)實(shí)例歷史回驗(yàn)策略背景市場(chǎng)情況第 2 頁(yè)量化投資策略開(kāi)發(fā)實(shí)例同行業(yè)相關(guān)股票相關(guān)性非常大。策略背景策略原理配對(duì)交易(Paris Trading)是統(tǒng)計(jì)套利策略的一種,它尋找同一行業(yè)中股價(jià)具備均衡關(guān)系的兩家上市公司,做空近期相對(duì)強(qiáng)勢(shì)的股票,同時(shí)做多相對(duì)弱勢(shì)股,以期兩者股價(jià)重返均衡值時(shí),平倉(cāng)賺取兩只股票價(jià)差變動(dòng)的收益。本策略的實(shí)證對(duì)象為由滬深300成分股,以2011年7月1日至2013年7月10日為回驗(yàn)周期,利用過(guò)去100天內(nèi)收盤(pán)價(jià)及
2、收益率數(shù)據(jù)作為決策依據(jù),對(duì)日頻數(shù)據(jù)交易。第 3 頁(yè)量化投資策略開(kāi)發(fā)實(shí)例策略背景策略流程第 4 頁(yè)量化投資策略開(kāi)發(fā)實(shí)例策略開(kāi)發(fā)策略配置StrategyCfg.xml Stkcd.xml編寫(xiě)主程序pairTrading.m回驗(yàn)配置BackTestCfg.xml績(jī)效分析對(duì)策略函數(shù)的名稱、參數(shù)、時(shí)間、交易標(biāo)的及所需數(shù)據(jù)的配置策略流程的實(shí)現(xiàn)對(duì)策略回驗(yàn)參數(shù)、交易品種交易費(fèi)用、績(jī)效指標(biāo)的數(shù)據(jù)參數(shù)的配置第5頁(yè)量化投資策略開(kāi)發(fā)實(shí)例命令窗口運(yùn)行界面工具運(yùn)行Stkcd.xml配置 每個(gè)code標(biāo)簽下,ContractMultiplier、Currency、MarginLevel、MaxShare、為實(shí)時(shí)交易部分配置
3、,歷史回驗(yàn)設(shè)置無(wú)效。ContractMultiplier:合約乘數(shù)Currency:貨幣種類MarginLevel:交易保證金比例MaxShare:當(dāng)前合約的最大持倉(cāng)量exchangeType 表示市場(chǎng)類型枚舉id:交易標(biāo)的代碼第 6 頁(yè)市場(chǎng)類型枚舉SZSE深圳證券交易所SSE上海證券交易所HKEX香港聯(lián)合交易所CFFEX 中國(guó)金融期貨交易所ZCE鄭州期貨交易所DCE 大連期貨交易所SHFE上海期貨交易所策略開(kāi)發(fā)交易標(biāo)的配置%Stkcd.xml名字可更換量化投資策略開(kāi)發(fā)實(shí)例StrategyCfg.xml配置 第 7 頁(yè)策略開(kāi)發(fā)策略運(yùn)行配置全景展示量化投資策略開(kāi)發(fā)實(shí)例策略開(kāi)發(fā)函數(shù)名稱及調(diào)倉(cāng)配置S
4、trategyCfg.xml配置 標(biāo)簽strategyFunction(用途:用戶編寫(xiě)的策略函數(shù)名稱):name填入策略函數(shù)名。標(biāo)簽strategyArguments(用途:策略的參數(shù)配置):rebalanceCycle:重平衡周期,策略回驗(yàn)時(shí),每過(guò)rebalanceCycle根bar將進(jìn)行一次投資決策,計(jì)算目標(biāo)持倉(cāng)。Bar的大小取決于returnCalFrequency;returnCalFrequency:計(jì)算收益率的頻率。第 8 頁(yè)量化投資策略開(kāi)發(fā)實(shí)例%StrategyCfg.xml名字可更換策略開(kāi)發(fā)策略數(shù)據(jù)及緩存配置StrategyCfg.xml配置標(biāo)簽FactorDataCfg(用途
5、:策略的時(shí)間及標(biāo)的配置)dateListType:表示日期類型:Trading,交易日;Working,工作日;localPath:localPath = pwd,如果配置為全局路徑:localPath = localPath,全局緩存路徑的地址在FactorBaseCfg.xml中進(jìn)行設(shè)置,默認(rèn)為QIA的安裝路徑。 ;periodType:交易時(shí)間配置信息;tickerList:表示讀取的證券代碼列表,可以是定義交易標(biāo)的的xml文件路徑名稱,也可以是板塊,支持的板塊列表有:(AllAStock,SHA,SZA,AllBStock,SHB,SZB,HS300)第 9 頁(yè)量化投資策略開(kāi)發(fā)實(shí)例%S
6、trategyCfg.xml名字可更換 標(biāo)簽data(用途:策略決策所需數(shù)據(jù)配置)策略決策時(shí)每需要一種數(shù)據(jù),則需要配置一個(gè)data標(biāo)簽decisionDataLength:每次策略函數(shù)計(jì)算目標(biāo)持倉(cāng)權(quán)重時(shí)所需的改數(shù)據(jù)長(zhǎng)度,必須為大于等于1的整數(shù);fieldname:數(shù)據(jù)的字段名;frequency:數(shù)據(jù)的頻率,有SEC01(1秒),SEC05(5秒),SEC15(15秒),SEC30(30秒),MIN01(1分),MIN05(5分),MIN15(15分),DAY01(1天);第 10 頁(yè)策略開(kāi)發(fā)策略數(shù)據(jù)配置量化投資策略開(kāi)發(fā)實(shí)例StrategyCfg.xml配置 第 11 頁(yè)策略開(kāi)發(fā)策略運(yùn)行配置全
7、景展示量化投資策略開(kāi)發(fā)實(shí)例策略開(kāi)發(fā)主程序第 12 頁(yè)function portfolio, newStateMatrix = pairTrading(decisionData, stateMatrix )輸入: 1、decisionData: 結(jié)構(gòu)體,存儲(chǔ)策略決策所需數(shù)據(jù); (1) decisionData.time: 策略決策的時(shí)間 (2) decisionData.varList: 策略決策所需數(shù)據(jù)的名稱列表; (3) decisionData.factorN_frequency:策略決策所需數(shù)據(jù)結(jié)構(gòu)體 (4) decisionData.factorN_frequency.data: 策略
8、決策所需數(shù)據(jù)矩陣; (5) decisionData.factorN_frequency.timeList:矩陣的列索引,表示矩陣中每列代表的時(shí)間點(diǎn); (6) decisionData.factorN_frequency.tickerList:矩陣的行索引,表示矩陣中每列代表的交易標(biāo)的; 2、 stateMatrix: 策略函數(shù)上次存儲(chǔ)的狀態(tài)信息;輸出: 1、 portfolio: 策略函數(shù)經(jīng)過(guò)運(yùn)算后得到的,目標(biāo)投資組合資金權(quán)重序列,維度必須和訂閱的交易標(biāo)的數(shù)目相同;量化投資策略開(kāi)發(fā)實(shí)例策略開(kāi)發(fā)尋找股票配對(duì)函數(shù)第18頁(yè)function finalPair = searchPairSecurit
9、y(stockCP, stockRtn, stockList,corrThreshold) %此函數(shù)用來(lái)在滬深300股票中尋找配對(duì)標(biāo)的,需滿足相關(guān)性要求和協(xié)整關(guān)系 %入?yún)ⅲ菏毡P(pán)價(jià)、收益率、股票代碼列表、相關(guān)系數(shù)閾值 % 出參: %finalPair : 滿足相關(guān)性和協(xié)整要求的股票對(duì),為1*3矩陣,返回滿足要求的配對(duì)股票中,相關(guān)系數(shù)最大的股票對(duì) % 第一列為股票1的orgid,第二列為股票2的orgid,第三列為兩只股票的相關(guān)系數(shù) disp(正在尋找配對(duì)標(biāo)的.); %變量初始化 corrPair = ; %儲(chǔ)存相關(guān)系數(shù)滿足閾值的股票對(duì) finalPair_temp = ; %儲(chǔ)存相關(guān)系數(shù)滿足閾值
10、且協(xié)整的股票對(duì) finalPair = ; %最后輸出,滿足相關(guān)系數(shù)和協(xié)整要求的,且相關(guān)系數(shù)最大的股票對(duì) k=1; %計(jì)數(shù)用,在為corrPair賦值時(shí)使用 finalNum = 1; %計(jì)數(shù)用,在為finalPair_temp賦值時(shí)使用 % 處理相關(guān)系數(shù)問(wèn)題:找出滬深300成分股中相關(guān)系數(shù)達(dá)到閾值的股票對(duì) rhoMat = tril(corr(stockRtn); row,col = find(rhoMat= corrThreshold & rhoMat 1); if isempty(row) return; end for i = 1:length(row) corrPairk,1 = s
11、tockList(row(i);%orgidID corrPairk,2 = stockList(col(i); corrPairk,3 = rhoMat(row(i),col(i);%相關(guān)系數(shù) corrPairk,4 = row(i); corrPairk,5 = col(i); k = k+1; end量化投資策略開(kāi)發(fā)實(shí)例策略開(kāi)發(fā)尋找股票配對(duì)函數(shù)第18頁(yè) % 處理協(xié)整檢驗(yàn):對(duì)滿足相關(guān)性要求的股票的對(duì)數(shù)價(jià)格序列進(jìn)行Engle-Granger協(xié)整檢驗(yàn),輸出滿足協(xié)整要求的股票對(duì)信息 for m =1:size(corrPair,1) %為后續(xù)出手?jǐn)?shù)做準(zhǔn)備 if stockCP(corrPairm
12、,4,1) = 20 pairSecurity = searchPairSecurity(stockCP, stockRtn, stockList, corrThreshold); if isempty(pairSecurity) newStateMatrix.portfolio = portfolio; newStateMatrix.index = index; newStateMatrix.emptyDate = emptyDate + 1; newStateMatrix.pairSecurity = pairSecurity ; newStateMatrix.close = close
13、; newStateMatrix.open = open ; newStateMatrix.time = time; return; else ,securityIndex = ismember(pairSecurity1,1,pairSecurity1,2,decisionData.CP_DAY01.tickerList); end end end第 13 頁(yè)量化投資策略開(kāi)發(fā)實(shí)例策略開(kāi)發(fā)開(kāi)平倉(cāng)設(shè)置% 交易規(guī)則設(shè)置:有配對(duì)才會(huì)往下,沒(méi)有配對(duì)都跳出去了 %Rtn累計(jì)收益率去心差均值回復(fù) stockRtn_Pair = decisionData.Rtn_DAY01.data(securityInd
14、ex,:); stockList_Pair = decisionData.tickerList(securityIndex,:); stockCP_Pair = decisionData.CP_DAY01.data(securityIndex,end); stockID_Pair = getTradingCodeByOrgid(stockList_Pair); first =stockRtn_Pair(1,:); second = stockRtn_Pair(2,:); for i = 1:size(stockRtn_Pair,2) first_Acc(i) = sum(first(1:i);
15、 second_Acc(i) = sum(second(1:i); end mspread = first_Acc - second_Acc-mean(first_Acc - second_Acc); mspread_sort = sort(mspread); openSmall = mspread_sort(10); openBig = mspread_sort(90); closeTh = mspread_sort(50);第 14 頁(yè)量化投資策略開(kāi)發(fā)實(shí)例策略開(kāi)發(fā)開(kāi)平倉(cāng)設(shè)置% 交易規(guī)則設(shè)置 if index= 0 %當(dāng)價(jià)差超過(guò)開(kāi)倉(cāng)門(mén)限值,開(kāi)始配對(duì)交易 if mspread(end) ope
16、nBig disp(日期: , datestr(decisionData.time,yyyy-mm-dd), 開(kāi)倉(cāng)。,價(jià)位:,num2str(stockCP_Pair(1),,賣(mài)出:,char(stockID_Pair(1,1),;價(jià)位:,num2str(stockCP_Pair(2),,買(mǎi)入:,char(stockID_Pair(2,1); portfolio(securityIndex(2), 1) = 0.2; portfolio(securityIndex(1), 1) = -0.2; index = 0.5; emptyDate = 0; close = closeTh; open
17、= openBig; time = decisionData.time; else emptyDate = emptyDate + 1; close = 0; open =0; time = 0; end %當(dāng)前有持倉(cāng)的情況 else%加倉(cāng) if (index= 0.5)& (mspread(end) open) disp(日期: , datestr(decisionData.time,yyyy-mm-dd), 加倉(cāng)。,價(jià)位:,num2str(stockCP_Pair(1),,加倉(cāng):,char(stockID_Pair(1,1),;價(jià)位:,num2str(stockCP_Pair(2),,加倉(cāng)
18、:,char(stockID_Pair(2,1); portfolio(securityIndex(2), 1) = -0.5; portfolio(securityIndex(1), 1) = 0.5; index = -1; 第 14 頁(yè)量化投資策略開(kāi)發(fā)實(shí)例策略開(kāi)發(fā)開(kāi)平倉(cāng)設(shè)置elseif (index= 1|index= 0.5)& (mspread(end) close) disp(日期: , datestr(decisionData.time,yyyy-mm-dd), 平倉(cāng)。,價(jià)位:,num2str(stockCP_Pair(1),,平倉(cāng):,char(stockID_Pair(1,1)
19、,;價(jià)位:,num2str(stockCP_Pair(2),,平倉(cāng):,char(stockID_Pair(2,1); portfolio(securityIndex(2), 1) = 0; portfolio(securityIndex(1), 1) = 0; index = 0; emptyDate = 0; close = 0; pairSecurity = ; time = 0; elseif decisionData.time-time 100 disp(日期: , datestr(decisionData.time,yyyy-mm-dd), 止損。,價(jià)位:,num2str(stock
20、CP_Pair(1),,平倉(cāng):,char(stockID_Pair(1,1),;價(jià)位:,num2str(stockCP_Pair(2),,平倉(cāng):,char(stockID_Pair(2,1); portfolio(securityIndex(2), 1) = 0; portfolio(securityIndex(1), 1) = 0; index = 0; emptyDate = 0; pairSecurity = ; close = 0; time = 0; end end % 新?tīng)顟B(tài)矩陣賦值 newStateMatrix.portfolio = portfolio; newStateMat
21、rix.index = index; newStateMatrix.pairSecurity = pairSecurity; newStateMatrix.emptyDate = emptyDate; newStateMatrix.close = close; newStateMatrix.open = open; newStateMatrix.time = time;end第 14 頁(yè)量化投資策略開(kāi)發(fā)實(shí)例策略開(kāi)發(fā)主程序整體展示第18頁(yè)function portfolio, newStateMatrix = pairTrading( decisionData, stateMatrix )%配對(duì)
22、交易策略(實(shí)例3.3.1) % 變量賦值 corrThreshold =0.85; stockCP = decisionData.CP_DAY01.data; stockRtn = decisionData.Rtn_DAY01.data; stockList = decisionData.tickerList; % 初始化stateMatrix,position表示每只證券的持倉(cāng)比例,index是開(kāi)倉(cāng)標(biāo)記,0表示還未開(kāi)倉(cāng),1表示已開(kāi)倉(cāng) if isempty(stateMatrix) portfolio = zeros(length(decisionData.CP_DAY01.tickerLis
23、t),1); index = 0; emptyDate = 0; %emptyDate記錄連續(xù)空倉(cāng)的天數(shù),如果空倉(cāng)天數(shù)超過(guò)指定值,則重新篩選配對(duì)標(biāo)的 pairSecurity = ; %目標(biāo)股票對(duì) close = 0; %平倉(cāng)閾值,開(kāi)倉(cāng)后平倉(cāng)閾值不在變化 open = 0; %開(kāi)倉(cāng)閾值,開(kāi)倉(cāng)后有可能再加倉(cāng) time = 0; %100天還未平倉(cāng)則止損 else portfolio = stateMatrix.portfolio; index = stateMatrix.index; pairSecurity = stateMatrix.pairSecurity; emptyDate = sta
24、teMatrix.emptyDate; close = stateMatrix.close; open = stateMatrix.open; time = stateMatrix.time; end if isempty(pairSecurity) %調(diào)用searchPairSecurity函數(shù),尋找配對(duì)標(biāo)的股票 pairSecurity = searchPairSecurity(stockCP, stockRtn, stockList, corrThreshold); if isempty(pairSecurity) newStateMatrix.portfolio = portfolio
25、; newStateMatrix.index = index; newStateMatrix.emptyDate = emptyDate + 1; newStateMatrix.pairSecurity = pairSecurity; newStateMatrix.close = close ; newStateMatrix.open = open ; newStateMatrix.time = time; return; else ,securityIndex = ismember(pairSecurity1,1,pairSecurity1,2,decisionData.CP_DAY01.t
26、ickerList); end else ,securityIndex = ismember(pairSecurity1,1,pairSecurity1,2,decisionData.CP_DAY01.tickerList); if emptyDate = 20 pairSecurity = searchPairSecurity(stockCP, stockRtn, stockList, corrThreshold); if isempty(pairSecurity) newStateMatrix.portfolio = portfolio; newStateMatrix.index = in
27、dex; newStateMatrix.emptyDate = emptyDate + 1; newStateMatrix.pairSecurity = pairSecurity ; newStateMatrix.close = close ; newStateMatrix.open = open ; newStateMatrix.time = time; return; else ,securityIndex = ismember(pairSecurity1,1,pairSecurity1,2,decisionData.CP_DAY01.tickerList); end end end量化投
28、資策略開(kāi)發(fā)實(shí)例策略開(kāi)發(fā)主程序整體展示第18頁(yè) % 交易規(guī)則設(shè)置:有配對(duì)才會(huì)往下,沒(méi)有配對(duì)都跳出去了 %Rtn累計(jì)收益率去心差均值回復(fù) stockRtn_Pair = decisionData.Rtn_DAY01.data(securityIndex,:); stockList_Pair = decisionData.tickerList(securityIndex,:); stockCP_Pair = decisionData.CP_DAY01.data(securityIndex,end); stockID_Pair = getTradingCodeByOrgid(stockList_Pai
29、r); first =stockRtn_Pair(1,:); second = stockRtn_Pair(2,:); for i = 1:size(stockRtn_Pair,2) first_Acc(i) = sum(first(1:i); second_Acc(i) = sum(second(1:i); end mspread = first_Acc - second_Acc-mean(first_Acc - second_Acc); mspread_sort = sort(mspread); openSmall = mspread_sort(10); openBig = mspread
30、_sort(90); closeTh = mspread_sort(50); % 交易規(guī)則設(shè)置 if index= 0 %當(dāng)價(jià)差超過(guò)開(kāi)倉(cāng)門(mén)限值,開(kāi)始配對(duì)交易 if mspread(end) openBig disp(日期: , datestr(decisionData.time,yyyy-mm-dd), 開(kāi)倉(cāng)。,價(jià)位:,num2str(stockCP_Pair(1),,賣(mài)出:,char(stockID_Pair(1,1),;價(jià)位:,num2str(stockCP_Pair(2),,買(mǎi)入:,char(stockID_Pair(2,1); portfolio(securityIndex(2), 1
31、) = 0.2; portfolio(securityIndex(1), 1) = -0.2; index = 0.5; emptyDate = 0; close = closeTh; open = openBig; time = decisionData.time; else emptyDate = emptyDate + 1; close = 0; open =0; time = 0; end %當(dāng)前有持倉(cāng)的情況 else%加倉(cāng) if (index= 0.5)& (mspread(end) open) disp(日期: , datestr(decisionData.time,yyyy-mm
32、-dd), 加倉(cāng)。,價(jià)位:,num2str(stockCP_Pair(1),,加倉(cāng):,char(stockID_Pair(1,1),;價(jià)位:,num2str(stockCP_Pair(2),,加倉(cāng):,char(stockID_Pair(2,1); portfolio(securityIndex(2), 1) = -0.5; portfolio(securityIndex(1), 1) = 0.5; index = -1; 量化投資策略開(kāi)發(fā)實(shí)例策略開(kāi)發(fā)主程序整體展示第18頁(yè)%平倉(cāng) disp(日期: , datestr(decisionData.time,yyyy-mm-dd), 平倉(cāng)。,價(jià)位:,
33、num2str(stockCP_Pair(1),,平倉(cāng):,char(stockID_Pair(1,1),;價(jià)位:,num2str(stockCP_Pair(2),,平倉(cāng):,char(stockID_Pair(2,1); portfolio(securityIndex(2), 1) = 0; portfolio(securityIndex(1), 1) = 0; index = 0; emptyDate = 0; pairSecurity = ; close = 0; time = 0; elseif (index= -1|index= -0.5)& (mspread(end) close) d
34、isp(日期: , datestr(decisionData.time,yyyy-mm-dd), 平倉(cāng)。,價(jià)位:,num2str(stockCP_Pair(1),,平倉(cāng):,char(stockID_Pair(1,1),;價(jià)位:,num2str(stockCP_Pair(2),,平倉(cāng):,char(stockID_Pair(2,1); portfolio(securityIndex(2), 1) = 0; portfolio(securityIndex(1), 1) = 0; index = 0; emptyDate = 0; close = 0; pairSecurity = ; time =
35、0; elseif decisionData.time-time 100 disp(日期: , datestr(decisionData.time,yyyy-mm-dd), 止損。,價(jià)位:,num2str(stockCP_Pair(1),,平倉(cāng):,char(stockID_Pair(1,1),;價(jià)位:,num2str(stockCP_Pair(2),,平倉(cāng):,char(stockID_Pair(2,1); portfolio(securityIndex(2), 1) = 0; portfolio(securityIndex(1), 1) = 0; index = 0; emptyDate =
36、0; pairSecurity = ; close = 0; time = 0; end end % 新?tīng)顟B(tài)矩陣賦值 newStateMatrix.portfolio = portfolio; newStateMatrix.index = index; newStateMatrix.pairSecurity = pairSecurity; newStateMatrix.emptyDate = emptyDate; newStateMatrix.close = close; newStateMatrix.open = open; newStateMatrix.time = time;end量化投
37、資策略開(kāi)發(fā)實(shí)例策略開(kāi)發(fā)主程序整體展示第18頁(yè)function finalPair = searchPairSecurity(stockCP, stockRtn, stockList,corrThreshold) %此函數(shù)用來(lái)在滬深300股票中尋找配對(duì)標(biāo)的,需滿足相關(guān)性要求和協(xié)整關(guān)系 disp(正在尋找配對(duì)標(biāo)的.); %變量初始化 corrPair = ; %儲(chǔ)存相關(guān)系數(shù)滿足閾值的股票對(duì) finalPair_temp = ; %儲(chǔ)存相關(guān)系數(shù)滿足閾值且協(xié)整的股票對(duì) finalPair = ; %最后輸出,滿足相關(guān)系數(shù)和協(xié)整要求的,且相關(guān)系數(shù)最大的股票對(duì) k=1; %計(jì)數(shù)用,在為corrPair賦值
38、時(shí)使用 finalNum = 1; %計(jì)數(shù)用,在為finalPair_temp賦值時(shí)使用 % 處理相關(guān)系數(shù)問(wèn)題:找出滬深300成分股中相關(guān)系數(shù)達(dá)到閾值的股票對(duì) rhoMat = tril(corr(stockRtn); row,col = find(rhoMat= corrThreshold & rhoMat 1); if isempty(row) return; end for i = 1:length(row) corrPairk,1 = stockList(row(i);%orgidID corrPairk,2 = stockList(col(i); corrPairk,3 = rhoM
39、at(row(i),col(i);%相關(guān)系數(shù) corrPairk,4 = row(i); corrPairk,5 = col(i); k = k+1; end % 處理協(xié)整檢驗(yàn):對(duì)滿足相關(guān)性要求的股票的對(duì)數(shù)價(jià)格序列進(jìn)行Engle-Granger協(xié)整檢驗(yàn),輸出滿足協(xié)整要求的股票對(duì)信息 for m =1:size(corrPair,1) %為后續(xù)出手?jǐn)?shù)做準(zhǔn)備 if stockCP(corrPairm,4,1) stockCP(corrPairm,5,1) t1 = corrPairm,1; corrPairm,1 = corrPairm,2; corrPairm,2 = t1; t2 = corr
40、Pairm,4; corrPairm,4 = corrPairm,5; corrPairm,5 = t2; end h_cp, = egcitest(log(stockCP(corrPairm,4,corrPairm,5,:); if h_cp = 1 %提取出協(xié)整為1的股票對(duì) finalPair_tempfinalNum,1 = corrPairm,1; finalPair_tempfinalNum,2 = corrPairm,2; finalPair_tempfinalNum,3 = corrPairm,3; finalNum = finalNum + 1; end end % 做最后的輸
41、出選擇,只輸出協(xié)整且相關(guān)系數(shù)最大的股票對(duì) if size(finalPair_temp,1) = 1 & isempty(finalPair_temp) ,r = max(cell2mat(finalPair_temp(:,3); finalPair1,1 = finalPair_tempr,1; finalPair1,2 = finalPair_tempr,2; finalPair1,3 = finalPair_tempr,3; endend 量化投資策略開(kāi)發(fā)實(shí)例策略開(kāi)發(fā)回驗(yàn)配置全景展示BackTestCfg.xml配置 第 19 頁(yè)量化投資策略開(kāi)發(fā)實(shí)例策略開(kāi)發(fā)回驗(yàn)配置BackTestCfg
42、.xml配置 標(biāo)簽backtestArguments(用途:策略回驗(yàn)的參數(shù)配置)actionDelay:交易延遲,策略從投資決策到通過(guò)交易生成持倉(cāng)的延遲。必須為非負(fù)整數(shù)。比如actionDelay為2,returnCalFrequency為1,returnCalFrequency為 TimeIntervals.SEC05,將會(huì)以決策時(shí)點(diǎn)2*5 = 10秒后的價(jià)格成交;orgidMode:由交易代碼轉(zhuǎn)為orgid的模式。(注意:對(duì)于股票而言,同一交易代碼可能由于借殼上市等原因,隨著時(shí)間區(qū)間不同,其意義會(huì)發(fā)生變化,系統(tǒng)后臺(tái)會(huì)將交易代碼轉(zhuǎn)為orgid對(duì)股票而言,以公司作為證券關(guān)聯(lián)對(duì)象的唯一碼。)對(duì)股
43、票而言,如果用戶輸入all,系統(tǒng)將會(huì)訂閱回驗(yàn)區(qū)間內(nèi)使用過(guò)該交易代碼的所有行情,通過(guò)orgid進(jìn)行區(qū)分,同樣,通過(guò)orgid區(qū)分策略函數(shù)返回的持倉(cāng)權(quán)重序列;如果用戶輸入latest,則系統(tǒng)會(huì)訂閱最新使用該交易代碼的行情,同樣通過(guò)orgid區(qū)分。如果交易代碼列表中不存在股票標(biāo)的,則不用考慮該屬性;第 20 頁(yè)量化投資策略開(kāi)發(fā)實(shí)例策略開(kāi)發(fā)回驗(yàn)配置 標(biāo)簽backtestArguments(用途:策略回驗(yàn)的參數(shù)配置)repoFrequency:債券的回購(gòu)頻率。支持DAY01(每日回購(gòu))和DAY07(每七日回購(gòu))兩個(gè)枚舉。系統(tǒng)將會(huì)據(jù)此獲取債券的杠桿費(fèi)用。注意:當(dāng)交易代碼列表不存在債券標(biāo)的時(shí),則不用考慮該屬性;reportDisplay:excel績(jī)效報(bào)表展示開(kāi)關(guān),當(dāng)設(shè)為On的時(shí)候,策略回驗(yàn)結(jié)束后會(huì)顯示策略績(jī)效的excel績(jī)效報(bào)告;設(shè)為其他值時(shí)則不會(huì)打??;resultSave:excel績(jī)效報(bào)表保存開(kāi)關(guān),當(dāng)設(shè)為On的時(shí)候,策略回驗(yàn)結(jié)束后會(huì)被保存;設(shè)為其他值時(shí)則不會(huì)打??;第 21 頁(yè)量化投資策略開(kāi)發(fā)實(shí)例 第 22 頁(yè)品種的枚舉類型securityTypeStockA A股StockBB股Index指數(shù)Fund基金B(yǎng)ond債券Commod
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年網(wǎng)絡(luò)在線學(xué)法普法考試題庫(kù)附答案(培優(yōu))
- 2026年材料員考試備考題庫(kù)及答案(歷年真題)
- 2026年質(zhì)量員之土建質(zhì)量基礎(chǔ)知識(shí)考試題庫(kù)及參考答案【培優(yōu)】
- 汽車(chē)4S店銷售與售后服務(wù)體系
- 三年級(jí)英語(yǔ)教師教學(xué)總結(jié)報(bào)告
- 2026年質(zhì)量員之土建質(zhì)量基礎(chǔ)知識(shí)考試題庫(kù)含答案【能力提升】
- 調(diào)漿工復(fù)試考核試卷含答案
- 溶劑脫瀝青裝置操作工班組安全水平考核試卷含答案
- 注聚工安全強(qiáng)化知識(shí)考核試卷含答案
- 物業(yè)租賃合同模板與解讀
- GB/T 16294-2025醫(yī)藥工業(yè)潔凈室(區(qū))沉降菌的測(cè)試方法
- 2025年城市規(guī)劃年度城市歷史文化名城保護(hù)與更新可行性研究報(bào)告
- 河北省職業(yè)院?!叭肆Y源服務(wù)”技能大賽(高職組)參考試題庫(kù)(含答案)
- 院感知識(shí)培訓(xùn)內(nèi)容超聲室課件
- 老果園改造申請(qǐng)書(shū)
- 2025年無(wú)犯罪記錄證明申請(qǐng)表申請(qǐng)書(shū)(模板)
- 保險(xiǎn)核心系統(tǒng)(承保、理賠)中斷應(yīng)急預(yù)案
- 2025年石嘴山市政務(wù)服務(wù)中心(綜合窗口)人員招聘筆試備考試題及答案解析
- 書(shū)記員的考試試題及答案
- 退股協(xié)議解除合同書(shū)范本
- 臺(tái)球桿買(mǎi)賣(mài)交易合同范本
評(píng)論
0/150
提交評(píng)論