股指趨勢交易策略_第1頁
股指趨勢交易策略_第2頁
股指趨勢交易策略_第3頁
股指趨勢交易策略_第4頁
股指趨勢交易策略_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

如何運用QIA開發(fā)量化投資策略

——股指期貨趨勢交易策略國泰安信息技術有限公司

研究與創(chuàng)新中心“寬系列”產(chǎn)品之QIA目錄策略背景13績效分析4策略開發(fā)2第1頁量化投資策略開發(fā)實例歷史回驗策略背景——市場情況第2頁量化投資策略開發(fā)實例在證券市場效率尚未達到有效之前,技術指標尚有用武之地。策略背景——策略原理股指期貨趨勢交易策略是通過頻繁交易利用日內(nèi)波動進行買賣操作,準確的擇時是股指期貨趨勢交易策略成功的前提,而技術指標正是一種擇時的工具。尤其隨著股指期貨的推出,可T+0的交易機制與技術指標的擇時特性得到了結合。本策略利用簡易波動指標EMV進行實證:交易間隔為15分鐘,即每隔15分鐘進行一次交易判斷,形成“持有”或“平倉并反向開倉”的交易決策,整個過程始終保持1份合約頭寸,并采用成交價的1‰進行止損操作。第3頁量化投資策略開發(fā)實例策略背景——策略流程第4頁量化投資策略開發(fā)實例策略開發(fā)策略配置StrategyCfg.xmlStkcd.xml編寫主程序TrendTrade.m回驗配置BackTestCfg.xml績效分析對策略函數(shù)的名稱、參數(shù)、時間、交易標的及所需數(shù)據(jù)的配置策略流程的實現(xiàn)對策略回驗參數(shù)、交易品種交易費用、績效指標的數(shù)據(jù)參數(shù)的配置第5頁量化投資策略開發(fā)實例命令窗口運行界面工具運行Stkcd.xml配置<?xmlversion="1.0"encoding="utf-8"?><Strategy><code

ContractMultiplier=""Currency="CNY"MarginLevel="1"MaxShare="“

exchangeType="ExchangeType.CFFEX"id="IF主力連續(xù)A"name="IF主力連續(xù)A"/></Strategy>

每個code標簽下,ContractMultiplier、Currency、MarginLevel、MaxShare、為實時交易部分配置,歷史回驗設置無效。ContractMultiplier:合約乘數(shù)Currency:貨幣種類MarginLevel:交易保證金比例MaxShare:當前合約的最大持倉量exchangeType表示市場類型枚舉id:交易標的代碼第6頁市場類型枚舉SZSE深圳證券交易所SSE上海證券交易所HKEX香港聯(lián)合交易所CFFEX中國金融期貨交易所ZCE鄭州期貨交易所DCE大連期貨交易所SHFE上海期貨交易所策略開發(fā)——交易標的配置%Stkcd.xml名字可更換量化投資策略開發(fā)實例StrategyCfg.xml配置<?xmlversion="1.0"encoding="utf-8"?><Strategy><strategyFunction

name="TrendTrade"/><strategyArguments

rebalanceCycle="1"returnCalFrequency="TimeIntervals.MIN15"/><FactorDataCfg

dateListType="DateListType.Trading"localPath=“pwd\cacheData“

periodType="PeriodType.IFTradingPeriod"tickerList="stkcd.xml"/><data

decisionDataLength="30"fieldname="CP"frequency="TimeIntervals.MIN01"/><datadecisionDataLength="30"fieldname="HIP"frequency="TimeIntervals.MIN01"/><datadecisionDataLength="30"fieldname="LOP"frequency="TimeIntervals.MIN01"/><datadecisionDataLength="30"fieldname="CQ"frequency="TimeIntervals.MIN01"/></Strategy>第7頁策略開發(fā)——策略運行配置全景展示量化投資策略開發(fā)實例策略開發(fā)——函數(shù)名稱及調(diào)倉配置StrategyCfg.xml配置<?xmlversion="1.0"encoding="utf-8"?><Strategy><strategyFunction

name="TrendTrade"/><strategyArgumentsrebalanceCycle="1"returnCalFrequency="TimeIntervals.MIN15"/>標簽strategyFunction(用途:用戶編寫的策略函數(shù)名稱):name填入策略函數(shù)名。標簽strategyArguments(用途:策略的參數(shù)配置):rebalanceCycle:重平衡周期,策略回驗時,每過rebalanceCycle根bar將進行一次投資決策,計算目標目標持倉。Bar的大小取決于returnCalFrequency;returnCalFrequency:計算收益率的頻率第8頁量化投資策略開發(fā)實例%StrategyCfg.xml名字可更換策略開發(fā)——策略數(shù)據(jù)及緩存配置StrategyCfg.xml配置<FactorDataCfg

