WO2001020529A1 - System and method for optimizing quantity of security purchased or sold on a periodic basis - Google Patents

System and method for optimizing quantity of security purchased or sold on a periodic basis Download PDF

Info

Publication number
WO2001020529A1
WO2001020529A1 PCT/US2000/025419 US0025419W WO0120529A1 WO 2001020529 A1 WO2001020529 A1 WO 2001020529A1 US 0025419 W US0025419 W US 0025419W WO 0120529 A1 WO0120529 A1 WO 0120529A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit price
units
baseline
price
mathematical equation
Prior art date
Application number
PCT/US2000/025419
Other languages
French (fr)
Inventor
Andrew J. Davis
Original Assignee
Davis Andrew J
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Davis Andrew J filed Critical Davis Andrew J
Priority to CA002385114A priority Critical patent/CA2385114A1/en
Priority to AU74939/00A priority patent/AU7493900A/en
Publication of WO2001020529A1 publication Critical patent/WO2001020529A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Definitions

  • the present invention relates generally to the field of securities and other investment instruments. More particularly, the present invention is directed to a system and method for optimizing the number of units of a security or other investment instrument purchased or sold on a periodic basis.
  • DCA dollar cost averaging
  • DCA is a method for periodically purchasing units, or units, of a security in a manner such that the average per- unit cost over a plurality of periodic purchases will be less than the average price of the units over the entire period during which an investor makes the periodic purchases.
  • DCA always results in an average per-unit cost lower than the average price, regardless of whether the long-term trend of the market is increasing or declining, as long as the purchase price fluctuates among the periodic purchases.
  • DCA is an alternative to buying a fixed number of units periodically or buying a number of units at only one time with a lump sum of money and hoping that the price of the security increases between the time the units are purchased and the time they are sold.
  • DCA involves investing a fixed amount of money at regular intervals over an extended period of time.
  • TABLE 1 illustrates the impact of DCA versus purchasing a fixed number of units over twelve periodic purchases.
  • the fixed-dollar purchasing scheme of DCA results in fewer units being purchased when the per-unit price is high and more units being purchased when the per-unit price is low.
  • the number of units purchased each period can be expressed as:
  • N - ⁇ 1 ⁇
  • N is the number of units purchased
  • A is the dollar amount of the purchase
  • P is the current unit price at which the purchase is made
  • Pb is a baseline unit price equal to zero.
  • the equation for N is a simple hyperbolic function asymptotic to the N-axis as P approaches zero and asymptotic to the P-axis as P approaches infinity.
  • DCA will always yield an average per-unit cost lower than the average price of the units over the entire period because DCA yields a weighted average, whereas purchasing a fixed number of units will result simply in the average per-unit cost being equal to the average price, which is an un-weighted average.
  • DCA may be considered a weighted averaging because the number of units purchased with the fixed dollar amount varies inversely with the current per-unit price of the security at the time of purchase. That is, when the per-unit price is high, the fixed dollar amount purchases a smaller number of units than when the per-unit price is low. Thus, whenever the unit price of the security varies over a number of purchase periods, the total number of units purchased using DCA will always be greater than the total number of units purchased by purchasing a fixed number of units each period.
  • DCA lacks a gain control that would allow an investor to optimize the DCA method.
  • the DCA method may also be used for selling units of a security periodically over an extended period. In this scenario, rather than a fixed dollar amount being used to purchase units of a security, a fixed dollar amount of the security is sold each period. However, DCA is not a desirable method for selling securities since the per-unit yield of the units sold would be less than the average price of the units over the extended period. Obviously, it is more desirable that the per-unit yield be greater than the average price.
  • the present invention is directed to a method of calculating a number N of units of a security to be traded at a unit price P in each of a series of consecutive periods based upon a desired monetary amount A for each of the consecutive periods.
  • the method comprises establishing a baseline unit price P ⁇ not equal to zero and selecting a mathematical equation having the number N of units as an unknown term and comprising a function of the desired monetary amount A, the unit price P and the baseline unit price P D . Then, the mathematical equation is solved for N.
  • the present invention is directed to a computer readable storage medium containing a computer program implementing a method of calculating a number N of units of a security to be traded at a unit price P in each of a series of consecutive periods based upon a desired monetary amount A for each of the consecutive periods, wherein the security has a baseline unit price P D .
  • a non-zero value is obtained for the baseline unit price P D .
  • a mathematical equation is then solved.
  • the mathematical equation has the number N of units as an unknown term and comprises a function of the desired monetary amount A, the unit price P and the baseline unit price P D .
  • the number N of units is then outputted to at least one of a user display, a storage device and another computer.
  • the present invention is directed to a system for optimizing a number N of units of a security to be traded in each of a series of periods at a unit price P based upon a desired monetary amount A.
  • the system includes a central processing unit and an application program for controlling said central processing unit.
  • the application program contains a mathematical equation comprising a function of the desired monetary amount A, the unit price P and a baseline unit price Pi-, not equal to zero.
  • a memory is connected to the central processing unit and stores the application program.
  • the present invention is directed to a method of determining a number N of units of a security to be traded in each of a series of periods.
  • the method comprises establishing a baseline price P D , a current unit price P and a desired monetary amount A for each period and determining the number N as a function of the baseline price P D , the current unit price P. the desired monetary amount A and a gain constant K.
  • the function automatically increases N when P is greater than P D and automatically decreases N when P is less than Pj
  • the function automatically decreases N when P is greater than Pj, and automatically increases N when P is less than P D
  • the present invention is directed to a computer readable storage medium containing a computer program for implementing a method of determining a number N of units of a security to be traded in each of a series of periods.
  • the method comprises establishing a baseline price P D . a current unit price P and a desired monetary amount A for each period and determining the number N as a function of the baseline price P D , the current unit price P, the desired monetary amount A and a gain constant K.
  • the function automatically increases N when P is greater than P D and automatically decreases N when P is less than P D
  • the function automatically decreases N when P is greater than P D and automatically increases N when P is less than P D
  • FIG. 1 is a graph of Per-Unit Price of a Security versus Time for one embodiment of the SACIN and SACOUT aspects of the present invention.
  • FIG. 2 is a graph of Per-Unit Price of a Security versus Time illustrating the use of the embodiment of FIG. 1 where the general trend of the price of the security is upward.
  • FIG. 3 is a graph of Per-Unit Price of a Security versus Time illustrating an alternative embodiment of the SACIN and SACOUT optimization methods of the present invention.
  • FIG. 4 is a block diagram illustrating a computer network containing a service computer implementing the SACIN and SACOUT optimization methods of the present invention.
  • FIG. 5 is a flow diagram for implementing the embodiment of FIG. 1 in the application program of FIG. 4.
  • FIGS. 6A and 6B show, respectively, one embodiment each of a SACIN worksheet and a SACOUT worksheet that may be used with the flow diagram illustrated in FIG. 5.
  • the present invention is directed to a method for periodically trading units of a security or other investment instrument, such as stocks, bonds, mutual funds shares, options, futures and the like, in a fluctuating market in a manner that optimizes the per-unit dollar value of the corresponding transaction.
  • the method adjusts the number of units purchased or sold based upon the difference between a current unit price and a baseline unit price, such as an historical average price.
  • the method comprises equations for calculating the number of units to be traded in a given transaction period in accordance w ith certain rules for each of the purchasing and selling scenarios.
  • the method reduces the number of units purchased when the current unit price is higher than the baseline unit price.
  • the method increases the number of units purchased.
  • the per-unit price over a number of transaction periods is lower than the average unit price over the same transaction periods.
  • the method increases the number of units sold when the current unit price is above the baseline unit price. If the current unit price is below the baseline unit price, the method reduces the number of units sold. Accordingly, the per-unit price of the units sold over a number of transaction periods is higher than the average sale price over the same transaction periods.
  • each equation further includes a gain control that, when all other variables are fixed, allows an investor to adjust the variation in the number of units traded caused by changes in the current unit price to suit his or her investment goals and/or to suit market conditions.
  • SACIN security average cost in
  • N ⁇ 4 ⁇ P - ⁇ K t P b )
  • N P/A
  • baseline price P may be an historical average, but it may be another value such as the unit price of the security at the first purchase.
  • the price of the security at the first purchase may be more conveniently obtained than an historical average.
  • TABLE 2 shows examples using the SACIN method to purchase units of a security monthly over a twelve-month period with three different values for Kj. The results shown in
  • TABLE 2 may be compared to the results of the DCA example of TABLE 1. which uses the same period and current price information.
  • TABLE 2 shows that the average per-unit cost beneficially decreases as gain constant Kj is increased.
  • the total purchase cost also increases as gain constant Kj is increased, and for K; greater than zero the total purchase cost may be different from target amount A multiplied by the number of purchase periods.
  • the investor must weigh the ability to absorb the variability of actual purchase cost against the benefit of a low per-unit cost.
  • SACOUT security average cost out
  • P is the current per-unit price of the security
  • Pb is a baseline price of the security
  • Nb is the number of units that could be sold to yield a nominal dollar amount A when the current price P is equal to the baseline price P
  • N ⁇ 7 ⁇ (K 0 P b ) - P
  • TABLE 3 shows examples using the SACOUT method to sell units of a security monthly over a twelve-month period with three different values for K 0 .
  • TABLE 3 shows that the average per-unit yield beneficially increases as gain constant K 0 is decreased. In addition, it is seen that the total number of units sold and the total yield increase as gain constant K 0 is decreased. Thus, for an investor to optimize the SACOUT for his or her own investment plan, the investor must weigh the fact that the larger the gain constant K 0 is, the more the rate of depletion of the units owned may vary against the benefit of a high per-unit yield.
  • FIG. 1 a graph 100 illustrating the SACIN and SACOUT embodiments, which are based upon, respectively, Equations ⁇ 4 ⁇ and ⁇ 7 ⁇ .
  • Graph 100 visually illustrates a number of important relationships among gain constants Kj and K 0 , the actual transaction price P and number N of units traded during a particular transaction period.
  • the product Kj(Pb) should always be lower than the lowest actual price over a period of time.
  • Kj(Pb) should be less than the lowest price at P m jn- ⁇ n addition, the closer actual transaction price P is to Kj(Pb) or K 0 (Pb), the larger the number of units traded will be.
  • Kj should be a value less than the minimum price P m j n divided by baseline price Pb-
  • K 0 should be a value greater than maximum price P m ax divided by baseline price P -
  • FIG. 2 shows a graph 200 of the SACIN and SACOUT embodiments for a security have an upward long-term trend.
  • the lengths of Periods 1 and 2 and the magnitudes of and K 0 will depend on variables such as the slope of the long-term trend and the magnitudes of short-term fluctuations. Accordingly, and unlike DCA. the SACIN and SACOUT embodiments may be modified to optimize their performance to suit a particular investment goal and/or to suit particular market conditions.
  • gain constants Kj and K 0 and baseline price Pb need not be a fixed values but may vary with time. For example, as shown in graph 250 of FIG. 3, gain constants K j( and K ot and baseline price P b( may take the slope of the long term trend of the unit price of the security.
  • a guideline in selecting other formulas is that such formulas identify the number of units of a security that should be purchased or sold with respect to a non-zero baseline price and/or using a gain control by, respectively, automatically (a) increasing the number of units purchased when the current per-unit price is lower than the baseline price and decreasing the number of units purchased when the current per-unit price is higher than the baseline price, for SACIN, and (b) decreasing the number of units sold when the current per-unit price is lower than the baseline price and increasing the number of units sold when the current per-unit price is higher than the baseline price, for SACOUT.
  • Equation ⁇ 4 ⁇ of the SACIN method as described above Kj must be less than one so that KjPb is less than Pb (see FIG. 1).
  • an equation different from Equation 4 may be selected such that Kj is greater than one and Kj Pb is greater than Pb-
  • An example of such an equation is:
  • Equation ⁇ 7 ⁇ N ⁇ 8 ⁇ Pb 2 iKi - ⁇
  • Equation ⁇ 7 ⁇ a K 0 less than one and a K 0 Pb less than Pb may be used.
  • such an equation may be:
  • Equations ⁇ 4 ⁇ and ⁇ 7 ⁇ - ⁇ 9 ⁇ may be used to determine the number of units to be transacted.
  • Such equations include power functions, conical functions and trigonometric functions, among others.
  • a suitable power function for SACIN may be:
  • Equations ⁇ 4 ⁇ and ⁇ 7 ⁇ - ⁇ 10 ⁇ are illustrative and are not intended to limit the scope of the invention defined by the claims appended hereto.
  • FIG. 4 shows a computer system 300 that includes a network 301 and a service computer 302 connected to the network for performing the SACIN and/SACOUT optimization methods of the present invention over the network, which allows one or more users to use these methods.
  • Network 301 may be the Internet, an Intranet, a local or wide area network (LAN or WAN) or a dial-in network.
  • Network 301 ma ⁇ be wireless, linked by cable or optical fiber, or a combination thereof.
  • Service computer 302 has a central processing unit (CPU) 304, typically one or more microprocessors, embedded controllers, ASICs or other logic devices, memory 306, typically fast access, low capacity memory such as RAM, and slower access, high capacity memory, such as optical and magnetic disk drives and an input/output (I/O) section 308, typically including various communication adapters for communicating with user computers 310 over network 301 and various device drivers for communicating with I/O devices such as a display, a keyboard, a printer and a mouse, among others.
  • Service computer 302 will typically be a conventional server computer of the type used in client- server networks. Although described as a single computer, service computer 302 may comprise several linked computers, in a single or multiple locations.
  • Service computer 302 also includes an application program 312 stored in memory 306.
  • application program 312 contains computing steps for implementing the above-described SACIN and SACOUT optimization methods of the present invention. These steps are executed as logical operations by CPU 304 in combination with memory 306 and I/O section 308.
  • User computer 310 may be one of a wide variety of computing systems such as personal computers, set-top boxes, mobile telephones, personal digital assistants, so-called ''network appliances," interactive TV and other electronic devices and venues. Each user computer 310 includes a display (not shown) or other output device for displaying text and/or graphics. While only four user computers 310 are illustrated in FIG. 4, it is to be appreciated that network 301 may contain millions, and some day even billions, of user computers, which could be located in offices, homes, cars, kiosks or be completely mobile.
  • Each user computer 310 includes a communications program (not shown) for communicating with service computer 302 over network 301.
  • the communication program allows the service computer to prompt a user for particular input, receive such input, and display to the user via user computer 310 information, e.g., the tabular information presented in FIGS. 6A and 6B and described below in more detail.
  • the communications program may be a conventional browser, such as that available from Microsoft Corporation, Redmond, Washington, under the trademark EXPLORER, and from Netscape Communications Corporation, Mountain View, California, under the trademark NAVIGATOR.
  • Such communications programs are known in the art and, therefore, are not described in detail herein.
  • the SACIN and SACOUT optimization methods of the present invention may be implemented on a stand-alone computing device (not shown) such as a non-networked personal computers, hand-held calculator, personal digital assistant and the like.
  • the stand-alone computing device would generally have the same features as service computer 302. That is, the stand-alone computing device would include a CPU 304, memory 306, application program 312 and I/O section 308.
  • the stand-alone computing device would also include a display (not shown) for presenting text and/or graphics to a user and an input device that allows the user to input the data requested by application program 312.
  • FIGS. 5A-5B illustrate a flow diagram, denoted generally by the numeral 400, for one embodiment of application program 312.
  • flow diagram 400 incorporates Equations ⁇ 4 ⁇ and ⁇ 7 ⁇ for the SACIN and SACOUT optimization methods, respectively.
  • the SACIN and SACOUT methods are not limited to these particular equations.
  • the SACIN and SACOUT optimization methods may be implemented independent of one another in separate programs.
  • application program 312 starts and prompts a user to select either the SACIN or SACOUT method, depending on whether the user is interested in purchasing or selling units of a security. If the user selects the SACIN method, at step 404 application program 312 prompts the user to select one of three functions, New Security, Recommend Periodic Purchase or Update Last Period with Actual Purchase Data. Although three functions are described, more or fewer functions may be provided. For example, a fourth function, Change Previous Period, may be provided for correcting errors or working through a number of purchasing scenarios. The Change Previous Period function could also include an option for allowing the user to save or discard any changes made during the session.
  • application program 312 displays to the user a brief explanation of the SACIN method. For example, application program 312 may display the following message: '"When used for periodic purchases, SACIN automatically produces a per-unit cost lower that the average unit cost per period and dollar cost averaging (DCA) by investing more dollars when the price is low and fewer dollars when the price is high.”
  • DCA dollar cost averaging
  • application program 312 prompts the user to change the default name of the worksheet from "New Investment” to any name the user desires. Preferably, the user should select the name of the security, such as "XYZ Company Common Stock," "ABC Growth Fund” or the like. If the user does not change the default name, application program 312 will use the default name.
  • application program 312 prompts the user to input the desired values for A, Pb and Kj of Equation ⁇ 4 ⁇ . If the user requests application program 312 for help, at step 412 application program 312 may display to the user explanations of
  • A, Pb and Kj For example, for A, application program 312 may display the following: "A is the nominal dollar amount you wish to invest each period. You should monitor SACIN's total amount invested and adjust A, Pb and/or Kj to stay on track toward your long-term goals.” For Pb, application program 312 may display the following: "Pb is not very critical, it is simplest to use the current unit price. You can also use a recent historical price to estimate an average price during the SACIN period.” For Kj, application program 312 may display the following: "Kj is a gain control. The larger Kj is, the more the periodic investment will change with price and the lower your per-unit cost will be.
  • Application program 312 may be configured to display the explanations all at once or one at a time, depending on the user ' s request.
  • application program 312 displays to the user a worksheet 500. see FIG. 6A. having a first period numbered and dated with the current date. Alternatively, application program 312 may prompt the user to input a date to be associated with the first period.
  • application program 312 obtains the current price P of a unit of the security. Application program 312 may obtain the price by querying the user or linking to a database, e.g., a database maintained by a brokerage house or an online provider of such information.
  • step 418 application program 312 displays a caution based upon current price P relative to baseline price Pb- For example, if current price P is less than baseline price Pb, application program 312 may display the following: "If P lowers and approaches (Kj) x (P a ), large purchases will result.” However, if current price P is greater than baseline price Pb, application program 312 may display the following: "Large increases in P reduce the gain.”
  • application program 312 queries the user as to whether or not he or she is satisfied with the selected values of A, P and Kj. If the user is not satisfied, at step 422 application program 312 prompts the user to change any or all of the previously selected values of A, Pb and Kj. The user may seek help from application program 312, at which point application program 312 displays the explanations of the variable at step 412, which is described above. If the user is satisfied with the selected values of A, P and Kj, at step 424 application program 312 calculates the remaining information presented on worksheet 500, i.e., units purchased, amount invested, total units purchased, total amount invested, average unit price per period and average purchase price per-unit, to be displayed in worksheet 500.
  • worksheet 500 is updated and the information for the entire period is displayed.
  • application program 312 queries the user as to whether or not his or her investing objectives are being met. If the user answers in the negative, application program 312 returns to step 422 and prompts the user to change one or more of A, P and Kj, after which application program 312 executes the subsequent steps until step 428 is again reached. If the user answers in the affirmative, at step 430 worksheet 500 is saved and application program 312 is ended. Alternatively, application program 312 may return to step 402 to allow the user to change from SACIN to SACOUT, add a new period, enter a new security or the like.
  • step 432 the program displays worksheet 500 with a new period consecutively numbered and dated with the current date.
  • the new period is preferably displayed with the column headings 502 as many previous periods as will fit on the output device, typically a screen of a computer monitor.
  • Application program 312 also copies from the immediately preceding period the values for A, P and Kj and displays them in worksheet 500.
  • step 432 application program 312 proceeds to steps 416-430 as described above with respect to the New Security Function.
  • step 434 application program 312 then prompts the user to input the actual number of units purchased and/or the actual amount invested. If the user provides only one of the requested values, at step 438 application program 312 calculates the other and then proceeds to step 440. If the user provides both of the requested values, application program 312 proceeds immediately from step 436 to 440.
  • step 440 application program 312 calculates the total units purchased, total amount invested, average unit price per period and average purchase price per-unit. Then, at step 442 application program 312 updates the current period and displays the current period in worksheet 500. After program displays updated worksheet 500, application program 312 proceeds to step 430 in which worksheet 500 is saved and the program is ended. Alternatively, application program 312 may return to step 402 to allow the user to change from SACIN to SACOUT, add a new period, enter a new security or the like.
  • application program 312 may provide an option that would link the SACIN aspect of application program 312 to a trading program that would allow the user to purchase the recommended number of units.
  • the trading program could then transmit the actual purchase data, i.e., the current price P, number of units purchased and/or the amount invested, to the Update Last Period with Actual Purchase Data function at steps 434 and 436 to automatically update the latest investment period.
  • step 450 application program 312 proceeds to step 450 and prompts the user to select one of three functions, New Security, Recommend Periodic Sale or Update Last Period with Actual Sale Data.
  • three functions are described, more or fewer function may be provided.
  • a fourth function, Change Previous Period may be provided for correcting errors or working through a number of selling scenarios.
  • the Change Previous Period function could also include an option for allowing the user to save or discard any changes made during the session.
  • application program 312 displays to the user a brief explanation of the SACOUT method. For example, application program 312 may display the following message: "When used for periodic sales, SACOUT automatically produces a per-unit cost of units sold higher than the average unit cost per period by selling more units when the price is high and fewer when the price is low.”
  • application program 312 prompts the user to change the default name of the worksheet from "New Sale” to any name the user desires. Preferably, the user should select the name of the security, such as "XYZ Company Common Stock," "ABC Growth Fund” or the like. If the user does not change the default name, application program 312 will use the default name.
  • application program 312 prompts the user to input the desired values for A, Pb and K 0 of Equation ⁇ 7 ⁇ . If the user requests application program 312 for help, at step 458 the program may display to the user explanations of A, Pb and K 0 . For example, for A, application program 312 may display the following: "A is the nominal dollar amount you wish to sell each period.
  • K 0 is a gain control. The smaller K 0 is, the more the periodic sale will change with price and the higher your per-unit sale price will be. A large number for K 0 approaches selling a fixed number of units per period, which results in your average per-unit sale price equaling the average per-unit sale price per period.
  • Application program 312 may be configured to display the explanations all at once or one at a time, depending on the user's request.
  • application program 312 displays to the user a worksheet 10, see FIG. 6B, having a first period numbered and dated with the current date. Alternatively, application program 312 may prompt the user to input a date to be associated with the first period.
  • application program 312 obtains the current price P of a unit of the security. Application program 312 may obtain the price by querying the user or linking to a database, e.g., a database maintained by a brokerage house or an online provider of such information.
  • step 464 the program displays a caution based upon current price P relative to baseline price P - For example, if current price P is greater than baseline price Pb, application program 312 may display the following: "If P increases and approaches (K 0 ) x (P a ). large sales will result.” However, if current price P is less than baseline price Pb, application program 312 may display the following: “Large decreases in P reduce the gain.”
  • application program 312 queries the user as to whether or not he or she is satisfied with the selected values of A, Pb and K 0 . If the user is not satisfied, at step 468 application program 312 prompts the user to change any or all of the previously selected values of A, Pb and K 0 . The user may seek help from application program 312, at which point the program displays the explanations of the variable at step 458, which is described above. If the user is satisfied with the selected values of A, P and K 0 , at step 470 application program 312 calculates the remaining information presented on worksheet 510, i.e., units sold, dollar amount sold, total units sold, total dollar amount sold, average unit sale price per period and average sale price per-unit, to be displayed in worksheet 500.
  • worksheet 510 is updated and the information for the entire period is displayed.
  • application program 312 queries the user as to whether or not his or her investing objectives are being met. If the user answers in the negative, application program 312 returns to step 468 and prompts the user to change one or more of A, P and K 0 . after which application program 312 executed the subsequent steps until step 474 is again reached. If the user answers in the affirmative, at step 476 worksheet 510 is saved and application program 312 is ended. Alternatively, application program 312 may return to step 402 to allow the user to change from SACOUT to SACIN, add a new period, enter a new security or the like.
  • step 478 the program displays worksheet 510 with a new period consecutively numbered and dated with the current date.
  • the new period is preferably displayed with the column headings 512 as many previous periods as will fit on the output device, typically a screen of a computer monitor.
  • Application program 312 also copies from the immediately preceding period the values for A, Pb and K 0 and displays them in worksheet 510.
  • step 478 application program 312 proceeds to steps 462-476 as described above with respect to the New Security Function.
  • step 480 the program obtains the current price P in a manner similar to step 462.
  • step 482 application program 312 then prompts the user to input the actual number of units sold and/or the actual dollar amount sold. If the user provides only one of the requested values, at step 484 application program 312 calculates the other and then proceeds to step 486. If the user provides both of the requested values, application program 312 proceeds immediately from step 482 to 486.
  • application program 312 calculates the total units sold, total dollar amount sold, average unit sale price per period and average sale price per-unit. Then, at step 488 application program 312 updates the current period and displays the current period in worksheet 510. After program displays updated worksheet 510, application program 312 proceeds to step 476 in which worksheet 510 is saved and the program is ended. Alternatively, application program 312 may return to step 402 to allow the user to change from SACOUT to SACIN, add a new period, enter a new security or the like.
  • application program 312 may provide an option that would link the SACOUT aspect of application program 312 to a trading program that would allow the user to sell the recommended number of units.
  • the trading program could then transmit the actual sale data, i.e., the current price P, number of units sold and/or the dollar amount sold, to the Update Last Period with Actual Sales Data function at steps 480 and 482 to automatically update the latest investment period.

Abstract

A system and method for calculating a number of units of a security or other investment instrument to be traded periodically in a fluctuating market in a manner that optimizes the per-unit dollarvalue of the corresponding transaction. The system and method each comprise equations for calculating the number of units to be purchased (SACIN) or sold (SACOUT) during each of a plurality of transaction periods based upon (1) a target amount of money for purchasing, or to be received from the sale of, the security duringeach transaction period, (2) a non-zero baseline unit price (Pb) and (3) a current per unit price (P) during the corresponding transaction period. In one embodiment, each equation further includesa gain control that, when all other variables are fixed, allowsaninvestor to adjust the number of units traded to suit his or her investment goals and/or to suit market conditions.

Description

SYSTEM AND METHOD FOR OPTIMIZING QUANTITY OF SECURITY PURCHASED OR SOLD ON A PERIODIC BASIS
FIELD OF INVENTION
The present invention relates generally to the field of securities and other investment instruments. More particularly, the present invention is directed to a system and method for optimizing the number of units of a security or other investment instrument purchased or sold on a periodic basis.
BACKGROUND OF THE INVENTION
A number of methods exist for optimizing investments in securities such as stocks, bonds, mutual funds, futures and options, among others. At least one known method for optimizing investments in a fluctuating market is dollar cost averaging (DCA). DCA is a method for periodically purchasing units, or units, of a security in a manner such that the average per- unit cost over a plurality of periodic purchases will be less than the average price of the units over the entire period during which an investor makes the periodic purchases. DCA always results in an average per-unit cost lower than the average price, regardless of whether the long-term trend of the market is increasing or declining, as long as the purchase price fluctuates among the periodic purchases. DCA is an alternative to buying a fixed number of units periodically or buying a number of units at only one time with a lump sum of money and hoping that the price of the security increases between the time the units are purchased and the time they are sold.
DCA involves investing a fixed amount of money at regular intervals over an extended period of time. TABLE 1 illustrates the impact of DCA versus purchasing a fixed number of units over twelve periodic purchases. TABLE 1
Figure imgf000003_0001
As seen in TABLE 1 , the fixed-dollar purchasing scheme of DCA results in fewer units being purchased when the per-unit price is high and more units being purchased when the per-unit price is low. In DCA, the number of units purchased each period can be expressed as:
N = - { 1 }
P - Pb
where N is the number of units purchased, A is the dollar amount of the purchase, P is the current unit price at which the purchase is made and Pb is a baseline unit price equal to zero. The equation for N is a simple hyperbolic function asymptotic to the N-axis as P approaches zero and asymptotic to the P-axis as P approaches infinity. DCA will always yield an average per-unit cost lower than the average price of the units over the entire period because DCA yields a weighted average, whereas purchasing a fixed number of units will result simply in the average per-unit cost being equal to the average price, which is an un-weighted average. DCA may be considered a weighted averaging because the number of units purchased with the fixed dollar amount varies inversely with the current per-unit price of the security at the time of purchase. That is, when the per-unit price is high, the fixed dollar amount purchases a smaller number of units than when the per-unit price is low. Thus, whenever the unit price of the security varies over a number of purchase periods, the total number of units purchased using DCA will always be greater than the total number of units purchased by purchasing a fixed number of units each period.
A drawback of DCA is that, while the number of units N purchased varies inversely with the price P, an investor is limited to the purchasing only the number of units given by the simple equation, N = A/P. In addition, DCA lacks a gain control that would allow an investor to optimize the DCA method.
The DCA method may also be used for selling units of a security periodically over an extended period. In this scenario, rather than a fixed dollar amount being used to purchase units of a security, a fixed dollar amount of the security is sold each period. However, DCA is not a desirable method for selling securities since the per-unit yield of the units sold would be less than the average price of the units over the extended period. Obviously, it is more desirable that the per-unit yield be greater than the average price.
In view of the foregoing, it is an object of the present invention to provide a method for automatically determining the number of units of a security to be purchased that yields a lower per-unit cost than DCA. It is also an object of the present invention to provide a method that allows an investor to adjust the number of units purchased based upon personal investment goals and/or market conditions. It is another object of the present invention to provide a method that allows an investor to determine the number of units of a security to be sold in each of a number of periods such that the per-unit yield of the units sold is higher than the average price of the security over the number of periods. It is yet another object of the of the present invention to provide a method that allows an investor to adjust the number of units sold based upon personal investment goals and/or market conditions.
SUMMARY OF THE INVENTION In one aspect, the present invention is directed to a method of calculating a number N of units of a security to be traded at a unit price P in each of a series of consecutive periods based upon a desired monetary amount A for each of the consecutive periods. The method comprises establishing a baseline unit price P^ not equal to zero and selecting a mathematical equation having the number N of units as an unknown term and comprising a function of the desired monetary amount A, the unit price P and the baseline unit price PD. Then, the mathematical equation is solved for N.
In another aspect, the present invention is directed to a computer readable storage medium containing a computer program implementing a method of calculating a number N of units of a security to be traded at a unit price P in each of a series of consecutive periods based upon a desired monetary amount A for each of the consecutive periods, wherein the security has a baseline unit price PD. First, a non-zero value is obtained for the baseline unit price PD. A mathematical equation is then solved. The mathematical equation has the number N of units as an unknown term and comprises a function of the desired monetary amount A, the unit price P and the baseline unit price PD. The number N of units is then outputted to at least one of a user display, a storage device and another computer.
In yet another aspect, the present invention is directed to a system for optimizing a number N of units of a security to be traded in each of a series of periods at a unit price P based upon a desired monetary amount A. The system includes a central processing unit and an application program for controlling said central processing unit. The application program contains a mathematical equation comprising a function of the desired monetary amount A, the unit price P and a baseline unit price Pi-, not equal to zero. A memory is connected to the central processing unit and stores the application program. In still another aspect, the present invention is directed to a method of determining a number N of units of a security to be traded in each of a series of periods. The method comprises establishing a baseline price PD, a current unit price P and a desired monetary amount A for each period and determining the number N as a function of the baseline price PD, the current unit price P. the desired monetary amount A and a gain constant K. When selling the security, the function automatically increases N when P is greater than PD and automatically decreases N when P is less than Pj, When purchasing the security, the function automatically decreases N when P is greater than Pj, and automatically increases N when P is less than PD
In a further aspect, the present invention is directed to a computer readable storage medium containing a computer program for implementing a method of determining a number N of units of a security to be traded in each of a series of periods. The method comprises establishing a baseline price PD. a current unit price P and a desired monetary amount A for each period and determining the number N as a function of the baseline price PD, the current unit price P, the desired monetary amount A and a gain constant K. When selling the security, the function automatically increases N when P is greater than PD and automatically decreases N when P is less than PD When purchasing the security, the function automatically decreases N when P is greater than PD and automatically increases N when P is less than PD
BRIEF DESCRIPTION OF THE DRAWINGS
For the purpose of illustrating the invention, the drawings show a form of the invention that is presently preferred. However, it should be understood that this invention is not limited to the precise arrangements and instrumentalities shown in the drawings.
FIG. 1 is a graph of Per-Unit Price of a Security versus Time for one embodiment of the SACIN and SACOUT aspects of the present invention. FIG. 2 is a graph of Per-Unit Price of a Security versus Time illustrating the use of the embodiment of FIG. 1 where the general trend of the price of the security is upward.
FIG. 3 is a graph of Per-Unit Price of a Security versus Time illustrating an alternative embodiment of the SACIN and SACOUT optimization methods of the present invention.
FIG. 4 is a block diagram illustrating a computer network containing a service computer implementing the SACIN and SACOUT optimization methods of the present invention.
FIG. 5 is a flow diagram for implementing the embodiment of FIG. 1 in the application program of FIG. 4.
FIGS. 6A and 6B show, respectively, one embodiment each of a SACIN worksheet and a SACOUT worksheet that may be used with the flow diagram illustrated in FIG. 5.
DETAILED DESCRIPTION OF THE INVENTION
As an overview, the present invention is directed to a method for periodically trading units of a security or other investment instrument, such as stocks, bonds, mutual funds shares, options, futures and the like, in a fluctuating market in a manner that optimizes the per-unit dollar value of the corresponding transaction. In general, the method adjusts the number of units purchased or sold based upon the difference between a current unit price and a baseline unit price, such as an historical average price.
The method comprises equations for calculating the number of units to be traded in a given transaction period in accordance w ith certain rules for each of the purchasing and selling scenarios. In a purchasing scenario, the method reduces the number of units purchased when the current unit price is higher than the baseline unit price. Conversely, when the current unit price is lower than the baseline unit price, the method increases the number of units purchased. Using these rules, the per-unit price over a number of transaction periods is lower than the average unit price over the same transaction periods.
In a selling scenario, the method increases the number of units sold when the current unit price is above the baseline unit price. If the current unit price is below the baseline unit price, the method reduces the number of units sold. Accordingly, the per-unit price of the units sold over a number of transaction periods is higher than the average sale price over the same transaction periods.
Preferably, each equation selected for determining the number of units of a security to be purchased, or sold, during each of a plurality of transaction periods as a function of (1 ) a target amount of money for purchasing, or to be received from the sale of, the security during each transaction period, (2) a baseline unit price and (3) the current unit price during the corresponding transaction period. In a presently preferred embodiment, each equation further includes a gain control that, when all other variables are fixed, allows an investor to adjust the variation in the number of units traded caused by changes in the current unit price to suit his or her investment goals and/or to suit market conditions.
To illustrate the foregoing concepts, in a purchasing scenario a presently preferred embodiment, denoted SACIN (security average cost in), of periodically purchasing units of a security is to purchase a number N of units such that:
N = - Nb
{2}
P- Ki (Pb )
where P is the current per-unit price of the security, P^ is a baseline price of the security, Ntø is the number of units that could be purchased with a target nominal dollar amount A when the current price P equals the baseline price PD, and Kj is a gain constant where 0 < Kj < 1. Since target dollar amount A and gain constant Kj are determined by an investor and Ntø cannot be determined without A. Nb can be written as a function of A and Kj by setting P = Pb and:
Figure imgf000009_0001
The result is that Nb = A(l-Ki). Substituting A(l-Ki) for Nb in equation {2} yields:
A(\ - Kt )
N = {4} P - {KtPb )
wherein the only unknown at the time of purchase is the number N of units to be purchased. It is worth noting that when Kj = 0, Equation {4} reduces to N = P/A, which is equivalent to the equation of the DCA method.
As mentioned above, baseline price P may be an historical average, but it may be another value such as the unit price of the security at the first purchase. The price of the security at the first purchase may be more conveniently obtained than an historical average.
TABLE 2 shows examples using the SACIN method to purchase units of a security monthly over a twelve-month period with three different values for Kj. The results shown in
TABLE 2 may be compared to the results of the DCA example of TABLE 1. which uses the same period and current price information.
TABLE 2
Figure imgf000009_0002
Figure imgf000010_0001
TABLE 2 shows that the average per-unit cost beneficially decreases as gain constant Kj is increased. In addition, it is seen that the total purchase cost also increases as gain constant Kj is increased, and for K; greater than zero the total purchase cost may be different from target amount A multiplied by the number of purchase periods. Thus, for an investor to optimize the SACIN embodiment for his or her own investment plan, the investor must weigh the ability to absorb the variability of actual purchase cost against the benefit of a low per-unit cost.
In a selling scenario a presently preferred embodiment for periodically selling units of a security, denoted SACOUT (security average cost out), is to sell a number N of units such that:
Nb
N -- {5} κ0Pb ~ P
where P is the current per-unit price of the security, Pb is a baseline price of the security, Nb is the number of units that could be sold to yield a nominal dollar amount A when the current price P is equal to the baseline price P , and K0 is a gain constant greater than one. Since target dollar amount A and gain constant K0 are determined by an investor and Nb cannot be determined without A, unknown Nb can be written as a function of A and K0 by setting P=Pb and:
Figure imgf000011_0001
The result is that N = A(K0 - 1 ). Substituting A(K0 - 1 ) for b in equation { 5 } yields:
A(K0 - \)
N = {7} (K0Pb ) - P
wherein the only unknown at the time of purchase is number N of units to be purchased.
TABLE 3 shows examples using the SACOUT method to sell units of a security monthly over a twelve-month period with three different values for K0.
TABLE 3
Figure imgf000011_0002
TABLE 3 shows that the average per-unit yield beneficially increases as gain constant K0 is decreased. In addition, it is seen that the total number of units sold and the total yield increase as gain constant K0 is decreased. Thus, for an investor to optimize the SACOUT for his or her own investment plan, the investor must weigh the fact that the larger the gain constant K0 is, the more the rate of depletion of the units owned may vary against the benefit of a high per-unit yield.
Referring now to the drawings, there is shown in FIG. 1 a graph 100 illustrating the SACIN and SACOUT embodiments, which are based upon, respectively, Equations {4} and {7} . Graph 100 visually illustrates a number of important relationships among gain constants Kj and K0, the actual transaction price P and number N of units traded during a particular transaction period. In the buying scenario, the product Kj(Pb) should always be lower than the lowest actual price over a period of time. For example, Kj(Pb) should be less than the lowest price at Pmjn- ιn addition, the closer actual transaction price P is to Kj(Pb) or K0(Pb), the larger the number of units traded will be. This is so because the closer actual transaction price P is to Kj(Pb). the closer the denominator of Equation {4} is to zero. To avoid the problem of buying too many units, which will result in an inordinately high total purchase cost, Kj should be a value less than the minimum price Pmjn divided by baseline price Pb- Similarly, in a selling scenario, to avoid an inordinate number of units being sold, K0 should be a value greater than maximum price Pmax divided by baseline price P -
FIG. 2 shows a graph 200 of the SACIN and SACOUT embodiments for a security have an upward long-term trend. In this situation, it may be desirable to periodically adjust Kj, K0 and/or Pb to avoid purchasing or selling an inordinate number of units of the security. For example during Period 1 , it may be desirable to use K,^ and K0, vw\t Pb^ , and during Period 2. it may be desirable to use K^ and K0 ~) with Pf,-, . The lengths of Periods 1 and 2 and the magnitudes of
Figure imgf000012_0001
and K0 will depend on variables such as the slope of the long-term trend and the magnitudes of short-term fluctuations. Accordingly, and unlike DCA. the SACIN and SACOUT embodiments may be modified to optimize their performance to suit a particular investment goal and/or to suit particular market conditions.
In another embodiment, gain constants Kj and K0 and baseline price Pb need not be a fixed values but may vary with time. For example, as shown in graph 250 of FIG. 3, gain constants Kj( and Kot and baseline price Pb( may take the slope of the long term trend of the unit price of the security.
Although the invention has been described in connection with particular equations for the SACIN and SACOUT methods, it is to be appreciated that the invention is not limited to only these equations. Rather, the invention encompasses other equations that define a number of units of a security that should be purchased or sold during a series of periodic transaction periods so as to optimize the per-unit purchase or sales price, as the case may be. A guideline in selecting other formulas is that such formulas identify the number of units of a security that should be purchased or sold with respect to a non-zero baseline price and/or using a gain control by, respectively, automatically (a) increasing the number of units purchased when the current per-unit price is lower than the baseline price and decreasing the number of units purchased when the current per-unit price is higher than the baseline price, for SACIN, and (b) decreasing the number of units sold when the current per-unit price is lower than the baseline price and increasing the number of units sold when the current per-unit price is higher than the baseline price, for SACOUT.
For example, in Equation {4} of the SACIN method as described above, Kj must be less than one so that KjPb is less than Pb (see FIG. 1). However, an equation different from Equation 4 may be selected such that Kj is greater than one and Kj Pb is greater than Pb- An example of such an equation is:
_ A(KiPb - P)
N {8} Pb2iKi - \) Similarly, for SACOUT an equation other than Equation {7} may be selected such that a K0 less than one and a K0Pb less than Pb may be used. For example, such an equation may be:
N . «p - K°'» (9)
Pb20 - κo)
In addition, equations other than Equations {4} and {7}-{9} may be used to determine the number of units to be transacted. Such equations include power functions, conical functions and trigonometric functions, among others. For example, a suitable power function for SACIN may be:
N = - { 10}
Pb P
where n is greater than zero and Kj is zero, since there is no Kj term in the equation. It is noted that when n = 0, Equation { 10} reduces to N = A/Pb, which results in buying the same number of units each period and when n = 1, Equation { 10} reduces to N = A/P, which is equivalent to DCA. One skilled in the art will recognize that Equations {4} and {7}-{ 10}are illustrative and are not intended to limit the scope of the invention defined by the claims appended hereto.
FIG. 4 shows a computer system 300 that includes a network 301 and a service computer 302 connected to the network for performing the SACIN and/SACOUT optimization methods of the present invention over the network, which allows one or more users to use these methods. Network 301 may be the Internet, an Intranet, a local or wide area network (LAN or WAN) or a dial-in network. Network 301 ma\ be wireless, linked by cable or optical fiber, or a combination thereof. Service computer 302 has a central processing unit (CPU) 304, typically one or more microprocessors, embedded controllers, ASICs or other logic devices, memory 306, typically fast access, low capacity memory such as RAM, and slower access, high capacity memory, such as optical and magnetic disk drives and an input/output (I/O) section 308, typically including various communication adapters for communicating with user computers 310 over network 301 and various device drivers for communicating with I/O devices such as a display, a keyboard, a printer and a mouse, among others. Service computer 302 will typically be a conventional server computer of the type used in client- server networks. Although described as a single computer, service computer 302 may comprise several linked computers, in a single or multiple locations.
Service computer 302 also includes an application program 312 stored in memory 306. As described in detail below and as shown in FIG. 5, application program 312 contains computing steps for implementing the above-described SACIN and SACOUT optimization methods of the present invention. These steps are executed as logical operations by CPU 304 in combination with memory 306 and I/O section 308.
User computer 310 may be one of a wide variety of computing systems such as personal computers, set-top boxes, mobile telephones, personal digital assistants, so-called ''network appliances," interactive TV and other electronic devices and venues. Each user computer 310 includes a display (not shown) or other output device for displaying text and/or graphics. While only four user computers 310 are illustrated in FIG. 4, it is to be appreciated that network 301 may contain millions, and some day even billions, of user computers, which could be located in offices, homes, cars, kiosks or be completely mobile.
Each user computer 310 includes a communications program (not shown) for communicating with service computer 302 over network 301. The communication program allows the service computer to prompt a user for particular input, receive such input, and display to the user via user computer 310 information, e.g., the tabular information presented in FIGS. 6A and 6B and described below in more detail. For example, if network 301 is the Internet, the communications program may be a conventional browser, such as that available from Microsoft Corporation, Redmond, Washington, under the trademark EXPLORER, and from Netscape Communications Corporation, Mountain View, California, under the trademark NAVIGATOR. Such communications programs are known in the art and, therefore, are not described in detail herein.
In addition to being implemented over a network, the SACIN and SACOUT optimization methods of the present invention may be implemented on a stand-alone computing device (not shown) such as a non-networked personal computers, hand-held calculator, personal digital assistant and the like. In this case, the stand-alone computing device would generally have the same features as service computer 302. That is, the stand-alone computing device would include a CPU 304, memory 306, application program 312 and I/O section 308. The stand-alone computing device would also include a display (not shown) for presenting text and/or graphics to a user and an input device that allows the user to input the data requested by application program 312.
FIGS. 5A-5B illustrate a flow diagram, denoted generally by the numeral 400, for one embodiment of application program 312. In particular, flow diagram 400 incorporates Equations {4} and {7} for the SACIN and SACOUT optimization methods, respectively. However, as mentioned above, the SACIN and SACOUT methods are not limited to these particular equations. In addition, the SACIN and SACOUT optimization methods may be implemented independent of one another in separate programs.
At step 402, application program 312 starts and prompts a user to select either the SACIN or SACOUT method, depending on whether the user is interested in purchasing or selling units of a security. If the user selects the SACIN method, at step 404 application program 312 prompts the user to select one of three functions, New Security, Recommend Periodic Purchase or Update Last Period with Actual Purchase Data. Although three functions are described, more or fewer functions may be provided. For example, a fourth function, Change Previous Period, may be provided for correcting errors or working through a number of purchasing scenarios. The Change Previous Period function could also include an option for allowing the user to save or discard any changes made during the session. If the user selects the New Security function, at step 406 application program 312 displays to the user a brief explanation of the SACIN method. For example, application program 312 may display the following message: '"When used for periodic purchases, SACIN automatically produces a per-unit cost lower that the average unit cost per period and dollar cost averaging (DCA) by investing more dollars when the price is low and fewer dollars when the price is high."
Next, at step 408 application program 312 prompts the user to change the default name of the worksheet from "New Investment" to any name the user desires. Preferably, the user should select the name of the security, such as "XYZ Company Common Stock," "ABC Growth Fund" or the like. If the user does not change the default name, application program 312 will use the default name. At step 410, application program 312 prompts the user to input the desired values for A, Pb and Kj of Equation {4} . If the user requests application program 312 for help, at step 412 application program 312 may display to the user explanations of
A, Pb and Kj. For example, for A, application program 312 may display the following: "A is the nominal dollar amount you wish to invest each period. You should monitor SACIN's total amount invested and adjust A, Pb and/or Kj to stay on track toward your long-term goals." For Pb, application program 312 may display the following: "Pb is not very critical, it is simplest to use the current unit price. You can also use a recent historical price to estimate an average price during the SACIN period." For Kj, application program 312 may display the following: "Kj is a gain control. The larger Kj is, the more the periodic investment will change with price and the lower your per-unit cost will be. Kj = 0 provides a constant dollar investment as in dollar cost averaging (DCA). Above Kj = 0.5, a falling current price will result in larger investments." Application program 312 may be configured to display the explanations all at once or one at a time, depending on the user's request.
After the user inputs values for A, P and Kj, at step 414 application program 312 displays to the user a worksheet 500. see FIG. 6A. having a first period numbered and dated with the current date. Alternatively, application program 312 may prompt the user to input a date to be associated with the first period. Next, at step 416 application program 312 obtains the current price P of a unit of the security. Application program 312 may obtain the price by querying the user or linking to a database, e.g., a database maintained by a brokerage house or an online provider of such information. After application program 312 obtains the current price P, at step 418 application program 312 displays a caution based upon current price P relative to baseline price Pb- For example, if current price P is less than baseline price Pb, application program 312 may display the following: "If P lowers and approaches (Kj) x (Pa), large purchases will result." However, if current price P is greater than baseline price Pb, application program 312 may display the following: "Large increases in P reduce the gain."
At step 420, application program 312 queries the user as to whether or not he or she is satisfied with the selected values of A, P and Kj. If the user is not satisfied, at step 422 application program 312 prompts the user to change any or all of the previously selected values of A, Pb and Kj. The user may seek help from application program 312, at which point application program 312 displays the explanations of the variable at step 412, which is described above. If the user is satisfied with the selected values of A, P and Kj, at step 424 application program 312 calculates the remaining information presented on worksheet 500, i.e., units purchased, amount invested, total units purchased, total amount invested, average unit price per period and average purchase price per-unit, to be displayed in worksheet 500. At step 426, worksheet 500 is updated and the information for the entire period is displayed. At step 428, application program 312 queries the user as to whether or not his or her investing objectives are being met. If the user answers in the negative, application program 312 returns to step 422 and prompts the user to change one or more of A, P and Kj, after which application program 312 executes the subsequent steps until step 428 is again reached. If the user answers in the affirmative, at step 430 worksheet 500 is saved and application program 312 is ended. Alternatively, application program 312 may return to step 402 to allow the user to change from SACIN to SACOUT, add a new period, enter a new security or the like. If the user selects Recommend Periodic Purchase at step 404, application program 312 proceeds to step 432 where the program displays worksheet 500 with a new period consecutively numbered and dated with the current date. The new period is preferably displayed with the column headings 502 as many previous periods as will fit on the output device, typically a screen of a computer monitor. Application program 312 also copies from the immediately preceding period the values for A, P and Kj and displays them in worksheet 500. After step 432, application program 312 proceeds to steps 416-430 as described above with respect to the New Security Function.
If the user selects Update Last Period with Actual Purchase Data at step 404, application program 312 proceeds to step 434 where the program obtains the current price P in a manner similar to step 416. At step 436, application program 312 then prompts the user to input the actual number of units purchased and/or the actual amount invested. If the user provides only one of the requested values, at step 438 application program 312 calculates the other and then proceeds to step 440. If the user provides both of the requested values, application program 312 proceeds immediately from step 436 to 440.
At step 440, application program 312 calculates the total units purchased, total amount invested, average unit price per period and average purchase price per-unit. Then, at step 442 application program 312 updates the current period and displays the current period in worksheet 500. After program displays updated worksheet 500, application program 312 proceeds to step 430 in which worksheet 500 is saved and the program is ended. Alternatively, application program 312 may return to step 402 to allow the user to change from SACIN to SACOUT, add a new period, enter a new security or the like.
In an alternative embodiment of the SACIN method of application program 312. if the user answers the query of step 428 in the affirmative, application program 312 may provide an option that would link the SACIN aspect of application program 312 to a trading program that would allow the user to purchase the recommended number of units. The trading program could then transmit the actual purchase data, i.e., the current price P, number of units purchased and/or the amount invested, to the Update Last Period with Actual Purchase Data function at steps 434 and 436 to automatically update the latest investment period.
If the user selects SACOUT at step 402, application program 312 proceeds to step 450 and prompts the user to select one of three functions, New Security, Recommend Periodic Sale or Update Last Period with Actual Sale Data. Although three functions are described, more or fewer function may be provided. For example, a fourth function, Change Previous Period, may be provided for correcting errors or working through a number of selling scenarios. The Change Previous Period function could also include an option for allowing the user to save or discard any changes made during the session.
If the user selects the New Security function, at step 452 application program 312 displays to the user a brief explanation of the SACOUT method. For example, application program 312 may display the following message: "When used for periodic sales, SACOUT automatically produces a per-unit cost of units sold higher than the average unit cost per period by selling more units when the price is high and fewer when the price is low."
Next, at step 454 application program 312 prompts the user to change the default name of the worksheet from "New Sale" to any name the user desires. Preferably, the user should select the name of the security, such as "XYZ Company Common Stock," "ABC Growth Fund" or the like. If the user does not change the default name, application program 312 will use the default name. At step 456, application program 312 prompts the user to input the desired values for A, Pb and K0 of Equation {7}. If the user requests application program 312 for help, at step 458 the program may display to the user explanations of A, Pb and K0. For example, for A, application program 312 may display the following: "A is the nominal dollar amount you wish to sell each period. You should monitor SACOUT's total amount sold and total units sold and adjust A, Pb and/or K0 to stay on track toward your long-term goals." For Pb, application program 312 may display the following: "Pb is not very critical, its simplest to use the current unit price. You can also use a recent historical price to estimate an average price during the SACOUT period." For K0, application program 312 may display the following: "K0 is a gain control. The smaller K0 is, the more the periodic sale will change with price and the higher your per-unit sale price will be. A large number for K0 approaches selling a fixed number of units per period, which results in your average per-unit sale price equaling the average per-unit sale price per period. This is better than selling a fixed dollar amount per period, which is dollar cost averaging (DCA) for the buyer. When K0 is close to 1 , a rising price will result in larger sales." Application program 312 may be configured to display the explanations all at once or one at a time, depending on the user's request.
After the user inputs values for A, Pb and Kj. at step 460 application program 312 displays to the user a worksheet 10, see FIG. 6B, having a first period numbered and dated with the current date. Alternatively, application program 312 may prompt the user to input a date to be associated with the first period. Next, at step 462 application program 312 obtains the current price P of a unit of the security. Application program 312 may obtain the price by querying the user or linking to a database, e.g., a database maintained by a brokerage house or an online provider of such information. After application program 312 obtains the current price P, at step 464 the program displays a caution based upon current price P relative to baseline price P - For example, if current price P is greater than baseline price Pb, application program 312 may display the following: "If P increases and approaches (K0) x (Pa). large sales will result." However, if current price P is less than baseline price Pb, application program 312 may display the following: "Large decreases in P reduce the gain."
At step 466, application program 312 queries the user as to whether or not he or she is satisfied with the selected values of A, Pb and K0. If the user is not satisfied, at step 468 application program 312 prompts the user to change any or all of the previously selected values of A, Pb and K0. The user may seek help from application program 312, at which point the program displays the explanations of the variable at step 458, which is described above. If the user is satisfied with the selected values of A, P and K0, at step 470 application program 312 calculates the remaining information presented on worksheet 510, i.e., units sold, dollar amount sold, total units sold, total dollar amount sold, average unit sale price per period and average sale price per-unit, to be displayed in worksheet 500. At step 472, worksheet 510 is updated and the information for the entire period is displayed. At step 474 application program 312 queries the user as to whether or not his or her investing objectives are being met. If the user answers in the negative, application program 312 returns to step 468 and prompts the user to change one or more of A, P and K0. after which application program 312 executed the subsequent steps until step 474 is again reached. If the user answers in the affirmative, at step 476 worksheet 510 is saved and application program 312 is ended. Alternatively, application program 312 may return to step 402 to allow the user to change from SACOUT to SACIN, add a new period, enter a new security or the like.
If the user selects Recommend Periodic Sale at step 450, application program 312 proceeds to step 478 where the program displays worksheet 510 with a new period consecutively numbered and dated with the current date. The new period is preferably displayed with the column headings 512 as many previous periods as will fit on the output device, typically a screen of a computer monitor. Application program 312 also copies from the immediately preceding period the values for A, Pb and K0 and displays them in worksheet 510. After step 478, application program 312 proceeds to steps 462-476 as described above with respect to the New Security Function.
If the user selects Update Last Period with Actual Sale Data at step 450, application program 312 proceeds to step 480 where the program obtains the current price P in a manner similar to step 462. At step 482, application program 312 then prompts the user to input the actual number of units sold and/or the actual dollar amount sold. If the user provides only one of the requested values, at step 484 application program 312 calculates the other and then proceeds to step 486. If the user provides both of the requested values, application program 312 proceeds immediately from step 482 to 486.
At step 486, application program 312 calculates the total units sold, total dollar amount sold, average unit sale price per period and average sale price per-unit. Then, at step 488 application program 312 updates the current period and displays the current period in worksheet 510. After program displays updated worksheet 510, application program 312 proceeds to step 476 in which worksheet 510 is saved and the program is ended. Alternatively, application program 312 may return to step 402 to allow the user to change from SACOUT to SACIN, add a new period, enter a new security or the like.
In an alternative embodiment of the SACOUT method of application program 312, if the user answers the query of step 474 in the affirmative, application program 312 may provide an option that would link the SACOUT aspect of application program 312 to a trading program that would allow the user to sell the recommended number of units. The trading program could then transmit the actual sale data, i.e., the current price P, number of units sold and/or the dollar amount sold, to the Update Last Period with Actual Sales Data function at steps 480 and 482 to automatically update the latest investment period.
While the present invention has been described in connection with preferred embodiments of its various aspects, it will be understood that it is not so limited. On the contrary, it is intended to cover all alternatives, modifications and equivalents as may be included within the spirit and scope of the invention as defined in the appended claims.

Claims

What is claimed is:
L A method of calculating a number N of units of a security to be traded at a unit price P in each of a series of consecutive periods based upon a desired monetary amount A for each of the consecutive periods, the method comprising the steps of: a) establishing a baseline unit price P not equal to zero; b) selecting a mathematical equation having the number N of units as an unknown term, said mathematical equation comprising a function of the desired monetary amount A, the unit price P and said baseline unit price P ; and c) solving said mathematical equation for N.
2. A method according to claim 1 , wherein said baseline unit price Pb is an historical average.
3. A method according to claim 1, wherein said baseline unit price P is equal to the unit price P at the first of the series of consecutive periods.
4. A method according to claim 1 , wherein said baseline unit price P varies with time.
5. A method according to claim 1 , wherein N is the number of units to be purchased and said equation automatically increases N as the unit price P falls and decreases N as the unit price P rises.
6. A method according to claim 5, wherein said mathematical equation further includes a gain constant K that adjusts the gain of said mathematical equation to control the magnitude of the change in units N resulting from the difference between the baseline unit price Pb and the unit price P.
7. A method according to claim 6, wherein said mathematical equation is: A(\ - K)
N --
P - (KPh )
8. A method according to claim 6, wherein each of said baseline unit price P and said gain constant K varies with time.
9. A method according to claim 1 , wherein N is the number of units to be sold and said mathematical equation automatically increases N as the unit price P rises and decreases N as the unit price P falls.
10. A method according to claim 9, wherein said mathematical equation further includes a gain constant K that adjusts the gain of said mathematical equation to control the magnitude of the change in units N resulting from the difference between the baseline unit price P and the unit price P.
11. A method according to claim 10, wherein said mathematical equation is: A(K ) N = -
(KPb ) - P
12. A method according to claim 10, wherein each of said baseline unit price Pb and said gain constant K varies with time.
13. A method according to claim 1, further comprising the step of trading said N units, as determined in said step c, of a security.
14. A computer readable storage medium containing a computer program implementing a method of calculating a number N of units of a security to be traded at a unit price P in each of a series of consecutive periods based upon a desired monetary amount A for each of the consecutive periods, the security having a baseline unit price Pb, the method comprising the steps of: a) obtaining a non-zero value for the baseline unit price Pb; b) solving a mathematical equation having the number N of units as an unknown term, said mathematical equation comprising a function of the desired monetary amount A, the unit price P and the baseline unit price Pb; and c) outputting the number N of units to at least one of a user display, a storage device and another computer.
15. A computer readable storage medium according to claim 14, wherein step c) is performed by receiving the baseline unit price P from a user.
16. A computer readable storage medium according to claim 14, wherein step c) is performed by receiving the baseline unit price P from a computer database.
17. A computer readable storage medium according to claim 14, wherein said baseline unit price P is an historical average.
18. A computer readable storage medium according to claim 14, wherein said baseline unit price P is equal to the unit price P at the first of the series of consecutive periods.
19. A computer readable storage medium according to claim 14, wherein said baseline unit price P varies with time.
20. A computer readable storage medium according to claim 14, wherein N is the number of units to be purchased and said equation automatically increases N as the unit price P falls and decreases N as the unit price P rises.
21. A computer readable storage medium according to claim 20, wherein said mathematical equation further includes a gain constant K that adjusts the gain of said mathematical equation to control the magnitude of the change in units N resulting from the difference between the baseline unit price P and the unit price P.
22. A computer readable storage medium according to claim 21 , wherein said mathematical equation is: A(\ - K)
N = -
P - (KPh )
23. A computer readable storage medium according to claim 21 , wherein each of said baseline unit price P and said gain constant K varies with time.
24. A computer readable storage medium according to claim 14, wherein N is the number of units to be sold and said mathematical equation automatically increases N as the unit price P rises and decreases N as the unit price P falls.
25. A computer readable storage medium according to claim 24, wherein said mathematical equation further includes a gain constant K that adjusts the gain of said mathematical equation to control the magnitude of the change in units N resulting from the difference between the baseline unit price P and the unit price P.
26. A computer readable storage medium according to claim 25, wherein said mathematical equation is: * = . * - »
(κr>) - P
27. A computer readable storage medium according to claim 24, wherein each of said baseline unit price Pb and said gain constant K varies with time.
28. A system for optimizing a number N of units of a security to be traded in each of a series of periods at a unit price P based upon a desired monetary amount A, the system comprising: a) a central processing unit; b) an application program for controlling said central processing unit, said application program containing a mathematical equation comprising a function of the desired monetary amount A, the unit price P and a baseline unit price P not equal to zero; and c) a memory connected to said central processing unit and storing said application program.
29. A system according to claim 28, further comprising an I/O section connected to said central processing unit, said I/O section connected to at least one output device.
30. A system according to claim 29, wherein said at least one output device is a display.
31. A system according to claim 28, wherein said system further comprises a service computer attachable to a network, said service computer containing said central processing unit, said application program and said memory.
32. A system according to claim 28, wherein said baseline unit price P is an historical average.
33. A system according to claim 28, wherein the series of periods has a first period and said baseline unit price P is equal to the unit price P at said first period.
34. A system according to claim 28, wherein said baseline unit price P varies with time.
35. A system according to claim 28, wherein N is the number of units to be purchased and said equation automatically increases N as the unit price P falls and decreases N as the unit price P rises.
36. A system according to claim 35, wherein said mathematical equation further includes a gain constant K that adjusts the gain of said mathematical equation to control the magnitude of the change in units N resulting from the difference between the baseline unit price P and the unit price P.
37. A system according to claim 36, wherein said mathematical equation is: A(\ - K)
N --
P - (KPb )
38. A system according to claim 36, wherein each of said baseline unit price P and said gain constant K varies with time.
39. A system according to claim 28, wherein N is the number of units to be sold and said mathematical equation automatically increases N as the unit price P rises and decreases N as the unit price P falls.
40. A system according to claim 39, wherein said mathematical equation further includes a gain constant K that adjusts the gain of said mathematical equation to control the magnitude of the change in units resulting from the difference between the baseline unit price P and the unit price P.
41. A system according to claim 40, wherein said mathematical equation is: A(K - \) N = -
p b) - p
42. A system according to claim 40, wherein each of said baseline unit price Pb and said gain constant K varies with time.
43. A system according to claim 28, wherein said central processing unit is operative with said application program to determine a number N of units of securities to be traded using said mathematical equation.
44. A method of determining a number N of units of a security to be traded in each of a series of periods, the method comprising the steps of: a) establishing a baseline price Pb, a current unit price P and a desired monetary amount A for each period; and b) determining the number N as a function of said baseline price P , said current unit price P, said desired monetary amount A and a gain constant K, wherein: i) when selling the security, said function automatically increases N when P is greater than P and automatically decreases N when P is less than P ; and ii) when purchasing the security, said function automatically decreases N when P is greater than P and automatically increases N when P is less than P
45. A computer readable storage medium containing a computer program for implementing a method of determining a number N of units of a security to be traded in each of a series of periods, the method comprising the steps of: a) establishing a baseline price P , a current unit price P and a desired monetary amount A for each period; and b) determining the number N as a function of said baseline price P , said current unit price P, said desired monetary amount A and a gain constant K, wherein: i) when selling the security, said function automatically increases N when P is greater than P and automatically decreases N when P is less than P ; and ii) when purchasing the security, said function automatically decreases N when P is greater than P and automatically increases N when P is less than Pb.
PCT/US2000/025419 1999-09-17 2000-09-15 System and method for optimizing quantity of security purchased or sold on a periodic basis WO2001020529A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CA002385114A CA2385114A1 (en) 1999-09-17 2000-09-15 System and method for optimizing quantity of security purchased or sold on a periodic basis
AU74939/00A AU7493900A (en) 1999-09-17 2000-09-15 System and method for optimizing quantity of security purchased or sold on a periodic basis

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15463499P 1999-09-17 1999-09-17
US60/154,634 1999-09-17

