Description of  Portfolio Strategy Simulation




The system we are presenting is a simulation of a process of selecting, buying and selling stocks where a user selects values for a handful of input parameters and then obtains results for that selection.  The process by which this is done, the handful of parameters mentioned above and the output of the process are discussed in greater detail in our document below.


This document contains a description of a process that could appeal to the “average” entrepreneur or investor.  By the average we mean someone who may be curious regarding investment opportunities, but not a seasoned veteran.  If you are not too conservative to explore this idea, read on.


A simulation is a process where a real-life process (such as the behavior of stocks) is imitated on a computer to obtain the results of the process rapidly.  The results of a given instance of the simulation permit the user to view various factors of interest.  Some of these factors such as the process that is to be described, would be overall performance (did you make a profit), what is the sensitivity of your simulation to the stocks are included in your database, and what is your selected method of choosing stocks and when to buy or sell.


There are literally thousands of techniques that are available to you as an investor.  Many of those techniques are provided by brokerage houses.  Your broker or financial advisor uses the techniques routinely in communicating with you and many are available for you to peruse on line at the broker’s site.  Some of those may be simulations such as this and we would not be surprised if there were some that are better.

Overview of the process


Figure 1 below depicts a timeline over a period (a year) where the closing values (at the end of a trading day) of a given stock (Apple) are plotted.   On this same figure, is a straight line that depicts the best fitting line thru the data.  The best fitting line is a mathematical concept that is easily researched if you wish greater detail.


FIGURE 1 == Plotted values and the trend line

We move on to figure 2 where the line shown in figure 1 is extended to a period of time that we wish to simulate.  This is called extrapolation.  It means that a mathematically derived item such as our best fitting line that is derived from known data over a certain period of time, is extended to an uncharted period of time. That’s a mouthful, but more simply stated, it means that we use past time results to predict unknown future results. The second period of time we choose may be in the future, or a period in the past for which we have data.  If we believe and accept results that are obtained by the model, then we would extrapolate the line to a future period since you cannot make a lot of money betting on the past performance.  But, in the testing phase, it makes sense to employ a past period (for which we have data) in order to assess how well the model works.


Figure 2 – Extrapolating the trend line.


In figure 3 two lines are superimposed on the extended line of figure 2, one above and one below the line in the period that is being simulated (January of 2014).  These lines will delineate when a stock will be sold based on an increasing value (above the top line) or a dropping value (below the bottom line).   To the left of the separation on the chart is the assessment period where the known results are processed.  To the right is the period we will simulate.  The parallel lines to the left are only provided to clarify their origin, but the ones to the right indicate the actual values that will be employed during the simulation.

Figure 3 – Extrapolating the boundaries.


And there you have the model!  Each stock has its own predicted lines and it remains for you, the simulation master to set a variety of values to test the results of buying and selling stocks into a portfolio and from that portfolio.

Description of the model

An example of the data that we will work with is presented in figure 4.  There you see several days of the data for stock Apple, the date, its closing value on that date, the number of shares traded on that date, its high value, its low value and its opening value.  Consider these data over a one year period for a hundred stocks and we have most of the ingredients for executing the model.  Figure 4 below, provides a list of the input items that are necessary to execute the model.















Start Assessment Date

Beginning date for assessing data for each stock in database



End Assessment Date

Ending date for assessing data for each stock in database



Number of days to simulate

Length of simulation in days



Desired number

Target number of stocks to maintain at one time



Upper Boundary Pct

Boundary above trend line



Lower Boundary Pct

Boundary below trend line



Load Method

Technique number to be used in assessment of stocks




Amount of money to risk

$ 100,000


FIGURE 4 – Simulation Variables



With an understanding of the handful of items that are listed in the table, we launch the process.  At the beginning, as we do on every day of the simulated period, we attempt to select as many new stocks from our database as are required to get us to our desired number (see input #4).  Each of the stocks that is selected, obeys the following rules:  It is the next ordered item according to input #8; it is affordable meaning that our remaining bankroll  is greater than the cost of at least 100 shares; it must survive any rules of exclusion that may be present.


Having established the day’s starting portfolio, we assess each of the stocks in our portfolio according to their high and low values.  When those values traverse our upper boundary or lower boundary, a selling transaction occurs and everything is updated accordingly.


Simulating the process

With the understanding of the model in mind we proceed to describe the simulation.  The number of days that are specified in the setup table are emulated by the program.  Each day is begun by an attempt to fill out the portfolio to the desired number of stocks, again as shown in figure 4.  There are a variety of reasons why we may not be able to reach the desired number.  We do the best we can with what we have.


Following the “fill-up”, we assess each stock in our portfolio with respect to its “high value” and its “low value”.  Please remember that these values are contained in our database within the simulation time period.  If a high or low value goes above or below the band specified for a stock as shown in figure 3, then it is sold at the level specified by the band lines.  Cash on hand is increased, shares are eliminated and we proceed.


The earliest results of two setup scenarios are shown in the two figures that follow.  Even these results that show phenomenal appreciation of Capital over a 30 day period would make most investors envious.  Why waste any more time?  Lets proceed with the real thing and see what happens.  No! Even a fledgling investor should be dubious.  Some of the questions that need to be answered are listed below.


·       What happens after 30 days?

·       How does an increased bankroll influence the results?

·       What does a larger stock database do?

·       How is a reduction in net worth in going from a desired number of 3 to 6 explained?

·       What happens when the setup time period is increased or reduced?

·      And finally, what happens when the band width about the projected trend line is varied?       (see input #5 and #6 of figure 4)


Figure 5 -- Results of 30 days in a Portfolio of 3.





Figure  6 -- Results of 30 days,  Portfolio of  6.


The results shown above indicate only that the model is sensitive to the input variables.  While anyone would be happy with either of these results that provide a month’s growth of 60% and 90%, we might wonder why the larger number of stocks in the portfolio yielded a lower growth.  You might say that spreading one’s money across three winning stocks is more effective than distributing across six.  Figure 7, below provides an easier comparison of the two scenarios.


Figure  7 – Comparison of 30 day results with 2 different “Desired Numbers”