The following stock trading tools developed by NVSoft are based on open source software. The tools draw graphs for technical analysis of stock history and monitor current stock prices for expected changes. The open source concept means that the tools are delivered with their source code and are, therefore, readily modifiable and expandable.
No licensing fees ever apply to the customer, yet the customer may sell the original portion of the software for a fee, if they so desire. The transparency of the code is enhanced by using a modern scripting language Python. Abundant technical talent in the open source community is available for future support of the tools: i.e. the customer is not tied up to one supplier for upgrading the tools.
The tools are not sold as a product, they are individually customized on a short term contract basis.
Main portion of the code is in Python. Graphics are Tk based: Tkinter Python module with the addition of the Pmw and Pmw.Blt packages. The latter package coded in C is augmented with features needed in graphics employed by the tools. OpenSSL package is used to modify Python's SSL protocol feature. The original code is about 5000 lines of Python, 2000 lines of C and 500 lines of shell and make file commands.
The software is implemented to run under the cygwin derivative MinGW on Microsoft Windows XP operating system and is transportable to any Windows or Unix platform.
This tool retrieves a stock's history from one of the history server sites and plots several graphs representing various stock prices and averages. The tool presents a panel depicted in Fig. 1 where one can specify the server, the stock ticker, history range and resolution, or step, and average resolution and type: simple, exponential, weighted (see terminology at Stockcharts.com , O-Matrix.com, Armsinsider.com, Equis and similar sites.)
Since most of the sites do not include the current day into the history, the tool retieves that data separately. This data also needs to be decoded from the HTML format as opposed to the history available in text form.
An example of the plot displayed by the tool is depicted in Fig. 2. The top graph in the example is daily stock price values (open, close, high, low) drawn as bars with the width proportional to daily trading volume, a variation of the Richard W. Arms, Jr's Equivolume chart. Bar color indicates whether the stock went up or down during the day. The graph is surrounded by the upper and lower Bollinger bands and shows two closing price averages, 20- and 50-day exponential, selected in the panel above.
The variable width makes history more visual than the usual combination of the Candlestick plot with the volume barchart at the bottom. It also is trickier to draw because of the irregular step along the horizontal axis.
The other two plots at the bottom of Fig. 2 are the well known On balance volume and MACD graphs combined with their averages and differences with the avarages. All plots are presented on the same horizontal scale, i.e. the width of the bars on the lower plots is also proportional to trading volume. All plots allow to interactively view the exact values displayed by positioning the crosshair to a specific spot in the plot with the mouse.
A variation of the above plot with the closing price regression channel replacing the Bollinger bands and averages in the top graph is presented in Fig. 3. Note that the linear regression channel is not represented here with straight lines due to the irregular horizontal scale. However, at every given point in the graph a correct relationship between the closing price and regression channel values is maintained.
This tool retrieves stock prices in real time from a stock quote server (requires an account at E*Trade, Ameritrade and such) and verifies those against limits, either fixed or continuously recomputed. For example, one can consider buying a stock, keeping it while the stock is going up and selling it once the stock falls 8% below its highest point.
The tool monitors the stock, recomputes the 8% limit as long as the stock goes up and issues a warning as in Fig. 4 if the stock falls below the latest limit. Similar behaviour can be programmed for the stock one desires to buy when it hits the bottom and rises a certain percentage above that.
Naturally, the percentage can be varied for each stock and each limit can be set up fixed for a simple alert indicating that the stock reaches a certain level going up or down. Other warning algorithms, e.g. based on volume as well as on price, can be easily implemented.
At the heart of this tool is a stock price monitor engine that logs on to the secure quote server using the HTTP and SSL protocols, same as the manually controlled web browser, sends periodic requests for price quotes and decodes HTML to retrieve the data.
This tool manipulates files used in the previous tool to provide some typical operations to facilitate stock monitoring once a particular issue is bought or sold. For example, a stock that is bought must be monitored for growth. Once it is sold, it is monitored until it bottoms out. The tool helps to control this procedure with the panel depicted in Fig. 5.
Facilities also are provided to edit, add and delete individual issue entries in the files.
For more information e-mail us or call (650) 592 3321.