Products


Home
Products
Schedule
Archive
Search
Blog
Contact Information

Profit Driver

Profit Driver is an application that automates many of the operations in Profit 7.0 and facilitates the creation, optimization, and analysis of multidimensional arrays of Profit systems. This array based method enables determinations of the effect of Profit program settings, security selection, and input transformation across many systems.

The application is a fully functional 30 day free trial. The purchase of an online license activation for $105 will remove the time limitation.  Profit 7, build 256, must be installed prior to installing Profit Driver, and is available from BioComp's  forum download page. The application includes a documentation/help file which explains the purpose and operation of the functions.  Address questions or observations to

 

Download Free Trial - Download a free 30 day shareware version of Profit Driver.  Activate an online license at any time to make it permanent.

Download Users Manual - This manual is included in the installation package above, but some might prefer to look at the manual by itself.

Tutorial Example 1 - A simple 2D settings change example looking at number of inputs used per model and number of nodes.

 

Sample Screenshots

.

Model Signal Compilation

Make and evaluate composite signals constructed of model signals from the entire project. The compilation method may be by averaging the signals or taking a concensus vote.

 

Version History

Updated 7/15/07 with build 264.  Added an optional "Offset Subtraction" option to the System Signal Compilation and Model Signal Compilation functions that prevents shifts in the composite signal when new systems start voting.  This works nicely in conjunction with the range normalization option.

Updated 7/5/07 with build 262.  This build is compiled to be compatible with build 256 of Profit 7.

Updated 7/1/07 with build 261.  Added parsing to the Export Transformed Data and Evaluate Inputs as Trading Signals functions.  Also improved the user interface and screen layout on several of the functions.

Updated 6/20/07 with build 260.  This build is compiled against build 252 of Profit 7.

Updated 6/10/07 with build 259.  Added graphing of the model equity curve evaluation to the Model Signal Compilation when performance based voting is being used.

Updated 6/9/07 with build 257.  At a user's suggestion, added the ability to specify that models only be allowed to vote when their individual equity curves are above/below a simple moving average of the same equity curve in the Model Signal Compilation function.  Other metrics that can be used in this type of recent performance based model voting will be forthcoming.

Updated 6/1/07 with build 254.  Added a Means Matrix output file to the Iterative Model Sampling when "Broken Out by Input" is chosen.  This results in a 2D array of results for % of Perfect and Straightness being produced for multiple samplings of the models that use each input transformation.  This output format makes it easier to recognize which input transformations perform well with which Profit settings.

Updated 5/20/07 with build 253.  Added "Up Days % Correct", "Down Days % Correct", and "RMS % Correct" to the metrics of System Signal Compilation, Model Signal Compilation, Model Performance Measurement, and Evaluate Inputs as Signals functions.  The RMS % Correct reaches a maximum when the Up Days % Correct and Down Days % Correct are balanced and maximized.  This can be used as an optimization metric, and this prevents a general upward or downward trend in the price data from introducing a bias in the derived optimal trading threshold.

Updated 5/10/07 with build 251.  A slight improvement to the "Export Transformed Data" function that addresses a fault where the export could fail to occur in certain situations.

Updated 5/3/07 with build 249.  Added the ability to sample multiple values of the trading threshold for each system in the Iterative Model Sampling function.

Updated 4/29/07 with build 247.  Added Profit Training Dates to the evaluation metrics of Batch Model Operations and Model Performance Measurement functions.

Updated 4/27/07 with build 246.  Provided the ability to choose from several options for the date ranges the Abs(Signal Mean/Signal Stdev) metric is calculated over.

Updated 4/26/07 with build 244.  Changed the calculation range of the Abs(Signal Mean/Signal Stdev) metric in the batch model operations so that it only includes signal data up to the holdback date for each system.

Updated 4/22/07 with build 242.  Added the ability to restrict the maximum number of bars in the modeling, optimization, and selection partitions for the solutions found by the Find Balanced Dates function.

Updated 4/21/07 with build 240.  Improved the method of determining parameters of the array of systems so that systems within existing Profit Driver projects can be used as source Profit systems for new projects.

Updated 4/18/07 with build 237.  Updated Help File documentation to describe new functions.  Also improved the user interface for viewing results in the the Evaluate Transformation function.

Updated 4/16/07 with build 232. Added batch Export Transformed Data and Evaluate Transformation as Trading Signal functions. These functions work together to enable the rapid search for transformations that function as trading signals in their native state. The transformation evaluation function has the ability to sweep both the temporal (lag) space and the trading threshold space.

