 |
Introduction
The JMSL Numerical Library is a complete collection of mathematical, statistical and charting classes, written in 100% Java, which
provides the ability to develop network-centric, cost effective data analysis applications.
These demos below illustrate a sampling of the functionality that can be easily built with the JMSL Library, addressing a broad
set of needs, including:
- Time series data analysis
- Statistical data analysis
- Monte Carlo simulations
- …and many more
As you use the demos, you can imagine the possible variations to each feature as well as how each feature might fit into larger applications. While several of the demos below describe financial situations, the features in the demos apply to applications tailored to other fields, such as manufacturing, R&D, market research, and more.
Those who buy stocks want to know what is happening with the money they invest into stocks. Furthermore,
when to buy and when to sell could very well be the "question of all questions" when it comes to trading
or investing in stocks. This demo shows the ease and flexibility in which you can track the performance
of many, many stocks in your portfolio with JMSL. These particular stocks are from the SP500 index however
they could just as easily be any other historical or real time data. The real benefit shown is time savings!
If our customers rely on us to the detailed work, they can focus on the analysis they are trained to do.
Monte Carlo simulations are used for modeling uncertainty to help manage business risk. A Monte Carlo simulation
works by replacing uncertain quantities in your model with simulated numbers and then seeing how that uncertainty
affects your results. This demo shows how JMSL can provide information about the range of outcomes such as best - and worst-case,
the chances of reaching target goals, most likely outcomes, etc. with its Monte Carlo Risk Analysis demo.
By replacing set values with realistic possible numbers, organizations are equipped to make the correct decisions
to face likely events in the future. This accurately shows JMSL's seamless combination
of the superb analysis capabilities of IMSL teamed with excellent
Java charting.
This application demonstrates how JMSL financial algorithms and charting capabilities can be used to calculate and display
the sensitivity of the value of bonds to changes in current interest rates. It includes a list of US Treasury bonds, with
different maturity dates and different nominal interest rates. By selecting a bond, JMSL is used to calculate the sensitivity
of that particular bond to the market interest rate. JMSL financial algorithms are used for the analysis, and JMSL charting
is used to display the results. These calculations are extensive and many times it is difficult to calculate many bonds and their sensitivity, notice how
easy it is to read the information into JMSL and see results
instantaneously.
This demo is solving the system of differential equations; these are equations involving derivatives with respect to
a single variable, usually time. JMSL also plots these results in real time, demonstrating its speed and functionality.
This predator-prey problem computes the population density of rabbits and foxes over time. You will see, as time goes on
the foxes will eat the rabbits. After the rabbits are gone, the foxes die, the rabbits resurface and the process begins
anew. This chart is essentially showing a graphical representation of "the circle of life". With JMSL, problems
requiring both numerical analysis and charting can be solved with a single, integrated Java solution.
IMSL has the checks and balances, when we say it's right, it's right.
This demo illustrates how JMSL can be used to perform spectral analysis of time series data. These particular
signals are recordings of the four open strings of a cello being bowed. It is very common for information to be
encoded in the sinusoids that form a signal. This is true of naturally occurring signals, as well as those that
have been created by humans. The shape of the time domain waveform is not important in these signals; the key
information is in the frequency, phase and amplitude of the signals. JMSL gives you the ability to focus on the
data on which you want to do more specific analysis.
Population growth is often calculated to view patterns in certain areas or countries. An area's age-sex structure
hints at its patterns of growth. A top heavy pyramid suggests negative population growth that might be due to any
number of factors, including high death rates, low birth rates, and increased emigration from the area. A bottom
heavy pyramid suggests high birthrates, falling or stable death rates, and the potential for rapid population growth.
This demo shows how JMSL can be used to easily create a Java application that extends the basic charting features.
Historical demographic data is plotted in a horizontal double-sided bar chart. With JMSL, problems requiring both
numerical analysis and charting can be solved with a single, integrated Java solution.
Random number generation is used in a wide variety of cryptographic operations, such as key generation and
challenge/response protocols. A random number generator is a function that outputs a sequence of numbers such
that at any point in the series, the next number cannot be predicted based on the previous numbers. This demo
illustrates JMSL's extensive random number generation capabilities. Using JMSL ensures that the accuracy of simulations
is not compromised by poor random number generation.
Scatter plots and regression analysis are used heavily to establish associative relationships or to establish cause and
affect relationships. This demo shows how JMSL can compute a regression line based on the points entered by the user.
The user can point and left click the mouse to add a point to the chart. A regression line is then drawn automatically.
The user can also generate the points randomly or enter the points directly into the chart. The interactivity of JMSL
charting is displayed as well as the ability to embed analysis functionality into applications.
|