dateListType="DateListType.Trading"localPath=“pwd\cacheData“

periodType="PeriodType.IFTradingPeriod"tickerList="stkcd.xml"/>標簽FactorDataCfg(用途:策略的時間及標的配置)dateListType:表示日期類型:Trading,交易日;Working,工作日;localPath:本地Mat緩存文件的存儲路徑(絕對路徑),Matlab中,pwd表示當前的工作空間路徑;periodType:交易時間配置信息;tickerList:表示讀取的證券代碼列表,可以是定義交易標的的xml文件路徑名稱,也可以是板塊,支持的板塊列表有:(’AllAStock,’SHA’,’SZA’,’AllBStock’,’SHB’,’SZB’,’HS300’)第9頁量化投資策略開發(fā)實例%StrategyCfg.xml名字可更換

<data

decisionDataLength="30"fieldname="CP"frequency="TimeIntervals.MIN01"/><datadecisionDataLength="30"fieldname="HIP"frequency="TimeIntervals.MIN01"/><data

decisionDataLength="30"fieldname="LOP"frequency="TimeIntervals.MIN01"/><data

decisionDataLength="30"fieldname="CQ"frequency="TimeIntervals.MIN01"/></Strategy>標簽data(用途:策略決策所需數(shù)據(jù)配置)策略決策時每需要一種數(shù)據(jù),則需要配置一個data標簽decisionDataLength:每次策略函數(shù)計算目標持倉權重時所需的改數(shù)據(jù)長度,必須為大于等于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頁策略開發(fā)——策略數(shù)據(jù)配置量化投資策略開發(fā)實例StrategyCfg.xml配置<?xmlversion="1.0"encoding="utf-8"?><Strategy><strategyFunction

name="TrendTrade"/><strategyArguments

rebalanceCycle="1"returnCalFrequency="TimeIntervals.MIN15"/><FactorDataCfg

dateListType="DateListType.Trading"localPath=“pwd\cacheData“

periodType="PeriodType.IFTradingPeriod"tickerList="stkcd.xml"/><data

decisionDataLength="30"fieldname="CP"frequency="TimeIntervals.MIN01"/><datadecisionDataLength="30"fieldname="HIP"frequency="TimeIntervals.MIN01"/><datadecisionDataLength="30"fieldname="LOP"frequency="TimeIntervals.MIN01"/><datadecisionDataLength="30"fieldname="CQ"frequency="TimeIntervals.MIN01"/></Strategy>第11頁策略開發(fā)——策略運行配置全景展示量化投資策略開發(fā)實例策略開發(fā)——主程序第12頁function[portfolio,newStateMatrix]=TrendTrade(tradingData,stateMatrix)輸入:

1、decisionData:結構體,存儲策略決策所需數(shù)據(jù);

(1)decisionData.time:策略決策的時間(2)decisionData.varList:策略決策所需數(shù)據(jù)的名稱列表;

(3)decisionData.factorN_frequency:策略決策所需數(shù)據(jù)結構體

(4)decisionData.factorN_frequency.data:策略決策所需數(shù)據(jù)矩陣;

(5)decisionData.factorN_frequency.timeList:矩陣的列索引,表示矩陣中每列代表的時間點;

(6)decisionData.factorN_frequency.tickerList:矩陣的行索引,表示矩陣中每列代表的交易標的;2、stateMatrix:策略函數(shù)上次存儲的狀態(tài)信息;輸出:1、portfolio:策略函數(shù)經(jīng)過運算后得到的,目標投資組合資金權重序列,維度必須和訂閱的交易標的數(shù)目相同;量化投資策略開發(fā)實例策略開發(fā)——數(shù)據(jù)提取及建立趨勢套利依據(jù)%%變量賦值list=tradingData.varList;Factor_CP=tradingData.(list{1}).data;Factor_HIP=tradingData.(list{2}).data;Factor_LOP=tradingData.(list{3}).data;Factor_CQ=tradingData.(list{4}).data;%初始化

ifisempty(stateMatrix)portfolio=0;stateMatrix.position=portfolio;stateMatrix.index=0;end%計算emv指標emv=EMV(Factor_HIP,Factor_LOP,Factor_CQ,14);

第13頁量化投資策略開發(fā)實例策略開發(fā)——判斷止損

%首先判斷是否需要止損,止損設在成交價的0.001比例上。