Updated 4/12/07 with build 218.  Made minor changes to enable several of the post-optimization analysis functions to handle very large projects with more than 32,786 models.

Updated 4/5/07 with build 217  Fixed the "Stop Optimization After This System" button function to enable immediate restart of optimization if desired.

Updated 4/2/07 with build 215.  Implemented checks for blank batch file names when function forms load.

Updated 4/1/07 with build 214.  Added a "Stop Optimization After This System" button to the Main screen, and differentiated optimized threshold model performance and non-optimized threshold model performance into two different files, both of which are accessible from the Batch Model Operations screen.  This prevents one type of performance result from overwriting the other and makes it easier to explore a variety of options without having to re-run the performance measurement function.  This is described in the help file.

-Updated 3/31/07 with build 212.  Added the option to perform ASCII security substitution by matching field sequence rather than matching field names to facilitate substituting in pre-transformed ASCII input files with field names that differ from the source system.

-Updated 3/30/07 with build 209.  Added support for ASCII format security files for security substitution.  Added a Tanh average option for model and system signal compilations.

-Updated 3/26/07 with build 205.  Consensus voting code revision.

-Updated 3/25/07 with build 202.  Implemented checking and retention of date formats and added options and metrics to the model performance measurement function, including bipolar straightness and % of perfect x straightness.  Model Signal Compilation function improved to support tens of thousands of model signals per project.  Also added method to quickly set model voting on/off state based on performance metrics and a method to quickly generate those metrics.

-Updated 3/23/07 with build 190.  Expanded support of tab delimited files in the "Find Balance Dates" function and added support for Julian (serial) date and tab delimited file export settings in Profit.

-Updated 3/21/07 with build 183.  Added support for Profit systems produced by importing an Ascii security file rather than a Metastock format security.  Security substitution is not possible for this format yet but all other functionality is enabled.

-Updated 3/18/07 with build 180.  Added the Add an Element function and corrected a problem that was generating an error message when processing 1D arrays of systems.  Also added capability to modify settings of pre-existing projects with the Alter Settings function.

-Updated 3/16/07 with build 170.  Added optimum model trading threshold determination and linkage of this into batch model operations and model signal compilation.

Profit Add-Ins

Become a Prescient Analytics Add-in Sponsor

 
You will receive all the indicator add-ins shown below as well as all indicator add-ins and scriptbots created by Prescient Analytics in the future.  This is a one-time purchase, and the Sponsor buy-in license price may go up gradually as more add-ins are created.  Sponsor license holders will be able to provide input on future indicator build projects and can receive email updates when new indicators are available for download.   Current Add-In Sponsor License price is $100.
Back to Top

 


Jurik DMX Wrapper

 

This Profit indicator is a wrapper for the Jurik DMX function, which is included in the Jurik JMA dll.  It requires that the dll version of Jurik's JMA be installed.  More information on DMX can be found here.  This add-in generates three output series constructed from user specified High, Low, and Close input series.  These input series do not necessarily have to be the tradable series.  The three output series are the DMI+, the DMI- and the bipolar DMX. 

Back to Top

 

Jurik WAV Wrapper

 

This Profit indicator is a wrapper for the Jurik WAV function.  It requires that the dll version of Jurik's WAV be installed.  More information on WAV can be found here.  This add-in generates a user-specified number of output columns that sample a specified input series at a sequence of defined time periods occurring a defined sequence of time periods ago.  This wrapper utilizes the full capability of WAV, and can generate up to the maximum of 18 output series. 

Back to Top

 

Jurik DDR wrapper

 

 

This Profit indicator is a wrapper for the Jurik DDR function.  It requires that the dll version of Jurik's DDR be installed.  More information on DDR can be found here.  This add-in generates a  number of output series that is equal to the number of user selected input series.  These output series will be completely decorrelated from each other, but will contain all the information in the input series.  User inputs are the beginning and ending dates to be used in the decorrelation calculation, and then these decorrelation coefficients are propagated through the data before and after this range, including subsequent data updates.  This wrapper utilizes the full capability of DDR, and there are no known limitations on the number of input and output series. 

Back to Top

 

CFB Adaptive Stochastic

 

 

This Profit indicator adapts the speed of a stochastic oscillator of a user selected series between a value associated with the minimum of an infinite lookback stochastic of the Jurik CFB of the series and a value associated with a maximum of an infinite lookback stochastic of the Jurik CFB.  Typically, a longer stochastic is desired when the market is trending and the CFB is high, and a shorter stochastic is desired when the market is choppy and CFB is low, although these can be reversed if desired.  User inputs are the values for the minimum and maximum depth of the adapted stochastic as well as the fractal span and smoothing factors for the Jurik CFB.  Requires that the dll version of Jurik's CFB be installed. 
Back to Top

 

