[ Home Page ]
[ Eiffel Archive ]
[ Eiffel Classes and Clusters]
 |
MAS - object-oriented financial analysis software
|
Written by Jim Cochrane.
mas10.zip (574,685 bytes) source code only, executables are available from the ftp site below
ftp://ftp.dimensional.com/users/jtc/mas (MAS FTP site)
The Market Analysis System (MAS) is a client/server application that
provides tools for analysis of financial markets, with the goal of
helping its user make better buying and selling decisions and to help
save time by automating some tasks that would otherwise be done by
hand.
MAS has two main components: the Market Analysis System Server (also
known as Market Analysis Server) and the Market Analysis GUI Client.
The server provides the capability to apply technical analysis[1]
indicators to market data. Additionally, the server allows the user
to specify a set of criteria (using one more more technical indicators)
and apply those criteria to market data, generating buy and sell signals
for markets that meet the criteria.[2]
The current version of the MAS server runs on Linux/Intel systems.
The GUI Client is written in Java and should run on any system with a
Java runtime environment.
The Market Analysis GUI Client (MAGC) provides basic charting facilities,
using the server to obtain market and indicator data. MAGC currently
displays price data using either standard bar charts or candle charts.
MAS currently accepts daily stock and index data. In the future it will
probably be expanded to accept other kinds of data, such as futures data.
Below is a summary of MAS's features.
-
Market Analysis Server (MAS)
Functionality:
- Includes several system
- defined technical indicators.
- Allows the user to create and save new technical indicators.
- Handles stock splits.
- Currently expects daily data.
- Production of weekly data from daily data.
- Allows user to create and save sets of market-analysis rules.
- Analyzes market data using selected market-analysis rules.
- Notification by email of buy and sell signals generated by market analysis.
- Allows user to add registrants for email of market analysis results.
- Provides services to GUI or command-line clients using a socket-based
protocol.
- One server process can service several GUI clients.
System-defined technical indicators:
- Simple Moving Average
- Exponential Moving Average
- MACD Difference
- MACD Signal Line (EMA of MACD Difference)
- MACD Histogram
- Momentum
- Rate of Change
- Williams %R
- Stochastic %K
- Stochastic %D
- Slow Stochastic %D
- Relative Strength Index
Current list of user-defined technical indicators:
- On Balance Volume
- Accumulation/Distribution
Current list of market-analysis rules:
- Slow Stochastic %D - -> + slope change event
- Slow Stochastic %D + -> - slope change event
- Stochastic %D - -> + slope change event
- Stochastic %D + -> - slope change event
- Stochastic %K - -> + slope change event
- Stochastic %K + -> - slope change event
- MACD difference/signal crossover event - below to above
- MACD difference/signal crossover event - above to below
- [MACD difference/signal crossover event - below to above] / [Slow
Stochastic %D - -> + slope change event]
- [MACD difference/signal crossover event - above to below] / [Slow
Stochastic %D + -> - slope change event]
- [MACD difference/signal crossover event - below to above] / [Stochastic %D
- -> + slope change event]
- [MACD difference/signal crossover event - above to below] / [Stochastic %D
+ -> - slope change event]
- [MACD difference/signal crossover event - below to above] / [Stochastic %K
- -> + slope change event]
- [MACD difference/signal crossover event - above to below] / [Stochastic %K
+ -> - slope change event]
Market Analysis GUI Client (MAGC)
Functionality:
Provides charts of market and indicator data.
Obtains market and indicator data from the server via a network connection.
Provides choice of candles or price bars.
Provides choice of daily or weekly data.
Allows user to run several windows at a time.
[1] For those not familiar with technical analysis, it is a set of
techniques for analyzing market data, using indicators such as trend
lines, moving averages, price momentum, oscillators, etc. to identify
changes in market trends. It is based on the observation that "prices
move in trends which are determined by the changing attitudes of investors
toward a variety of economic, monetary, political, and psychological
forces." ["Technical Analysis Explained," by Martin J. Pring]
[2] For example, I currently have my system configured to issue a buy
signal if Stochastic %D changes slope from negative to positive when
below 30 and, no more than 28 days before that, the weekly MACD difference
line crossed above the weekly MACD signal line. I have it configured to
issue a sell signal for the opposite event - Stochastic %D slope change
from positive to negative when above 70 and weekly MACD difference line
crosses below weekly MACD signal line. I have configured my system so
that this analysis is run each trading day after the end-of-day prices
are available. I find that this process saves me a lot of time that
would otherwise be spent filtering market data by hand.
Files
The files in this directory contain the executables and source code for the
Market Analysis System (MAS). The server runs on Linux/Intel systems. The
GUI client is written in Java and should run on any system with a Java
runtime environment.
clientsrc1.0.tar.gz - source code for the GUI client (tar/gzip)
clientsrc1.0.zip - source code for the GUI client (zip)
mac1.0.tar.gz - executables for the GUI client (tar/gzip)
mac1.0.zip - executables for the GUI client (zip)
mas1.0.tar.gz - executables for the server (tar/gzip)
mas1.0.zip - executables for the server (zip)
serversrc1.0.tar.gz - source code for the server (tar/gzip)
serversrc1.0.zip - source code for the server (zip)
Description - description of some of MAS's features
Jim Cochrane
Dimensional Communications
[ Home Page ]
[ Eiffel Archive ]
[ Eiffel Applications ]