if((stateMatrix.index==1)&&(Factor_CP(end)<=0.999*stateMatrix.price))||...((stateMatrix.index==-1)&&(Factor_CP(end)>=1.001*stateMatrix.price))portfolio=0;stateMatrix.position=portfolio;stateMatrix.index=0;stateMatrix.price=Factor_CP(end);第14頁量化投資策略開發(fā)實例策略開發(fā)——設置開倉平倉依據(jù)第15頁量化投資策略開發(fā)實例%判斷emv指標是否從0以下穿越到0以上

elseif(emv(end)*emv(end-1)<0)&&(emv(end-1)<0)portfolio=1;stateMatrix.position=portfolio;stateMatrix.index=1;stateMatrix.price=Factor_CP(end);%判斷emv指標是否從0以上穿越到0以下

elseif(emv(end)*emv(end-1)<0)&&(emv(end-1)>0)portfolio=-1;stateMatrix.position=portfolio;stateMatrix.index=-1;stateMatrix.price=Factor_CP(end);elseportfolio=stateMatrix.position;endnewStateMatrix=stateMatrix;end策略開發(fā)——主程序整體展示%%變量賦值list=tradingData.varList;Factor_CP=tradingData.(list{1}).data;Factor_HIP=tradingData.(list{2}).data;Factor_LOP=tradingData.(list{3}).data;Factor_CQ=tradingData.(list{4}).data;%初始化

ifisempty(stateMatrix)portfolio=0;stateMatrix.position=portfolio;stateMatrix.index=0;end%計算emv指標emv=EMV(Factor_HIP,Factor_LOP,Factor_CQ,14);

%首先判斷是否需要止損,止損設在成交價的0.001比例上。

if((stateMatrix.index==1)&&(Factor_CP(end)<=0.999*stateMatrix.price))||...((stateMatrix.index==-1)&&(Factor_CP(end)>=1.001*stateMatrix.price))第16頁

portfolio=0;stateMatrix.position=portfolio;stateMatrix.index=0;stateMatrix.price=Factor_CP(end);%判斷emv指標是否從0以下穿越到0以上

elseif(emv(end)*emv(end-1)<0)&&(emv(end-1)<0)portfolio=1;stateMatrix.position=portfolio;stateMatrix.index=1;stateMatrix.price=Factor_CP(end);%判斷emv指標是否從0以上穿越到0以下

elseif(emv(end)*emv(end-1)<0)&&(emv(end-1)>0)portfolio=-1;stateMatrix.position=portfolio;stateMatrix.index=-1;stateMatrix.price=Factor_CP(end);elseportfolio=stateMatrix.position;endnewStateMatrix=stateMatrix;end量化投資策略開發(fā)實例策略開發(fā)——回驗配置全景展示BackTestCfg.xml配置<?xmlversion="1.0"encoding="utf-8"?><BackTest><backtestArgumentsactionDelay="1"orgidMode="all"repoFrequency="DAY01"reportDisplay="On"resultSave="On"/><transactionCostbuy="0.00005"securityType="SecurityType.StockA"sell="0.00005"/><transactionCostbuy="0.00005"securityType="SecurityType.StockB"sell="0.00005"/>……<performanceAnalysisDatacode=""funName="modifiedSharpRatio"name="alpha"value="0.05"/><performanceAnalysisDatacode="000300"funName="CorrWithMarket"name="CSI300Rtn"value=""/><performanceAnalysisFundispName="日平均收益率"funName="averageSimpleRateOfReturn"/><performanceAnalysisFundispName="累積簡單收益率"funName="cumsumSimpleReturn"/>……<performanceAnalysisFundispName="修正的夏普比率"funName="modifiedSharpRatio"/><benchmarkcode="000300"name="benchmark"/></BackTest>第17頁量化投資策略開發(fā)實例策略開發(fā)——回驗配置BackTestCfg.xml配置<?xmlversion="1.0"encoding="utf-8"?><BackTest><backtestArguments