CFB Adapted RSX

 

 

This Profit indicator adapts the speed of a the Jurik RSX of a user selected series between a value associated with the minimum of an infinite lookback stochastic of the Jurik CFB of the series and a value associated with a maximum of an infinite lookback stochastic of the Jurik CFB.  Typically, a longer period RSX is desired when the market is trending and the CFB is high, and a shorter period RSX is desired when the market is choppy and CFB is low, although these can be reversed if desired.  User inputs are the values for the minimum and maximum speeds of the adapted RSX as well as the fractal span and smoothing factors for the Jurik CFB.  Requires that both the dll version of Jurik's CFB and the dll version of Jurik's RSX be installed. 

Back to Top

 

CFB Adapted VEL

.

 

This Profit indicator adapts the speed of a Jurik VEL of a user selected series between a value associated with the minimum of an infinite lookback stochastic of the Jurik CFB of the series and a value associated with a maximum of an infinite lookback stochastic of the Jurik CFB.  Typically, a longer period VEL is desired when the market is trending and the CFB is high, and a shorter period VEL is desired when the market is choppy and CFB is low, although these can be reversed if desired.  User inputs are the values for the minimum and maximum speeds of the adapted VEL as well as the fractal span and smoothing factors for the Jurik CFB.  Requires that both the dll version of Jurik's CFB and the dll version of Jurik's VEL be installed. 

Back to Top

 

CFB Adapted JMA

 

 

This Profit indicator adapts the period and phase of a Jurik JMA of a user selected series between the values associated with the minimum of an infinite lookback stochastic of the Jurik CFB of the series and the values associated with a maximum of an infinite lookback stochastic of the Jurik CFB.  Typically, a longer period JMA is desired when the market is trending and the CFB is high, and a shorter period JMA is desired when the market is choppy and CFB is low, although these can be reversed if desired.  User inputs are the values for the minimum and maximum speeds and phases of the adapted JMA as well as the fractal span and smoothing factors for the Jurik CFB.  Requires that both the dll version of Jurik's CFB and the dll version of Jurik's JMA be installed. 

Back to Top

 

Homodyne Discriminator Indicator

 

This Profit indicator implements the homodyne discriminator, as described in Ehlers' 'Rocket Science for Traders' (2001) to measure and return the period length of the dominant cycle.  It can determine the period of oscillation within a single cycle after formation.  This differs from Fourier transforms and other methods that sample over many periods of oscillation of data to pick out the dominant frequency in that the Homodyne discriminator does not require that the period or phase of the market cycle be stable over an extended time.  This has both advantages and disadvantages.  The Homodyne discriminator will most likely be useful to adapt other indicators to the current market frequency.  This indicator has a single output, the number of periods of the dominant cycle.  

Back to Top

 

 

Homodyne Sinewave Indicator

 

 

This Profit indicator, as described in Ehlers' 'Rocket Science for Traders' (2001) makes use of the Homodyne Discriminator to form an oscillator with the same frequency as the dominant cycle, by plotting the sine of the measured phase angle, designated Sine.  It also makes an oscillator that is the Sine advanced in phase by 45 degrees, designated Leadsine, which crosses Sine 1/16 of a cycle before the anticipated turning point.   Lastly, it generates the Leadsine-Sine function, which has a zero crossing 1/16 of a cycle before the anticipated turning point.  This add-in returns all three indicators. 
Back to Top
 

Cycle Period Indicator

 

 

This Profit indicator, as described in Ehlers' 'Cybernetic Analysis for Stocks and Futures' (2004) is similar in function to the Homodyne Discriminator in that it returns the dominant cycle period, though through a different algorithm, and is more responsive than the Homodyne Discriminator.  This indicator has a single output, the number of periods of the dominant cycle. 
Back to Top

 

 

CPSinewave Indicator

 

 

This Profit indicator, as described in Ehlers' 'Cybernetic Analysis for Stocks and Futures' (2004) makes use of the Cycle Period Indicator to form an oscillator with the same frequency as the dominant cycle, by plotting the sine of the measured phase angle, designated Sine.  It also makes an oscillator that is the Sine advanced in phase by 45 degrees, designated Leadsine, which crosses Sine 1/16 of a cycle before the anticipated turning point.   Lastly, it generates the Leadsine-Sine function, which has a zero crossing 1/16 of a cycle before the anticipated turning point.  This add-in returns all three indicators. 
Back to Top

Sinewave Front End

 

 

