Skip to content

Model MultiPeriodKagiMRStrategyDemo

github-actions[bot] edited this page Oct 18, 2026 · 8 revisions

MultiPeriodKagiMRStrategyDemo — quantitative model reference

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

Paper introduction

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.

How this demo connects to the idea

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.

What this example teaches

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.

Verified execution record

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.

Reproduce the calculation

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.MultiPeriodKagiMRStrategyDemo

The 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.

Observed output

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

Charts from this run

Reported performance statistics — part 1

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.

Chart 1

Reported performance statistics — part 2

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.

Chart 2

Fitted distribution parameters

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.

Chart 3

Downloadable evidence

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

Interpreting the result

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.

Clone this wiki locally