actionDelay="1"orgidMode="all"repoFrequency="DAY01"reportDisplay="On"resultSave="On"/>標簽backtestArguments(用途:策略回驗的參數(shù)配置)actionDelay:交易延遲,策略從投資決策到通過交易生成持倉的延遲。必須為非負整數(shù)。比如actionDelay為2,returnCalFrequency為1,returnCalFrequency為TimeIntervals.SEC05,將會以決策時點2*5=10秒后的價格成交;orgidMode:由交易代碼轉(zhuǎn)為orgid的模式。(注意:對于股票而言,同一交易代碼可能由于借殼上市等原因,隨著時間區(qū)間不同,其意義會發(fā)生變化,系統(tǒng)后臺會將交易代碼轉(zhuǎn)為orgid——對股票而言,以公司作為證券關聯(lián)對象的唯一碼。)對股票而言,如果用戶輸入all,系統(tǒng)將會訂閱回驗區(qū)間內(nèi)使用過該交易代碼的所有行情,通過orgid進行區(qū)分,同樣,通過orgid區(qū)分策略函數(shù)返回的持倉權重序列;如果用戶輸入latest,則系統(tǒng)會訂閱最新使用該交易代碼的行情,同樣通過orgid區(qū)分。如果交易代碼列表中不存在股票標的,則不用考慮該屬性;第18頁量化投資策略開發(fā)實例策略開發(fā)——回驗配置<?xmlversion="1.0"encoding="utf-8"?><BackTest><backtestArgumentsactionDelay="1"orgidMode="all"repoFrequency="DAY01"reportDisplay="On"resultSave="On"/>標簽backtestArguments(用途:策略回驗的參數(shù)配置)repoFrequency:債券的回購頻率。支持DAY01(每日回購)和DAY07(每七日回購)兩個枚舉。系統(tǒng)將會據(jù)此獲取債券的杠桿費用。注意:當交易代碼列表不存在債券標的時,則不用考慮該屬性;reportDisplay:excel績效報表展示開關,當設為On的時候,策略回驗結束后會顯示策略績效的excel績效報告;設為其他值時則不會打印;resultSave:excel績效報表保存開關,當設為On的時候,策略回驗結束后會被保存;設為其他值時則不會打?。坏?9頁量化投資策略開發(fā)實例

<transactionCost

buy="0.00005"securityType="SecurityType.StockA"sell="0.00005"/><transactionCostbuy="0.00005"securityType="SecurityType.StockB"sell="0.00005"/>第20頁品種的枚舉類型securityTypeStockAA股StockBB股Index指數(shù)Fund基金B(yǎng)ond債券CommodityFuture商品期貨IndexFuture

指數(shù)期貨標簽transactionCost(用途:按品種配置交易費用)

每配置一個品種需要增加一個標簽,需要按買入和賣出分別配置交易費用。buy:該品種買入的交易費用比例;securityType:品種的枚舉類型;sell:該品種賣出的交易費用比例;策略開發(fā)——回驗配置量化投資策略開發(fā)實例

<performanceAnalysisDatacode=""funName="modifiedSharpRatio"name="alpha"value="0.05"/><performanceAnalysisDatacode="000300"funName="CorrWithMarket"name="CSI300Rtn"value=""/>第21頁標簽performanceAnalysisData(用途:策略績效指標的數(shù)據(jù)參數(shù)配置)

計算績效指標所需數(shù)據(jù)目前只支持指數(shù)收益率,且策略的簡單收益率序列不需要配置,系統(tǒng)會自動傳入到每個績效評價函數(shù)中。code:如果評價指標計算需要指數(shù)收益率,屬性值為指數(shù)代碼,比如計算特雷諾指數(shù)需要滬深300收益率,則填寫000300;如果填’’,認為該標簽描述的是評價指標的參數(shù),value的值不能為空;funName:計算績效指標的函數(shù)名稱,必須和performanceAnalysisFun標簽中的函數(shù)名相對應;name:指標名稱,績效評價函數(shù)以此作為域名解析數(shù)據(jù);value:如果該標簽描述的是績效函數(shù)的參數(shù),則code為’’,而value不能為空。策略開發(fā)——回驗配置量化投資策略開發(fā)實例

<performanceAnalysisFundispName="日平均收益率"funName="averageSimpleRateOfReturn"/><performanceAnalysisFundispName="累積簡單收益率"funName="cumsumSimpleReturn"/>……<performanceAnalysisFundispName="修正的夏普比率"funName="modifiedSharpRatio"/><benchmarkcode="000300"name="benchmark"/></BackTest>標簽performanceAnalysisFun(用途:策略績效指標)dispName:策略績效函數(shù)顯示在excel績效報告中的名稱;funName:策略績效函數(shù)名稱,系統(tǒng)將會尋找同名的函數(shù)計算策略績效并生成報表。標簽benchmark(用途:excel報表中的基準收益率)code:指數(shù)的代碼。第22頁策略開發(fā)——回驗配置量化投資策略開發(fā)實例策略開發(fā)——回驗配置全景展示BackTestCfg.xml配置<?xmlversion="1.0"encoding="utf-8"?><BackTest><backtestArgumentsactionDelay="1"orgidMode="all"repoFrequency="DAY01"reportDisplay="On"resultSave="On"/><transactionCostbuy="0.00005"securityType="SecurityType.StockA"sell="0.00005"/><transactionCostbuy="0.00005"securityType="SecurityType.StockB"sell="0.00005"/>……<performanceAnalysisDatacode="

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論