This Profit Sinewave indicator is a bit more complex to use than the other sinewave indicators but it is also more versatile.  Rather than having the dominant cycle period determination method hard coded in, it utilizes the period of oscillation as measured and provided by another input series, such as that given by the Homodyne, or the Cycle Period, or others that are in the works.  The other inputs needed are the High and Low of the security of interest.  This is the first in a category of indicators whose adaptation is driven by other indicators.  This has the advantage of not requiring a catalog of all the combinations of front ends and adapting functions.  This indicator forms an oscillator with the same frequency as the dominant cycle, by plotting the sine of the measured phase angle, designated Sine.  It also makes an oscillator that is the Sine advanced in phase by 45 degrees, designated Leadsine, which crosses Sine 1/16 of a cycle before the anticipated turning point.   Lastly, it generates the Leadsine-Sine function, which has a zero crossing 1/16 of a cycle before the anticipated turning point.  This add-in returns all three indicators. 
Back to Top

MAMA-FAMA

 

 

MAMA is the MESA Adaptive Moving Average and FAMA is the Following Adaptive Moving Average, as described in 'Rocket Science for Traders' and Stocks and Commodities, Dec 2000, p. 19.  The concept of MAMA is to relate the phase rate of change of the dominant cycle as determined by the Hilbert Transform and Homodyne discriminator to the alpha of an EMA.  This makes the EMA speed progress in a sawtooth fashion and makes the resulting EMA ratchet to follow price, alternating between being a fast EMA and a slow EMA once per cycle.  The FAMA has an alpha that is half as large so it trails MAMA, and they only cross at major market changes in direction, and is presented as a way to avoid whipsaws. This add-in returns both of these indicators as well as MAMA-FAMA, which crosses zero when MAMA and FAMA cross. 
Back to Top

Reversed Stochastic

 

 

This Profit indicator is for use in output transformations only.  It is a stochastic with the window looking forward in time instead of back. It may not be used for input transformations because it would constitute a future leak.  It can accept either a single input series to make a %Normal calculation or the High, Low, and Close to make a true Stochastic.  Smoothing could be applied either before or after this transformation.  This indicator has two output modes.  One is to output the raw reversed stochastic, which oscillates between 0 and 1.  The other mode is to output the stochastic inverted and set to oscillate between -1 and 1, so that it becomes a rational target function. 
Back to Top

Signal to Noise Indicator

 

 

This Profit indicator, as described in Ehlers' 'Rocket Science for Traders' (2001) as the Enhanced Signal to Noise Indicator, makes use of the Homodyne Discriminator to return the signal to noise ratio in decibles.  Ehlers' recommendation is to avoid cycle mode trading when the signal to noise ratio is below 6 db.  
Back to Top

Hilbert Oscillator

 

 

This Profit indicator, as described in Ehlers' 'Rocket Science for Traders' (2001) returns the Hilbert Oscillator.  It makes use of the Homodyne Discriminator to return the quadrature component, a 1/4 cycle moving average of the quadrature component, and the difference of the two, which crosses zero when these cross. 
Back to Top

Market Mode

 

 

This Profit indicator, as described in Ehlers' 'Rocket Science for Traders' (2001) returns the Market Mode Indicator.  It makes use of the Homodyne Discriminator to measure the dominant cycle period and indicates whether the market is in a cycle mode or a trend mode.  It starts by assuming a trend mode unless the leadsine and sine curves have crossed within a user specified fraction of the cycle period, or when the phase rate of change is within +/- 50% of the phase rate of change of the dominant cycle.  This is over-ridden if the instantaneous trendline, as measured over a user specified fraction of the dominant cycle, is more than a user specified threshold from the smoothed price.  This indicator returns a single series, the market mode, which is 1 when in trend mode and 0 when in cycle mode.  This indicator should be useful in conjunction with other indicators. 
Back to Top

Sine-Trend

 

 

This Profit indicator ties together the homodyne discriminator, the sinewave indicator, the instantaneous trendline, and the market mode to address a fundamental problem with the sinewave indicator.  The sinewave indicator does well while the market is in cycle mode, but when the market enters a strong trend it gets stuck on the wrong side of the trade because the phase change goes to zero and the indicator is waiting for the leadsine and sine to cross again.  The Sine-Trend indicator tries to address this by using the Market Mode to trade the Sinewave indicator while the market is in cycle mode and then switch and trade with the trend when the market is in trend mode.  I haven't seen that this helps the overall profitability of the Sinewave indicator generally, but it should reduce the drawdowns that the Sinewave indicator can experience due with being on the wrong side of a trend.
Back to Top