Publications (1)

Publication Number Publication Date
WO2001020529A1 true WO2001020529A1 (en) 2001-03-22

Family

ID=22552117

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2000/025419 WO2001020529A1 (en) 1999-09-17 2000-09-15 System and method for optimizing quantity of security purchased or sold on a periodic basis

Country Status (3)

Country Link
AU (1) AU7493900A (en)
CA (1) CA2385114A1 (en)
WO (1) WO2001020529A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4674044A (en) * 1985-01-30 1987-06-16 Merrill Lynch, Pierce, Fenner & Smith, Inc. Automated securities trading system
US5799287A (en) * 1994-05-24 1998-08-25 Dembo; Ron S. Method and apparatus for optimal portfolio replication
US5812987A (en) * 1993-08-18 1998-09-22 Barclays Global Investors, National Association Investment fund management method and system with dynamic risk adjusted allocation of assets
US5819238A (en) * 1996-12-13 1998-10-06 Enhanced Investment Technologies, Inc. Apparatus and accompanying methods for automatically modifying a financial portfolio through dynamic re-weighting based on a non-constant function of current capitalization weights
US5884286A (en) * 1994-07-29 1999-03-16 Daughtery, Iii; Vergil L. Apparatus and process for executing an expirationless option transaction

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4674044A (en) * 1985-01-30 1987-06-16 Merrill Lynch, Pierce, Fenner & Smith, Inc. Automated securities trading system
US5812987A (en) * 1993-08-18 1998-09-22 Barclays Global Investors, National Association Investment fund management method and system with dynamic risk adjusted allocation of assets
US5799287A (en) * 1994-05-24 1998-08-25 Dembo; Ron S. Method and apparatus for optimal portfolio replication
US5884286A (en) * 1994-07-29 1999-03-16 Daughtery, Iii; Vergil L. Apparatus and process for executing an expirationless option transaction
US5819238A (en) * 1996-12-13 1998-10-06 Enhanced Investment Technologies, Inc. Apparatus and accompanying methods for automatically modifying a financial portfolio through dynamic re-weighting based on a non-constant function of current capitalization weights

