Repository navigation
Model KnightSatchellTran1995MLEDemo
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
J. L. Knight, S. E. Satchell and K. C. Tran, Statistical modelling of asymmetric risk in asset returns (1995) develops a return-distribution model that treats positive and negative moves differently. The publisher abstract describes scaled gamma distributions for conditional upward and downward returns, allowing asymmetry that a single symmetric normal distribution cannot capture.
The learning objective is to distinguish a probability model for returns from a trading rule. Fitting parameters or generating a plausible sample does not by itself produce a funded investment account. A fitted asymmetric distribution also needs validation on observations not used to estimate it.
This summary relies on the original publisher abstract and verified publication metadata; full-text derivations were not available for review. The library's generator, estimator and reported parameters should be checked against their own API contracts before claiming an exact paper replication.
Generate N=100 returns from KnightSatchellTran1995, fit them with KnightSatchellTran1995MLE.fitModel and compare generating versus fitted parameters. The parameters supplied to the constructor govern the return generator; GMA12 then computes model- based holding-time and long-return statistics. These are analytical/simulation diagnostics without a funded trading account.
Compares the fitted model with the real model.
Using this example. Generates observations from a configured Knight-Satchell-Tran model and fits its parameters by maximum likelihood. Compare fitted and generating parameters to understand the estimator; finite samples and random draws affect the result.
Model and publication. The original model concerns asymmetric upward and downward returns. The publication identity was verified, but its full text was unavailable; distributional and estimator details below follow the code/API, not an asserted paper reproduction.
Implementation in this tutorial. Generate N=100 returns from KnightSatchellTran1995, fit them with KnightSatchellTran1995MLE.fitModel and compare generating versus fitted parameters. The parameters supplied to the constructor govern the return generator; GMA12 then computes model- based holding-time and long-return statistics. These are analytical/simulation diagnostics without a funded trading account.
| Item | Value |
|---|---|
| Status | completed |
| Run | 39114360151 |
| UTC publication | 2026-10-18 11:43 UTC |
| Source commit | 355aa9242fc2a247b256aecc8406cbb409aa5ff3 |
| Data mode | original main defaults |
| Exit code | 0 |
| Elapsed seconds | 1.23 |
| Time limit seconds | 180 |
| Maximum Java heap | 1200m |
The original main returned successfully. Read the output and model 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.kst1995.KnightSatchellTran1995MLEDemoThe 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.
state 0: q = 0.605634, alpha0 = 0.903740, rate0 = 0.887672; state 1: p = 0.035714, alpha1 = 1.234315, rate1 = 1.657855; mu: 0.993544
the probability of holding till time = 1: 0.266667
the expected pnl for long position: -0.750000
the probability of holding till time = 1: 0.279896the expected pnl for long position: -0.990526DEMO_RUNNER_MAIN_RETURNED
Printed analytical quantities at the reported parameter estimates; not historical account returns.
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.

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 KnightSatchellTran1995MLEDemo.zip contains stdout, stderr, the execution record, checksums and any exported CSV/chart files.
| Export | Bytes |
|---|---|
files/derived-charts/charts.json |
1540 |
files/derived-charts/derived-01.csv |
244 |
files/derived-charts/derived-01.png |
59541 |
files/derived-charts/derived-02.csv |
151 |
files/derived-charts/derived-02.png |
94856 |
files/derived-charts/derived-03.csv |
45 |
files/derived-charts/derived-03.png |
46979 |
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.