Binary GT, LT, AND, OR

 

 

These Profit indicators are all free, and have an installation password that is the word    free     in lowercase letters.  They enable the formation of all kinds of candle indicators, divergence detection, comparisons and tests.  They are very simple and very versatile.  They each compare 2 series and output a binary output of 1 for True and 0 for False.  They can be downloaded from the Archive page.
Back to Top

 

Efficiency Ratio

 

 

The Efficiency Ratio, also known as the Fractal Efficiency, is the absolute change in price over a time period divided by the sum of absolute 1 day price changes over the period.  In Trading Systems and Methods, Kaufman showed that trend following a 16 day EMA was profitable when the 65 day efficiency ratio was high, but was not when it was low, for a broad sampling of markets.  This suggests that this indicator may provide information about when trend following is in order and when trading counter-trend would be appropriate.
Back to Top

 

Accumulation Distribution Line

 

 

The volume based Accumulation/Distribution Line was proposed by Marc Chaikin as a method to avoid the all or nothing character of On Balance Volume.  It assigns a proportional amount of the daily volume to the indicator according to the relationship between the closing price and the average price of the day.  Inputs are the High, Low, Close, and Volume series.  Not to be confused with the price based Williams' Accumulation/Distribution indicator.
Back to Top

 

Chaikin Oscillator

 

 

The Chaikin A/D Oscillator is based on the Accumulation/Distribution line.  It is created by subtracting one exponential moving average of the A/D line from another exponential moving average of the A/D line.  It helps identify divergence between volume and price movement.  Inputs are the High, Low, Close, and Volume and adjustable parameters are the periods of the 2 EMAs.
Back to Top

 

Chaikin Money Flow

 

 

The Chaikin Money Flow indicator is also based on the A/D Line.  It is created by summing the values of the A/D line for a given number of periods divided by the summation of the volume over the same period.  It is above zero in strong markets and below zero in weak markets.  Inputs are the High, Low, Close, and Volume, and the adjustable parameter is the number of periods to sum over. 
Back to Top

 

Jurik CCX

 

 

The CCX is Jurik's version of the CCI, the commodities channel index.  It is essentially a MACD, normalized by its own average deviation.  The CCX makes use of JMA for smoothing functions internal to the CCX calculation.  It requires that the dll version of Jurik's JMA be installed, but does not require any other Jurik tool or software.  It produces smoother curves and is just as timely as the CCI.  The required inputs are the High, Low, and Close of the security, but this does not have to be the tradeable security in Profit.
Back to Top

 

DEMA and TEMA

 

 

DEMA and TEMA are the Double Exponential Moving Average and the Triple Exponetial Moving average.  They were introduced in the January 1994 issue of TASC.  The name is somewhat misleading, since they are not simply XMAs of an XMA, but are composites of single and double and triple XMAs that have less lag than any of the components individually.
Back to Top

 

Jurik Bipolar CFB Wrapper

 

 

This indicator generates a bipolar version of the Jurik Composite Fractal Behavior (CFB) indicator that is greater than zero when the series of interest is trending up and less than zero when the series is trending down.  The Jurik JMA smooths the inital data, RSX is used to estimate trend direction, and CFB measures trending, so the Jurik JMA, RSX, and CFB DLLs must all be installed.  User inputs are the JMA depth and the CFB smoothing and fractal span.
Back to Top

 

Equity Curve

 

 

This indicator generates the equity curve that would result if the series of interest were used as a trading signal, given the trading delay and threshold specified by the user.  It is similar to the non-normalized version of the chart-it function in the indicator window of Profit.  The utility of having the equity curve of an indicator as an input in Profit is still being explored, but the general idea is to invert the signal when the equity curve is trending down.  Multiplying the input by a binary transformed bipolar CFB of the equity curve of the input is one way to do this, but there are others as well.
Back to Top

 

TrendDir

 

 

TrendDir generates an output that indicates the direction and significance of the current trend.  It does this by calculating the z-score of the trend over a series of lookback windows that range from a user specified minimum to a user specified maximum and outputs the mean z score over this range of lookback windows.  The output is bipolar in nature, meaning that it is a negative value when the trend is declining, and the magnitude is a measure of the significance of the trend.
Back to Top

 


Home | Products | Schedule | Archive | Search | Blog | Contact Information

 The disclosed add-ins and indicators are tools for use in market timing models.  They are not trading systems. The output of Prescient Analytics products should not be considered trading advice.  Any results discussed are hypothetical and are not confirmed by actual trading.
For problems or questions regarding this Web site contact the site administrator (see Contact Information page)
Last updated: 07/28/07.