Also Published As

Publication number Publication date
CA2385114A1 (en) 2001-03-22
AU7493900A (en) 2001-04-17

Similar Documents

Publication Publication Date Title
US10217165B2 (en) Derivatives trading methods that use a variable order price
US7647261B2 (en) Method and apparatus for retirement income planning
US6564191B1 (en) Computer-implemented method for performance measurement consistent with an investment strategy
US7308428B1 (en) System and method for displaying market information
JP5538582B2 (en) Method and system for pricing options
US8606685B2 (en) Computer-implemented securities trading system
US20020133447A1 (en) Computerized method and system for formulating stock portfolios
US20030093353A1 (en) System and method for creating and maintaining investment portfolios
US20140143117A1 (en) Systems and Methods for Matching One or More Incoming Order to a Standing Order as a Function of an Inner Market Parameter
JP2001525577A (en) Financial advisory system
EP1609087A2 (en) Derivatives trading methods that use a variable order price
CN102542506A (en) Method and system of pricing financial instruments
US20140258175A1 (en) Generating Personalized Investment Recommendations
US20090248564A1 (en) Settlement pricing for centrally cleared swaps
US20140304138A1 (en) System and Method for Matching One or More Incoming Order to a Standing Order Based on Multi-Level Allocation
US20190130485A1 (en) Methods and systems for creating an interest rate swap volatility index and trading derivative products based thereon
US7003483B1 (en) System and method for optimizing the number of units of a security purchased or sold on a periodic basis
US20240104658A1 (en) Systems and methods for maintaining the viability of a market order type in fluctuating markets
EP4229584A1 (en) Optimization and prioritization of account directed distributions in an asset management system
CN112862618A (en) Bin adjustment prompting method and device, electronic equipment and storage medium
US8463675B1 (en) System and method for operating an exchange traded fund that makes distributions from sources including capital in the fund to provide a stable or minimum distribution
US10991044B2 (en) Stock price forecast assist system and method
WO2001020529A1 (en) System and method for optimizing quantity of security purchased or sold on a periodic basis
Rehnman et al. Application of mean absolute deviation optimization in portfolio management
JP2010039894A (en) Indication information presentation processing system and method thereof, and program

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 2385114

Country of ref document: CA

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP