Repository navigation
Model MultiPeriodKagiMRStrategyDemo
Wiki home · Quantitative model references · Execution records
This quantitative model reference is provided for study, further research and application within the AlgoQuant framework. Read the research idea and implementation choices separately from the execution record.
Tutorials and quantitative model references · Pinned source · Javadoc
Alexandre d’Aspremont, Identifying Small Mean Reverting Portfolios (2008 author preprint; published 2011) asks how to build a mean-reverting basket using only a few assets. A dense basket may look attractive statistically but be expensive and difficult to trade.
The paper uses a vector autoregressive representation and a Box–Tiao predictability ratio as a proxy for mean reversion. Minimizing this ratio seeks combinations whose current variation is less explained by lagged variation. A cardinality restriction limits the number of nonzero holdings. Greedy search and semidefinite relaxations address the resulting sparse optimization problem; regularized estimation can help stabilize its inputs.
Its central tradeoff is between sparsity and the strength of the mean-reversion proxy. Finding a basket does not specify a complete trading strategy or guarantee a profit. Kagi signals, entry and exit policies, sizing and the S&P 500 universe in these demos are separate choices. Sections 2–3 of the author preprint were reviewed.
MultiPeriodKagiMRStrategySim repeatedly combines selection and trading according to MRSimParamSP500, then exposes a PerformanceReport and basket diagnostics. Basket renewal, Kagi execution and the chosen universe are application settings; compare estimation windows with trade dates to avoid future information.
Using this example. Runs MultiPeriodKagiMRStrategySim using MRSimParamSP500 and inspects the resulting basket analysis and performance report. Basket construction and subsequent trading are separate stages; review their data windows before adapting the example.
Model and publication. Sparse mean-reverting portfolio construction motivates the basket search. The paper’s predictability criterion is not itself a trading return.
Implementation in this tutorial. MultiPeriodKagiMRStrategySim repeatedly combines selection and trading according to MRSimParamSP500, then exposes a PerformanceReport and basket diagnostics. Basket renewal, Kagi execution and the chosen universe are application settings; compare estimation windows with trade dates to avoid future information.
| Item | Value |
|---|---|
| Status | completed |
| Run | 39122217560 |
| UTC publication | 2026-10-18 11:43 UTC |
| Source commit | f497645628296f441e1e254127a7547d15106bbc |
| Data mode | original main defaults |
| Exit code | 0 |
| Elapsed seconds | 265.59 |
| Time limit seconds | 1800 |
| Maximum Java heap | 6g |
| AlgoQuant source commit | aba178deb0e78dc72184546a1e0934c3abce74a1 |
| NM Dev source commit | 04c12d1640fb700f52a2f7dc5cadf560040490e6 |
| Combined runtime SHA-256 | c1199a1c204cc4ffdf937b756bceacaf30bb64f35a844770490fea268742379b |
The original main returned successfully without a detected calculation error. Read its assumptions before interpreting it.
Follow the repository setup for JDK 8, Maven credentials and an external NM license. From the repository root:
mvn -U -Dmaven.test.skip=true clean package
mvn exec:java -Dexec.mainClass=tech.nmfin.algoquant.demo.model.daspremont2008.MultiPeriodKagiMRStrategyDemoThe automated run uses scripts/ModelDemoRunner.java to initialize the external license before the unchanged main, save JFreeChart windows as PNGs, and exit after main returns. It uses an isolated working directory with the repository datasets/configuration linked in. Running directly may leave desktop windows open.
11:14:28.997 [main] INFO t.n.a.m.m.d.s.MultiPeriodKagiMRStrategySim - there are 4 periods (period = P6M) in the interval [2013-01-01T00:00,2015-01-01T00:00): [2013-01-01T00:00, 2013-07-01T00:00, 2014-01-01T00:00, 2014-07-01T00:00]
11:14:29.033 [basket-precompute-1-thread-2] INFO t.n.a.m.m.d.strategy.SimpleMRBasketProvider - computing baskets at time 2013-07-01T00:00 (covPenalty=1.5E-4; inSamplePeriodForClustering=P10Y; inSamplePeriodForBasketSelection=P5Y; nBaskets=1; basketSize=5)
11:14:29.035 [basket-precompute-1-thread-1] INFO t.n.a.m.m.d.strategy.SimpleMRBasketProvider - computing baskets at time 2013-01-01T00:00 (covPenalty=1.5E-4; inSamplePeriodForClustering=P10Y; inSamplePeriodForBasketSelection=P5Y; nBaskets=1; basketSize=5)
11:14:29.058 [basket-precompute-1-thread-2] INFO tech.nmfin.algoquant.util.config.AQConfig - looking up configuration file: config.default.xml
11:14:29.059 [basket-precompute-1-thread-2] INFO tech.nmfin.algoquant.util.config.AQConfig - looking up configuration file: config/config.default.xml
11:14:29.059 [basket-precompute-1-thread-2] INFO tech.nmfin.algoquant.util.config.AQConfig - loading config file: file:/home/runner/work/algoquant/algoquant/target/model-results/MultiPeriodKagiMRStrategyDemo/work/config/config.default.xml
11:14:29.520 [basket-precompute-1-thread-2] INFO tech.nmfin.algoquant.util.config.AQConfig - current directory: /home/runner/work/algoquant/algoquant/target/model-results/MultiPeriodKagiMRStrategyDemo/work
11:14:29.520 [basket-precompute-1-thread-2] INFO tech.nmfin.algoquant.util.config.AQConfig - current config:
11:14:29.530 [basket-precompute-1-thread-2] INFO tech.nmfin.algoquant.util.config.AQConfig - logback.configurationFile: /home/runner/work/algoquant/algoquant/config/model-demo-logback.xml
11:14:29.531 [basket-precompute-1-thread-2] INFO tech.nmfin.algoquant.util.config.AQConfig - nm.license: /home/runner/work/algoquant/algoquant/license/nm.lic
11:14:29.531 [basket-precompute-1-thread-2] INFO tech.nmfin.algoquant.util.config.AQConfig - DATA_FOLDER: ./test-data
11:14:29.531 [basket-precompute-1-thread-2] INFO tech.nmfin.algoquant.util.config.AQConfig - DATA_GAINCAPITAL: ${DATA_FOLDER}/processed/gaincapital/extracted-from-raw-arrange-by-dates
11:14:29.531 [basket-precompute-1-thread-2] INFO tech.nmfin.algoquant.util.config.AQConfig - DATA_BLOOMBERG: ${DATA_FOLDER}/processed/bloomberg
11:14:29.531 [basket-precompute-1-thread-2] INFO tech.nmfin.algoquant.util.config.AQConfig - DATA_YAHOO: ${DATA_FOLDER}/yahoo
11:14:29.531 [basket-precompute-1-thread-2] INFO tech.nmfin.algoquant.util.config.AQConfig - DATA_SGX: ${DATA_FOLDER}/raw/sgx
11:14:29.531 [basket-precompute-1-thread-2] INFO tech.nmfin.algoquant.util.config.AQConfig - DATA_HOLIDAYS: ./log/holidays
11:14:29.531 [basket-precompute-1-thread-2] INFO tech.nmfin.algoquant.util.config.AQConfig - DATA_COMPUSTAT_HK: ${DATA_FOLDER}/compustat/hk
11:14:29.532 [basket-precompute-1-thread-2] INFO tech.nmfin.algoquant.util.config.AQConfig - PDF_OUTPUT_FOLDER: ./log/
11:14:29.532 [basket-precompute-1-thread-2] INFO tech.nmfin.algoquant.util.config.AQConfig - PDF_PLOT_WIDTH: 800
11:14:29.532 [basket-precompute-1-thread-2] INFO tech.nmfin.algoquant.util.config.AQConfig - PDF_PLOT_HEIGHT: 600
11:14:30.940 [basket-precompute-1-thread-2] INFO t.n.a.d.h.yahoo.YahooEODCacheFactory - failed to load from file, reason: no data read from file; load from web
11:14:30.940 [basket-precompute-1-thread-2] INFO t.n.a.d.h.yahoo.YahooEODCacheFactory - reading Yahoo! data for MMM from the Internet from 2003-01-01T00:00 to 2015-01-01T16:00
11:14:31.198 [basket-precompute-1-thread-2] INFO t.n.a.d.h.yahoo.YahooEODCsvZipFileWriter - writing csv.zip file ./log/yahoo/pricematrix/MMM.csv.zip
11:14:31.270 [basket-precompute-1-thread-2] INFO t.n.a.d.h.yahoo.YahooEODCsvZipFileWriter - finished writing ./log/yahoo/pricematrix/MMM.csv.zip
11:14:31.282 [basket-precompute-1-thread-2] INFO t.n.a.d.h.yahoo.YahooEODCacheFactory - failed to load from file, reason: no data read from file; load from web
11:14:31.282 [basket-precompute-1-thread-2] INFO t.n.a.d.h.yahoo.YahooEODCacheFactory - reading Yahoo! data for AOS from the Internet from 2003-01-01T00:00 to 2015-01-01T16:00
11:14:31.574 [basket-precompute-1-thread-2] INFO t.n.a.d.h.yahoo.YahooEODCsvZipFileWriter - writing csv.zip file ./log/yahoo/pricematrix/AOS.csv.zip
11:14:31.613 [basket-precompute-1-thread-2] INFO t.n.a.d.h.yahoo.YahooEODCsvZipFileWriter - finished writing ./log/yahoo/pricematrix/AOS.csv.zip
... excerpt shortened; complete stdout is in the release archive ...
11:18:45.652 [main] INFO t.n.a.m.m.daspremont2008.strategy.KagiMRStrategy - trading basket (inSampleInterval = [2009-07-01T00:00,2014-07-01T00:00)) (size = 5) (mu = 2.120550) (sample stdev = 0.489199) (theta = 0.043360) (sigma = 0.144703) (ou ratio = 0.299651) (predictability = 0.911093) (obj. func. value = 0.006926) (components = portfolio = { AES @ NEW_YORK=0.868938, ADM @ NEW_YORK=-0.350688, DVN @ NEW_YORK=0.048899, EXC @ NEW_YORK=-0.243819, PEG @ NEW_YORK=0.245203, }): initialCapital=1000000.0, scale=67909.87366803888, H=1.5314112574998486
11:18:45.718 [main] INFO t.n.a.m.m.daspremont2008.strategy.KagiMRStrategy - trading basket (inSampleInterval = [2009-07-01T00:00,2014-07-01T00:00)) (size = 5) (mu = 2.120550) (sample stdev = 0.489199) (theta = 0.043360) (sigma = 0.144703) (ou ratio = 0.299651) (predictability = 0.911093) (obj. func. value = 0.006926) (components = portfolio = { AES @ NEW_YORK=0.868938, ADM @ NEW_YORK=-0.350688, DVN @ NEW_YORK=0.048899, EXC @ NEW_YORK=-0.243819, PEG @ NEW_YORK=0.245203, }): initialCapital=1000000.0, scale=67909.87366803888, H=1.6845523832498333
11:18:45.784 [main] INFO t.n.a.m.m.daspremont2008.strategy.KagiMRStrategy - trading basket (inSampleInterval = [2009-07-01T00:00,2014-07-01T00:00)) (size = 5) (mu = 2.120550) (sample stdev = 0.489199) (theta = 0.043360) (sigma = 0.144703) (ou ratio = 0.299651) (predictability = 0.911093) (obj. func. value = 0.006926) (components = portfolio = { AES @ NEW_YORK=0.868938, ADM @ NEW_YORK=-0.350688, DVN @ NEW_YORK=0.048899, EXC @ NEW_YORK=-0.243819, PEG @ NEW_YORK=0.245203, }): initialCapital=1000000.0, scale=67909.87366803888, H=1.8376935089998185
11:18:45.850 [main] INFO t.n.a.m.m.daspremont2008.strategy.KagiMRStrategy - trading basket (inSampleInterval = [2009-07-01T00:00,2014-07-01T00:00)) (size = 5) (mu = 2.120550) (sample stdev = 0.489199) (theta = 0.043360) (sigma = 0.144703) (ou ratio = 0.299651) (predictability = 0.911093) (obj. func. value = 0.006926) (components = portfolio = { AES @ NEW_YORK=0.868938, ADM @ NEW_YORK=-0.350688, DVN @ NEW_YORK=0.048899, EXC @ NEW_YORK=-0.243819, PEG @ NEW_YORK=0.245203, }): initialCapital=1000000.0, scale=67909.87366803888, H=1.9908346347498032
11:18:45.918 [main] INFO t.n.a.m.m.daspremont2008.strategy.KagiMRStrategy - trading basket (inSampleInterval = [2009-07-01T00:00,2014-07-01T00:00)) (size = 5) (mu = 2.120550) (sample stdev = 0.489199) (theta = 0.043360) (sigma = 0.144703) (ou ratio = 0.299651) (predictability = 0.911093) (obj. func. value = 0.006926) (components = portfolio = { AES @ NEW_YORK=0.868938, ADM @ NEW_YORK=-0.350688, DVN @ NEW_YORK=0.048899, EXC @ NEW_YORK=-0.243819, PEG @ NEW_YORK=0.245203, }): initialCapital=1000000.0, scale=67909.87366803888, H=2.1439757604997878
11:18:45.985 [main] INFO t.n.a.m.m.daspremont2008.strategy.KagiMRStrategy - trading basket (inSampleInterval = [2009-07-01T00:00,2014-07-01T00:00)) (size = 5) (mu = 2.120550) (sample stdev = 0.489199) (theta = 0.043360) (sigma = 0.144703) (ou ratio = 0.299651) (predictability = 0.911093) (obj. func. value = 0.006926) (components = portfolio = { AES @ NEW_YORK=0.868938, ADM @ NEW_YORK=-0.350688, DVN @ NEW_YORK=0.048899, EXC @ NEW_YORK=-0.243819, PEG @ NEW_YORK=0.245203, }): initialCapital=1000000.0, scale=67909.87366803888, H=2.297116886249773
11:18:46.049 [main] INFO t.n.a.m.m.daspremont2008.strategy.KagiMRStrategy - trading ba
... excerpt shortened ...
657, -40538.818431612024, -40538.818431612024, -37535.8494412861, -37535.8494412861, -42945.94870638467, -42945.94870638467, -43309.15879273034, -43309.15879273034, -44377.470931287775, -44377.470931287775, -38159.28666567422, -38159.28666567422, -49290.313594099054, -49290.313594099054, -35736.992566820154, -35736.992566820154, -39492.43843483544, -39492.43843483544, -46719.20989155389, -46719.20989155389, -47900.262467142114, -47900.262467142114, -43926.37997078515, -43926.37997078515, -44348.85911774255, -44348.85911774255, -42576.28426766015, -42576.28426766015, -53657.92177843667, -53657.92177843667, -44629.57162880517, -44629.57162880517, -24043.97365021325, -24043.97365021325, -19939.05723213769, -19939.05723213769, -11730.262904401789, -11730.262904401789, -17783.8401787243, -17783.8401787243, -11095.209569688806, -11095.209569688806, -9677.656014677057, -9677.656014677057, -6026.967693563471, -6026.967693563471, -12435.988101369861, -12435.988101369861, -2090.7647926197096, -2090.7647926197096, 9846.81798535728, 9846.81798535728, 12561.7969272747, 12561.7969272747, 18300.290486158367, 18300.290486158367, 19165.026234449382, 19165.026234449382, 27536.443917097087, 27536.443917097087, 31541.143561185832, 31541.143561185832, 29698.88337117576, 29698.88337117576, 47371.550938428874, 47371.550938428874, 44328.71937734031, 44328.71937734031, 34145.31353360557, 34145.31353360557, 20679.500648321147, 20679.500648321147, 20760.24528008842, 20760.24528008842, 18807.444447340007, 18807.444447340007, 11325.367972196575, 11325.367972196575, 15223.714760602947, 15223.714760602947, 11787.99543267631, 11787.99543267631, 18277.550208868022, 18277.550208868022, 17525.75707799339, 17525.75707799339, 18786.824082197185, 18786.824082197185, 23749.87360268974, 23749.87360268974, 29388.956374944682, 29388.956374944682, 32382.90055161857, 32382.90055161857, 38800.77068406486, 38800.77068406486, 39421.08859902763, 39421.08859902763, 41956.26373464012, 41956.26373464012, 41960.20767194175, 41960.20767194175, 39385.460237995125, 37802.66609553907, 35572.739794498426, 41813.03172183607, 54158.971082454664, 51930.765807872755, 66015.33301997755, 68931.3539569435, 80232.16979575728, 78593.84217811201, 67166.82211661909, 68588.28776908491, 72559.95050311659, 69663.0453517494, 87185.77600074385, 94111.7469136772, 100931.956816555, 104898.94322432324, 100152.36313507459, 95581.62940857312, 104229.62590382001, 111334.88482830426, 110398.19463322064, 98415.75754520795, 107626.34270546338, 115240.0970790138, 101781.81213352582, 100466.77261707684, 99476.9384524574, 104581.41876480481, 106178.97775719067, 106197.70907089612, 102983.59451076886, 107333.23248073956, 107656.87163708112, 98629.95665142438, 102827.49170467755, 106337.60426494977, 112828.19455215833, 107554.9902026405, 111840.0786168327, 109274.80345508954, 116442.25675747296, 97353.39773723981, 92338.59956047437, 94936.56081459424, 91931.31217453381, 100199.47265694043, 92866.28317711255, 75589.03280136487, 42600.20442459485, 36614.83093330762, 28617.561878894776, 27710.549740528077, 33101.33498642346, 49341.00225708386, 45199.37080929181, 37316.71101925275, 23870.297822689026, 22321.486716960877, 27077.454487537354, 29744.278855060547, 20837.203074192017, 29948.417818759888, 30714.530905460328, 28342.205280994385, 32927.825844501465, 31027.746872638672, 28980.844199871033, 36574.23723003766, 39207.071107601136, 44118.44979641339, 44209.00064346692, 47402.49937317273, 52276.47026417157, 48591.30229160687, 54205.29232666394, 60970.09011337659, 56126.74938652417, 50695.21424362561, 54565.766052936524, 54316.649782871216, 49729.66457340619, 52891.15995190045, 50101.050873493165, 55057.33722565076, 53938.00270244977, 41823.669114803284, 33916.04065010449, 18812.73356506726, 21628.083130573243, 22058.280729984253, 15804.130439495057, 25046.090347026795, 26542.86768982312, 25023.579529499024, 23420.594966625184, 14480.328624462098, 13370.526686405152, 3516.8957812537847, -771.1417372474971, 709.5533997764287, 2743.106195186585, -3145.8553526649775, 3096.3538939704595, 3439.420328830689, 353.1860196342168, 10671.273996089905, 5426.441110347718, 850.9801079978643, 2226.7562806358037, 2203.7574403037725, -15133.893594051391, -7449.124018932373, 128.88386795422412, -8045.642983699829, -6362.976949955017, -8096.4967882881465, 1811.2520301093755, 236.69657776257372, -10270.34332301715, -25632.348341251403, -7017.417949939758, -2931.1880533943477, -10674.082508350402, -10377.04012897113, -20508.932774807006, -24909.021729732543, -25921.81754138568, -27689.20504405597, -18717.272019649536, -22249.36301734546, -26150.400925899536, -28726.96997573474, -40082.80873038867, -35218.86698081592, -23684.6592781792, -28827.293200756103, -11644.523093486816, -18724.94867446521, 11221.354904865235, -17283.966540599853, -1307.7845089683833, -14281.78806998828, 2717.4225947608647, -8186.597525859863, 23678.66447259138, 20831.260663776367, 44177.616108318296, 58976.84300460431, 66008.2635320625, 57283.67332210156, 64172.50270404431, 48235.23226108166, 70650.32612266156, 68335.55344237896, 81459.42095985028, 70777.08727302167, 69268.30135001751, 67817.43789901349, 66764.85434188458, 65185.87290801617, 61221.32859077069, 55947.34402122113, 55486.8912795982, 73609.5088199577, 53807.77629127118, 41555.0286296806, 63362.73758735272, 70487.35447158429, 70211.95509757611, 50219.557291408506, 60551.43105926129, 51905.37833823773, 51762.65692748639, 53148.27169456097, 52466.00049056622, 72469.22528495404, 118245.18434562298, 97864.6989044151, 107528.61873746869, 137849.71748907084, 114791.77511202618, 136258.82619654463, 127790.47178828045, 132612.32054697798, 134229.35978876875, 129509.8870524101, 117971.19005953595, 114870.9143255882, 118623.12782275006, 126671.00501238629, 124515.16406809613, 117904.212381237, 110327.94817339703, 121012.589750164, 118554.82564722821, 119237.7236174278, 115386.473476284, 123271.62841784283, 117133.53702151105, 121968.28140627667, 117615.42351328656, 125335.94960009381, 124583.93393313214, 121701.25107561871, 122264.253106945, 112476.6449164085, 115332.35506998822, 109638.08722674176, 104878.32357775494, 95233.909646862, 106641.2192133598, 100191.03828989789, 101783.89581858441, 109166.45685755536, 88332.03155886456, 89517.93346773907, 82946.88745104596, 76963.63014971539, 96351.21772372052, 94857.9666289024, 86261.86347948834, 75513.11899554059, 94595.95213496014, 106236.01222979352, 94740.47991740033, 69257.75523554608, 98029.0345724754, 90654.47464167401, 101623.86000429913, 102863.252275341, 114726.02689539715, 102868.35522448346, 104350.677350872, 98995.91863047406, 107171.77887141034, 130684.20339953229, 130077.96155344769, 137439.42357241438, 109927.23410021588, 123727.42729746625, 101787.68817698285, 105513.82582842633, 100431.06476008221, 102993.55823694989, 93795.10845171734, 97198.22175967022, 101601.30167757794, 119212.34779345318, 116025.32994829938, 122683.69491373822, 128642.07165705487, 114622.91345583722, 111627.22322642132, 102108.67152582928, 108375.492793148]
11:18:46.804 [main] INFO t.n.a.d.m.d.MultiPeriodKagiMRStrategyDemo - Performance Report:
Product P/L P/L after commission Commission Commission/Profit IR Omega Max Drawdown Max Drawdown % Execution Count
ADM 220228.00119781494 220228.00119781494 13255.798601211549 0.0601912496554188 0.18660228920169813 2.405289461661235 102987.48461151123 0.09490339463400013 5.0
AES -79329.96102237701 -79329.96102237701 11717.54708504677 -0.14770645206470656 -0.126803073070364 -0.38528284457908907 155637.68883895874 0.15463856762787584 9.0
BG -54153.00373458862 -54153.00373458862 4478.4022813797 -0.08269905587008562 -0.26839348748189157 -0.7580235441915958 88865.81355667114 0.0888036985156164 4.0
BKR -34338.542345047 -34338.542345047 5223.09656787491 -0.15210594891860024 -0.14662900287345415 -0.4858072519270415 61238.709535598755 0.061238709535598755 6.0
CRH -45383.3027009964 -45383.3027009964 1781.3331763210297 -0.0392508493279384 -0.27147255082037797 -0.8164979574481529 69235.77106761932 0.06895170376956823 3.0
CSX 111634.10640907288 111634.10640907288 16309.382753528596 0.14609677345169378 0.29729673212839636 2.9761300676942506 55367.1824426651 0.0476654535052768 6.0
DD -40712.142276763916 -40712.142276763916 4886.888903083802 -0.12003516960277841 -0.2668839720527104 -0.7521022672394326 53808.23854446411 0.053808238544464114 6.0
DVN 7733.440284729004 7733.440284729004 5051.38854020691 0.6531877604565898 0.025691430649947923 0.10059758798815405 101772.19103240967 0.0933901133800918 8.0
ES -14294.926231384277 -14294.926231384277 4284.332493606568 -0.2997100106889944 -0.11000079960906511 -0.380850441124324 30079.887329101562 0.029612455865260554 6.0
ETR 16728.098030090332 16728.098030090332 4174.360904434205 0.24954187241881337 0.04889463301999495 0.2987956555551414 73376.09699249268 0.07189926332397553 3.0
EVRG 96755.26789283752 96755.26789283752 13302.875159503936 0.13748993154809613 0.25131827185033195 2.812404650151232 63472.89967536926 0.062110982221796146 6.0
EXC 1676.892442703247 1676.892442703247 4551.680041637421 2.7143541981141324 0.009675927728907694 0.04891154568257624 41089.1245508194 0.04106629303838304 5.0
MGM -17955.86420440674 -17955.86420440674 3936.5830364227295 -0.21923662328971116 -0.03213031165394827 -0.14997694166026432 132941.80513763428 0.13036669204062762 7.0
PEG -21388.41313934326 -21388.41313934326 7259.448710403442 -0.3394103462986664 -0.1072949574658167 -0.43853710581253186 84813.5036239624 0.08195828073512779 5.0
VLO 74476.45963859558 74476.45963859558 8781.62982516098 0.11791148327638977 0.09111283717989101 0.4430784073343077 126041.5424861908 0.10498929817221479 7.0
XOM 131.3139419555664 131.3139419555664 4437.1833099212645 33.79064891238056 0.0013661787658752797 0.006883000590057599 31035.49892425537 0.030937723422647393 4.0
Total 221807.42418289185 221807.42418289185 113431.93138974384 0.5113982627390022 0.15914578443980562 0.474245240600413 231633.47420024872 0.2145515334742697 90.0
Totals in printed report order; these are separate runs/configurations, not dates.
Derived from stdout.log using the precision available in that file. Download plotted data. Undefined or malformed cells are omitted, never replaced by zero.

Totals in printed report order; these are separate runs/configurations, not dates.
Derived from stdout.log using the precision available in that file. Download plotted data. Undefined or malformed cells are omitted, never replaced by zero.

Parameter axes are separate. Record order is preserved; estimated parameters are not investment performance.
Derived from stdout.log using the precision available in that file. Download plotted data. Undefined or malformed cells are omitted, never replaced by zero.

Download MultiPeriodKagiMRStrategyDemo.zip contains stdout, stderr, the execution record, checksums and any exported CSV/chart files.
| Export | Bytes |
|---|---|
files/log/basket.series.20261018111836/basket.series.combined.csv |
114954 |
files/log/basket.series.20261018111836/basket.series.in.sample.csv |
104613 |
files/log/basket.series.20261018111836/basket.series.out.of.sample.csv |
11966 |
files/log/log/basket.series.20261018111836/combined.20130101.csv |
28810 |
files/log/log/basket.series.20261018111836/combined.20130701.csv |
29205 |
files/log/log/basket.series.20261018111836/combined.20140101.csv |
29229 |
files/log/log/basket.series.20261018111836/combined.20140701.csv |
27710 |
files/derived-charts/charts.json |
1496 |
files/derived-charts/derived-01.csv |
500 |
files/derived-charts/derived-01.png |
115421 |
files/derived-charts/derived-02.csv |
260 |
files/derived-charts/derived-02.png |
82548 |
files/derived-charts/derived-03.csv |
2009 |
files/derived-charts/derived-03.png |
53182 |
Read the reported units: optimizer weights, model-fit coefficients, forecast correlations and simulated P/L are different outputs. Synthetic runs demonstrate the API rather than historical market returns. Inspect undefined values and open positions instead of replacing them with zero. Chart exports visualize exactly this run.
For model assumptions, original publications and adaptation limits, use the literature guide.