2 Data.dConf.gen.curRevision=19641;
3 % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5 %% ----------------------------------General settings
6 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8 % number of processor used (increase of
this parameter may lead to speeding
10 Data.dConf.gen.nProcessors=2;
12 %% Data.dConf.gen.input.database
13 Connectors(1).type=
'mym'; % matlab4b
14 Connectors(1).sourceName=
'production_1_8_all';
15 Connectors(1).hostName=
'model4a'; % dont forget to run putty!
16 Connectors(1).login=
'root';
17 Connectors(1).password=
'matlab4a';
19 Connectors(2).type=
'mym'; %penguin
for pe funds
20 Connectors(2).sourceName=
'production_1_8_all';
21 Connectors(2).hostName=
'10.100.8.35';
22 Connectors(2).login=
'root';
23 Connectors(2).password=
'rico';
25 Data.dConf.gen.connectors=Connectors;
26 % the name of the configuration that is loaded from database
27 Data.dConf.gen.configurationNames={
'sysrep_hor_3_15_maws_80_block_useexisting'};
28 Data.dConf.gen.configurationXmlFiles={inpNum};
31 % each configuration has a version (major and minor)
32 % describing its creation method
33 % RelVal has a major configuration version number,
34 % loading configurations with different major version numbers
35 % than Data.dConf.gen.configurationMajorVersion results in an error
36 Data.dConf.gen.configurationMajorVersion=1;
39 %penguin production database
40 Data.dConf.gen.input.gen.connector=2;
43 %assets to be TRADED - a subset of assets to be pulled from the database
44 %
for future - time of historical database update by the Revolver based on
45 %data recorded intra-day
46 Data.dConf.gen.input.realtime.quotesFileName=
'quotes.mat';
47 Data.dConf.gen.input.realtime.quotesFieldNames={...
48 'askPrice',
'askSize',
'bidPrice',
'bidSize',
'lastPrice',
'lastSize',
'midAvgPrice'...
50 Data.dConf.gen.input.realtime.tradesFileName=
'trades.mat';
52 Data.dConf.gen.input.realtime.instHeatRateFileName=
'heatrate.mat';
54 %% Data.dConf.gen.cdefs.gen
56 Data.dConf.gen.cdefs.gen.instTypeName={
'futures',
'call',
'put'};
57 Data.dConf.gen.cdefs.gen.instTypeCode={
'Future',
'Call',
'Put'};
60 Data.dConf.gen.cdefs.gen.somethingDummy={
'Future',
'Call',
'Put';...
61 'Future2',
'Call1',
'3'};
63 %% Data.dConf.gen.cdefs.pairType
64 %relationships between pairs analyzed as a part of pair-wise method based
65 %on heat-rate modelling
66 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
67 %% ---------------------------------Backtest settings
68 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
69 % a directory where the software stores transitional probability matrices
70 % of mean reversion estimates - BACKTEST mode
72 Data.dConf.backtest.output.gen.dumpDir=
'.\DumpBKT\'; 74 Data.dConf.backtest.output.gen.dumpDir='./DumpBKT/
'; 77 %a directory, where backtest stores its cached sqlqueries 78 Data.dConf.backtest.input.gen.dumpDir=['test
' filesep 'DumpBKT
' filesep]; 80 Data.dConf.backtest.gen.isRecoveredFromDump=0; 81 % options of saving results of experiments (used in behavioral testing 83 Data.dConf.backtest.gen.scenarioName='backtest_testing
'; 84 Data.dConf.backtest.gen.isSavedToDB=1; % save in database 85 Data.dConf.backtest.gen.isSavedToFile=1; % save in .exps file 86 % list of paths in from Data.dCalc.backtest.tradingAct that should be 87 % saved in universal structure of experiment 88 Data.dConf.backtest.gen.resPathList={'gen
','portfolio
','pair.positions
','asset.positions
'}; 89 % directory in which results of experiments will be stored 91 Data.dConf.backtest.gen.resDir=['test
' filesep '..
' filesep '..
' filesep 'EExplorer/Experiment_base
' filesep]; 93 %% backtest sharing setting 94 % if true, skip sharing, 95 Data.dConf.backtest.calc.sharing.isSharing=0; 96 Data.dConf.backtest.calc.sharing.sharingFolder=['test
' filesep 'DumpBKT\share
']; 97 % do perform some testing checks upon sharing, 98 Data.dConf.backtest.calc.sharing.isTestMode=0; 100 %% backtest sql caching setting 102 Data.dConf.backtest.input.database.sqlCaching.cacheDir=['test
' filesep 'DumpBKT/sql
' filesep]; 103 Data.dConf.backtest.input.database.sqlCaching.isCaching=0; 105 %% Do not place on GUI 108 % minimal interval of non-missed quotes for pair to be admissible; this 109 % interval begins with first non-missed quote and ends at the last day when 110 % both assets of pair are not yet expired 113 %defualt dates of subset of backtyest period to be run - has to be inside 114 %the total period specified earlier in the file. These dates can be changed 115 %on the screen, but will come back to default every time the system is 118 %Data.dConf.backtest.calc.gen.startDate=datenum('01/1/2006
'); 119 %Data.dConf.backtest.calc.gen.endDate=datenum('08/1/2006
'); 121 %subest history and future term structures used for estimation - same 122 %relationships to overall history and screen changes as dates above 123 % backtest portion of transactiopn cost expected to be paid when exiting from 125 %backtest number of times a year when gains are distributed to investors and assets 126 %under management reduced back to initial asset base 127 % probability for pair PnL outliers 129 %% Data.dConf.backtest.calc.missedQuotesRecovery 132 %% Data.dConf.backtest.calc.portfBkg 135 %% Data.dConf.backtest.calc.pairForecast 138 % if isTestMode is nonzero, then the following parameter determine the list 139 % of pairs that would be forecasted in special mode and such that only 140 % they would be tradable and may be saved in results of experiment and so 141 % on; selectedPairNames is cell array of strings and has two rows and 142 % nPairs columns, each column corresponds to each pair (or set of pairs), 143 % in each cell it is possible to set both commodity type (something like 144 % 'NG
') and commodity type and year (something like 'NG7
') and asset 145 % (something like 'NG7K
'), moreover, it is possible for pair to set, say, 146 % commodity type versa some asset, for instance, {'PJM
';'NG7K
'}, then all 147 % pairs such that their first lag has PJM as underlying commodity and their 148 % second lag is exactly 'NG7K
' would be selected; if this list is empty, 149 % then all pairs are tradable by default 151 % Remark: 1) If selectedPairNames is nonempty, i.e. we do select some pairs 152 % as tradable, then logit regression would be estimated only for 153 % these pairs only in the case forecastBasisMode (see below) is 155 % 2) The mode in which selected pairs are forecasted is determined 156 % by the value of isTestMode parameter, the possible values are 158 % a) 1 or 2 --- then the logit regression parameters are 159 % estimated only for selected pairs with given test mode 160 % b) 3 --- then the logit regression parameters are estimated 161 % only for selected pairs with non-test mode 162 % 3) If forecastBasisMode (see below) is equal to 'full
' and the 163 % system does select some pairs, then forecasting basis used to 164 % determine metrics of portfolio is constructed without 165 % taking into account of cointegration constraints 166 Data.dConf.backtest.calc.pairForecast.gen.pair.selectedPairNames={};%... 167 % [{'PJM
';'PJM
'} {'PJM
';'NG
'} {'PJM
';'CL
'} {'PJM
';'HO
'} {'PJM
';'NYA
'}... 168 % {'NYA
';'NG
'} {'NYA
';'NYA
'} {'PJM
';'NEPool
'} {'NEPool
';'NG
'}... 169 % {'NEPool
';'CL
'} {'NEPool
';'HO
'} {'NEPool
';'NYA
'} {'NEPool
';'NEPool
'}]; 172 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 173 % hedgeRatio method parameters 174 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 175 % Data.dConf.backtest.calc.pairForecast.methods.transProb.pair.coint.methods.hedgeRatio.param=[]; 177 % Data.dConf.backtest.calc.pairForecast.methods.transProb.pair.coint.methods.cointBasis.param.isConstrApplied=true; 178 %matrix that determines drivers between different commodity types for 179 %equal maturities, 1 is set if first lag (row) is a driver for second 180 %lag (colum), 0 otherwise 181 % Data.dConf.backtest.calc.pairForecast.methods.transProb.pair.coint.methods.cointBasis.param.constr.eqMaturityDriver=[... 182 ...%NG PJM CL HU HO NYA NEPool 183 % 0 1 0 0 0 1 1;... %NG 184 % 0 0 0 0 0 1 1;... %PJM 185 % 0 1 0 0 1 0 0;... %CL 186 % 0 0 0 0 0 0 0;... %HU 187 % 0 0 0 0 0 0 1;... %HO 188 % 0 0 0 0 0 0 0;... %NYA 189 % 0 0 0 0 0 0 0]; %NEPool 190 %constraint applied when month of given commodity type (typeId) is in 191 %the given range (monthNum); month contract drives all contracts of 192 %the same type and the same season and months from monthDriven list 193 % StIntratypeMonthDriver=struct('typeId
',[],'monthNum
',[],'monthDriven
',[]); 195 % StIntratypeMonthDriver(1).typeId='NG
'; 196 % StIntratypeMonthDriver(1).monthNum=[11 12 1 2 3]; 197 % StIntratypeMonthDriver(1).monthDriven=[11 12 1 2 3]; 199 % StIntratypeMonthDriver(2).typeId='NG
'; 200 % StIntratypeMonthDriver(2).monthNum=3; 201 % StIntratypeMonthDriver(2).monthDriven=4; 203 % StIntratypeMonthDriver(3).typeId='NG
'; 204 % StIntratypeMonthDriver(3).monthNum=[4 5 6 7 8 9 10]; 205 % StIntratypeMonthDriver(3).monthDriven=[4 5 6 7 8 9 10]; 207 % Data.dConf.backtest.calc.pairForecast.methods.transProb.pair.coint.methods.cointBasis.param.constr.intratypeMonthDriver=StIntratypeMonthDriver; 208 %all pairs between two commodity types (i.e. for all combinations of 209 %maturities) are taken if 1 (this constraint override all preceding 210 %constraints in this case), otherwise only those pairs are constructed that 211 %are determined by preceding constraints above 212 % Data.dConf.backtest.calc.pairForecast.methods.transProb.pair.coint.methods.cointBasis.param.constr.allPairs=[... 213 % ...%NG PJM CL HU HO NYA NEPool 214 % 0 0 0 0 0 0 0;... %NG 215 % 0 0 0 0 0 0 0;... %PJM 216 % 0 0 1 0 0 0 0;... %CL 217 % 0 0 0 0 0 0 0;... %HU 218 % 0 0 0 0 0 0 0;... %HO 219 % 0 0 0 0 0 0 0;... %NYA 220 % 0 0 0 0 0 0 0]; %NEPool 221 %method for determining size of moving window used in cointegration 223 % Data.dConf.backtest.calc.pairForecast.methods.transProb.pair.coint.methods.cointBasis.param.cointWindSize.curMethod='fixedDate
'; 224 %in this method the size of the moving window is determined as difference 225 %between the total number of historical observations and given subtrahend, 226 %if it is equal to 0, then we take the size of the moving window equal to 227 %the total number of historical observations 228 % Data.dConf.backtest.calc.pairForecast.methods.transProb.pair.coint.methods.cointBasis.param.cointWindSize.methods.histMinusLast.param.subtrahend=0; 229 %in this method the size of the moving window is determined by fixed 230 %calendar date, i.e. the size of the window coincides with the number of 231 %available observations up to startDate 232 %Data.dConf.backtest.calc.pairForecast.methods.transProb.pair.coint.methods.cointBasis.param.cointWindSize.methods.fixedDate.param.startDate=datenum('22-May-2007
'); 233 % in this method the size of the moving window is given explicitely 234 % Data.dConf.backtest.calc.pairForecast.methods.transProb.pair.coint.methods.cointBasis.param.cointWindSize.methods.exact.param.windSize=1000; 236 % %% new prob calc settings 237 % number of lags in estimation of meanDec 238 Data.dConf.backtest.calc.pairForecast.meanDec.nLags=120+inpNum; 239 Data.dConf.realtime.calc.pairForecast.meanDec.nLags=120; 240 % aggr. size (number of lags in aggr. interval) 241 Data.dConf.backtest.calc.pairForecast.meanDec.aggrSize=30; 242 Data.dConf.realtime.calc.pairForecast.meanDec.aggrSize=30; 243 % number of points in empirical distribution of residuals 244 Data.dConf.backtest.calc.pairForecast.meanDec.nPoints=10; 245 Data.dConf.realtime.calc.pairForecast.meanDec.nPoints=10; 246 % use aux variable or not in creation of armaforecast class 247 Data.dConf.backtest.calc.pairForecast.meanDec.isUseAuxVar=0; 248 Data.dConf.realtime.calc.pairForecast.meanDec.isUseAuxVar=0; 249 % work with logitautoregress class or not (used in test script of 250 % armaforecast class) 251 Data.dConf.backtest.calc.pairForecast.meanDec.isUseLogitClass=1; 252 Data.dConf.realtime.calc.pairForecast.meanDec.isUseLogitClass=1; 253 %% Probability calculation settings 255 %method for determining size of moving window used in discrete 256 %approximation performed for estimation of transitional probabilities via 257 %multinomial logit regression 258 % Data.dConf.backtest.calc.pairForecast.methods.transProb.pair.prob.discrWindSize.curMethod='fixedDate
'; 259 %in this method the size of the moving window is determined as difference 260 %between the total number of historical observations and given subtrahend, 261 %if it is equal to 0, then we take the size of the moving window equal to 262 %the total number of historical observations 263 % Data.dConf.backtest.calc.pairForecast.methods.transProb.pair.prob.discrWindSize.methods.histMinusLast.param.subtrahend=0; 264 %in this method the size of the moving window is determined by fixed 265 %calendar date, i.e. the size of the window coincides with the number of 266 %available observations up to startDate 267 % Data.dConf.backtest.calc.pairForecast.methods.transProb.pair.prob.discrWindSize.methods.fixedDate.param.startDate=datenum('20-Feb-2007
'); 268 % in this method the size of the moving window is given explicitely 269 % Data.dConf.backtest.calc.pairForecast.methods.transProb.pair.prob.discrWindSize.methods.exact.param.windSize=250; 270 %determines mode for calculation of transitional probabilities matrix and 271 %use of already calculated one (if it exists); if it is 'calc
', then matrix 272 %is calculated anyway, if it is 'request
', then user is requested what to 273 %do, if it is 'useexisting
', then user is not requested what to do, matrix 274 %is calculated only in the case when there is no calculated one that may be 275 %used, 'useexact
' means almost the same as 'useexisting
' save the existing 276 %matrix is used ONLY when its status is 1 (i.e. it was calculated for all 278 % Data.dConf.backtest.calc.pairForecast.methods.transProb.pair.prob.probCalcMode='calc
';%/{'calc
','request
','useexisting
','useexact
'} 279 %determines whether outliers in deviation from short-term trend (i.e. 280 %deviations that do not lie in the interval plus-minus 3*sigma from 281 %short-term trend) are truncated or not according to the probability 282 %partitioning constructed during discretization 283 % Data.dConf.backtest.calc.pairForecast.methods.transProb.pair.prob.isDevTruncated=false; 284 %maximum transition horizon used in forecasting 285 % Data.dConf.backtest.calc.pairForecast.methods.transProb.pair.prob.horizonList=[2 3 5 8 10 15 22]; 286 %number of lags used in multilogit regression 287 % Data.dConf.backtest.calc.pairForecast.methods.transProb.pair.prob.nLags=25; 288 %ratio used for calculation of maximum adverse movement according to 289 %formula maxAdvMove=std2advMoveRatio*pairPriceStd; 290 % Data.dConf.backtest.calc.pairForecast.methods.transProb.pair.prob.std2advMoveRatio=3/4; 291 %window size for moving standard deviation calculation 292 % Data.dConf.backtest.calc.pairForecast.methods.transProb.pair.prob.stdWindowSize=40; 293 %probability level specifying the width of trading channel 294 % Data.dConf.backtest.calc.pairForecast.methods.transProb.pair.prob.channelProbWidth=0.8; 295 %probability distribution specifying the regimes- DO NOT EDIT 296 % Data.dConf.backtest.calc.pairForecast.methods.transProb.pair.prob.probPart=[0.05 0.05 nan 0.05 0 0.05 nan 0.05 0.05]; 297 %Data.dConf.backtest.calc.pairForecast.methods.transProb.pair.prob.probPart=[0.1 0.1 nan 0.075 0 0.075 nan 0.1 0.1]; 298 %window size for predictability error calculation 299 % Data.dConf.backtest.calc.pairForecast.methods.transProb.pair.prob.errWindowSize=100; 300 %size of shift (in days) that is used for predictability error calculation 301 % Data.dConf.backtest.calc.pairForecast.methods.transProb.pair.prob.errWindowShift=5; 302 %window size for probability matrices calculation 303 % Data.dConf.backtest.calc.pairForecast.methods.transProb.pair.prob.probWindowSize=5*250; 304 %window size for trend calculation in form of MA (when is fixed for all 306 % Data.dConf.backtest.calc.pairForecast.methods.transProb.pair.prob.windSizeCalc.methods.fixed.maWindowSize=150; 307 %window calculation method 308 % Data.dConf.backtest.calc.pairForecast.methods.transProb.pair.prob.windSizeCalc.curMethod='fixed
';%groupAndPairOptimal,groupOptimal,fixed 310 % Data.dConf.backtest.calc.pairForecast.methods.transProb.pair.prob.windSizeCalc.gen=[]; 311 % minimal possible optimal window size for calc. MA (groups & pairs) 312 % Data.dConf.backtest.calc.pairForecast.methods.transProb.pair.prob.windSizeCalc.methods.groupAndPairOptimal.minWindowSize=6; 313 % maximal possible optimal window size for calc. MA (groups & pairs) 314 % Data.dConf.backtest.calc.pairForecast.methods.transProb.pair.prob.windSizeCalc.methods.groupAndPairOptimal.maxWindowSize=100; 315 % horizon for calculating metrics (groups & pairs) 316 % Data.dConf.backtest.calc.pairForecast.methods.transProb.pair.prob.windSizeCalc.methods.groupAndPairOptimal.horizon=5; 317 % minimal possible optimal window size for calc. MA (groups) 318 % Data.dConf.backtest.calc.pairForecast.methods.transProb.pair.prob.windSizeCalc.methods.groupOptimal.minWindowSize=6; 319 % maximal possible optimal window size for calc. MA (groups) 320 % Data.dConf.backtest.calc.pairForecast.methods.transProb.pair.prob.windSizeCalc.methods.groupOptimal.maxWindowSize=100; 321 % horizon for calculating metrics (groups) 322 % Data.dConf.backtest.calc.pairForecast.methods.transProb.pair.prob.windSizeCalc.methods.groupOptimal.horizon=5; 323 %window size for smoothing in form of MA appropriate is in [1,3] 324 % Data.dConf.backtest.calc.pairForecast.methods.transProb.pair.prob.maSmoothWindowSize=[]; 325 %length (in days) of probability calculation period 326 % Data.dConf.backtest.calc.pairForecast.methods.transProb.pair.prob.probCalcPeriod=5; 327 %method of the transitional probabilities calculation - 'discrete
' means we use 328 %discrete time series (cathegories) both for forecasted and observed values 329 %in multinomial logistic regresssion; 'semidiscrete
' means we use discrete 330 %values (cathegories) for forecasted values and continuous values 331 %(normalized deviations from short-term trend) for observed time series 332 % Data.dConf.backtest.calc.pairForecast.methods.transProb.pair.prob.probCalcScheme='semidiscrete
';%/{'discrete
','semidiscrete
'} 333 %weights for last days in multinomial logistic regression, temporarily unique for all 335 Data.dConf.backtest.calc.pairForecast.methods.transProb.pair.prob.probGroup.curMethod='transProbGroups
'; 336 Data.dConf.backtest.calc.pairForecast.methods.transProb.pair.prob.probGroup.methods.transProbGroups.param.yearWeights=[0.05 0.1 0.175 0.275 0.4]+inpNum; 337 %method of the returns calculation - 'instant
' means we use only one lags 338 %while 'full
' means we forecast each horizon separately. Use full - for 339 %real-time. Get better quality returns! 340 Data.dConf.backtest.calc.pairForecast.methods.transProb.pair.prob.retCalcScheme='full
';%/{'instant
','full
'} 341 %method of score processing - 'none
' means that no processing of score is 342 %performed, 'pricecorridor
' means that method based on change of 343 %current price corridor is used 344 Data.dConf.backtest.calc.pairForecast.methods.transProb.pair.prob.scoreProc.curMethod='priceCorridor
';%/{'none
','priceCorridor
'} 345 %determines whether each price corridor have fixed center or it is 346 %determined at each iteration automatically (for backtest it is false, 347 %thus, the center is determined by the last price on which score is based) 348 Data.dConf.backtest.calc.pairForecast.methods.transProb.pair.prob.scoreProc.methods.priceCorridor.param.isCenterFixed=false; 349 %multiplier coefficient determining width of price corridor, that is 350 %calculated as pair bid-ask spread multiplied by its value 351 Data.dConf.backtest.calc.pairForecast.methods.transProb.pair.prob.scoreProc.methods.priceCorridor.param.corridorMultCoeff=... 352 [1.5;1.5;1.5;1.5;1.5;1.5;1.5;1.5;1.5;1.5;1.5;1.5;1.5;1.5;1.5;1.5;1.5;1.5;1.5;1.5;1.5;1.5;1.5;1.5;1.5;1.5;1.5;1.5]+inpNum; 353 %names of regimes used for testing purposes 354 Data.dConf.backtest.calc.pairForecast.methods.transProb.pair.prob.regNames=... 363 % method of choice of basis for forecasting of returns - 'auxBasis
' means 364 % we use special auxiliary forecasting basis to calculate returns while 365 % 'full
' means we forecast all yet non-expired pairs and 'cointConstr
' 366 % means we forecast only those non-expired pairs for which cointegration 367 % constrains are true (see above for details) 368 %Data.dConf.backtest.calc.pairForecast.methods.transProb.pair.prob.forecastBasisMode='full
';%/{'auxBasis
','full
','cointConstr
'} 369 % parameters that may influence on probability matrix (saved in cache for 370 % filtering); if path includes as its part ".backtest." or ".realtime.", 371 % this part should be changed on ".(curMode).", path must be absolute, 372 % i.e. should start from "Data.dConf." 373 Data.dConf.backtest.calc.pairForecast.methods.transProb.pair.prob.probMatParamPaths={... 374 'Data.dInput.configuration.configurationStruct.modules.generalProperties.modules.database
',... 375 'Data.dInput.configuration.configurationStruct.modules.generalProperties.gen.common.instMode
',... 376 'Data.dInput.configuration.configurationStruct.modules.forecastingProperties.modules.trendDev.methods.transProb.gen.common.className
',... 377 'Data.dInput.configuration.configurationStruct.modules.forecastingProperties.modules.trendDev.methods.transProb.gen.common.forecastPairMode
',... 378 'Data.dInput.configuration.configurationStruct.modules.forecastingProperties.modules.trendDev.methods.transProb.gen.common.outliersWindowSize
',... 379 'Data.dConf.gen.input.gen.typeId
',... 380 'Data.dConf.gen.input.gen.nHistTerms
',... 381 'Data.dConf.gen.input.gen.nMaxTTM
',... 382 'Data.dConf.gen.input.gen.nMinHistQuotes
',... 383 'Data.dConf.(curMode).calc.gen.nHistTerms
',... 384 'Data.dConf.(curMode).calc.gen.nMaxTTM
',... 385 'Data.dConf.(curMode).calc.pairForecast.gen.useAllHist
',... 386 'Data.dConf.(curMode).calc.pairForecast.gen.pair.typeComb
',... 387 'Data.dConf.(curMode).calc.pairForecast.methods.transProb.pair.prob.discrWindSize
',... 388 'Data.dConf.(curMode).calc.pairForecast.methods.transProb.pair.prob.isDevTruncated
',... 389 'Data.dConf.(curMode).calc.pairForecast.methods.transProb.pair.prob.horizonList
',... 390 'Data.dConf.(curMode).calc.pairForecast.methods.transProb.pair.prob.nLags
',... 391 'Data.dConf.(curMode).calc.pairForecast.methods.transProb.pair.prob.probPart
',... 392 'Data.dConf.(curMode).calc.pairForecast.methods.transProb.pair.prob.probWindowSize
',... 393 'Data.dConf.(curMode).calc.pairForecast.methods.transProb.pair.prob.windSizeCalc
',... 394 'Data.dConf.(curMode).calc.pairForecast.methods.transProb.pair.prob.maSmoothWindowSize
',... 395 'Data.dConf.(curMode).calc.pairForecast.methods.transProb.pair.prob.probCalcScheme
',... 396 'Data.dConf.(curMode).calc.pairForecast.methods.transProb.pair.prob.probGroup
',... 397 'Data.dConf.(curMode).calc.pairForecast.methods.transProb.pair.prob.retCalcScheme
'}; 401 %% ----------------- Score Statistics gathering 402 Data.dConf.backtest.calc.pairForecast.methods.transProb.pair.prob.scoreStats=struct; 403 Data.dConf.backtest.calc.pairForecast.methods.transProb.pair.prob.scoreStats.pairPriceStatNames={'scoreSigned
','profit
','risk
','horizon
'}; 404 Data.dConf.backtest.calc.pairForecast.methods.transProb.pair.prob.scoreStats.pairPriceHorizonStatNames={'scoreSignedAll
','profitAll
','riskAll
','channelWidthAll
','riskMultAll
'}; 406 %% ----------------- Portfolio Generation settings 407 %% general constraints 408 %% 'pairSep
' method scoring mechanism parameters -see mechansim description 413 Data.dConf.backtest.calc.portfolioGen.methods.pairSepNew.strat.curMethod='advanced
'; 414 Data.dConf.backtest.calc.portfolioGen.methods.pairSepNew.strat.methods.advanced.func='advancedstrat
'; 415 Data.dConf.backtest.calc.portfolioGen.methods.pairSepNew.strat.methods.advanced.param.scoreLevel=4; 416 Data.dConf.backtest.calc.portfolioGen.methods.pairSepNew.strat.methods.simple.func='simplestrat
'; 417 Data.dConf.backtest.calc.portfolioGen.methods.pairSepNew.strat.methods.simple.param.scoreLevel=4; 418 Data.dConf.backtest.calc.portfolioGen.methods.pairSepNew.strat.methods.simple.param.corrLevel=0.4; 420 Data.dConf.backtest.calc.portfolioGen.methods.pairSepNew.gen.constrPairTypes=[0;0;0;0;0;1;0;0;0;0;0;0;0;0;0;0;1;0;0;0;0;0;1;0;0;0;0;0]; 422 Data.dConf.backtest.calc.portfolioGen.methods.pairSepNew.gen.constrPercentLimit=0.6; 423 Data.dConf.backtest.calc.portfolioGen.methods.pairSepNew.gen.maxDiffDuration=[1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1]; 424 Data.dConf.backtest.calc.portfolioGen.methods.pairSepNew.gen.capitalBaseRatio=0.15; 425 Data.dConf.backtest.calc.portfolioGen.methods.pairSepNew.gen.isInteger=1; 427 %% 'markowitz
' method scoring mechanism parameters -see mechansim description 430 Data.dConf.backtest.calc.portfolioGen.methods.markowitz.constr.constrGroup{1}={'PJM
','NYA
','NEPool
'}; 431 Data.dConf.backtest.calc.portfolioGen.methods.markowitz.constr.constrGroup{2}={'NG
'}; 432 Data.dConf.backtest.calc.portfolioGen.methods.markowitz.constr.constrGroup{3}={'CL
','HU
','HO
'}; 433 Data.dConf.backtest.calc.portfolioGen.methods.markowitz.constr.constrGroupNames={'Electricity
','Gas
','Oil
'}; 434 Data.dConf.backtest.calc.portfolioGen.methods.markowitz.constr.intragroupConstr=[0.45 0.15 0.15]; 435 Data.dConf.backtest.calc.portfolioGen.methods.markowitz.constr.this2FollowingConstr=[0.65 0.65 0.3]; 436 Data.dConf.backtest.calc.portfolioGen.methods.markowitz.constr.typeCriticalLiquidity=[20000 250 20000 200 200 200 200]; 437 Data.dConf.backtest.calc.portfolioGen.methods.markowitz.constr.liquidityCostExp=1; 438 Data.dConf.backtest.calc.portfolioGen.methods.markowitz.constr.timePeriodExp=0.5; 439 Data.dConf.backtest.calc.portfolioGen.methods.markowitz.constr.criticalExposureTime=1; 440 Data.dConf.backtest.calc.portfolioGen.methods.markowitz.constr.capitalEffRatio=NaN; 441 Data.dConf.backtest.calc.portfolioGen.methods.markowitz.constr.cerRecalcFrequency=10; 442 Data.dConf.backtest.calc.portfolioGen.methods.markowitz.constr.spreadFraction=[0.5 0.5 0.5 1 1 0.5 0.5]; 444 Data.dConf.backtest.calc.portfolioGen.methods.markowitz.portopt.riskAversion=40; 446 Data.dConf.backtest.calc.portfolioGen.methods.markowitz.portopt.stdWindowSize=35; 448 Data.dConf.backtest.calc.portfolioGen.methods.markowitz.portopt.capitalBaseMethod='byAssets
'; 450 Data.dConf.backtest.calc.portfolioGen.methods.markowitz.portopt.intportDelta=0; 451 Data.dConf.backtest.calc.portfolioGen.methods.markowitz.portopt.nonstatAversion=100; 452 Data.dConf.backtest.calc.portfolioGen.methods.markowitz.portopt.timeIndiffExp=0; 453 Data.dConf.backtest.calc.portfolioGen.methods.markowitz.portopt.timeHorizons=[2 3 5 8 10 15 22]; 454 Data.dConf.backtest.calc.portfolioGen.methods.markowitz.portopt.riskCombSelectMethod='adaptiveBasisSharpe
'; 455 Data.dConf.backtest.calc.portfolioGen.methods.markowitz.portopt.riskAversionScnPrefix='RA=
'; 456 Data.dConf.backtest.calc.portfolioGen.methods.markowitz.portopt.timeIndiffExpScnPrefix='TIE=
'; 457 Data.dConf.backtest.calc.portfolioGen.methods.markowitz.portopt.assetGroupDistrMethod='byPairs
'; 459 function resChar=filesep() function genteststruct(in inpNum)
GENTESTSTRUCT generates a complex test structure using input number to guarantee a uniqueness...