This invention relates to systems for analysing financial data and, more particularly, to a system and method for outputting hypothetical systemic investment data from a plurality of financial data processing functions.
Numerous systems exist with which to attempt to forecast investment variables. Research and development is particularly extensive in this field, which aims to determine an optimum process for constructing and managing investment portfolios, because investing is a complicated process, the dynamic of which is generated by the interaction of institutions, companies and people who produce, distribute and apply financial knowledge. In other words, it is a systemic process. One element by itself—such as currency price—will not provide judicious investment data. On the contrary, the investment process requires a large variety of other supporting elements such as price, interest rate, implied option volatility, and financial futures data etc. in order to accurately forecast investment data, including for instance price movements, market risk, market correlation and investment portfolio allocation.
In the particular context of managing currency hedge funds, the investments of which are independent from more traditional investments such as stocks, bonds and property markets for which numerous portfolio construction processes are know, a major problem is the volatility of the investment markets in which currency purchases and sales, i.e. trades, are placed, best expressed as a fluctuation of currency prices and interest rate yields over a variety of time frames. Such a volatility is usually more severe in currency markets than in said other traditional markets, making the portfolio construction process more difficult in terms of determining an optimal allocation of trades for any given investment portfolio, and also making the timing of trades more significant.
Currency investment portfolios are known to range between $5,000 and $30 m or more in value, and a second problem is that owners of smaller portfolios may be disadvantaged with a lower trading priority because purchasing smaller amounts of currencies, which is compounded if the mix of portfolios of their currency hedge fund management company comprises a disproportionately high number of large portfolios.
Moreover, another problem stems from the inherent difficulty in modeling trades and market conditions, e.g. generating hypothetical investment data, for formulating investment strategies in the highly-volatile and time-sensitive context described above.
It is therefore desirable to improve financial data processing for outputting hypothetical investment data, wherein said investment data may be output as a sequence of test trades or may define said sequence of test trades independently of the trading volume defined by said investment data. It is also preferable that said hypothetical investment data be systemic, i.e. that each such test trade may be output as an optimum construct of a portfolio in respect of a plurality of factors including market forecast, market risk and investor risk.
According to an aspect of the present invention, a system is provided for outputting hypothetical investment defining data, comprising a plurality of networked terminals, each of which is configured with at least processing means, memory means, networking means and visual display means, said memory means storing at least a local instantiation of a network-distributable, updateable data structure and instructions which configure said processing means of at least one of said terminals to obtain financial data from at least another one of said networked terminals by means of said networking means; update said local data structure instantiation with said obtained financial data; process said data in said data structure instantiation with a plurality of data processing functions, wherein said data processing functions collectively define a systemic financial data processing application; output said systemic data to said visual display means as hypothetical investment defining data and either remove said local instantiation from said memory means or request further remote financial data.
According to another aspect of the present invention, A method for outputting hypothetical investment defining data is provided, said method comprising the steps of obtaining financial data from a networked terminal; locally updating a data structure instantiation with said obtained financial data; locally processing said data in said data structure instantiation with a plurality of data processing functions, wherein said data processing functions collectively define a systemic financial data processing application; outputting said systemic data as hypothetical investment defining data and either removing deleting said systemic data or requesting further financial data.
According to yet another aspect of the present invention, a computer programmed to output hypothetical investment defining data is provided, which comprises processing means, memory means, networking means and visual display means, said memory means storing at least a local instantiation of a remote data structure and instructions which configure said processing means to obtain financial data from at least another networked terminal by means of said networking means; update said local data structure instantiation with said obtained financial data; process said data in said data structure instantiation with a plurality of data processing functions, wherein said plurality of data processing functions collectively define a systemic financial data processing application; output said systemic data to said visual display means as hypothetical investment defining data and either remove said local instantiation from said memory means or request further remote financial data.
The financial data preferably includes at least one currency price and at least one interest rate yield and the data structure is preferably a local instantiation of a remote database storing data therein as historical series.
The data processing functions preferably include a market forecasting function, a market risk forecasting function, a portfolio risk forecasting function and a broadcasting function. The market forecasting function advantageously outputs an optimal combination of expected currency price, expected interest rate yield and time fame. Alternatively, the market risk forecasting outputs volatility data.
The portfolio risk forecasting function preferably outputs hypothetical investment-defining data when the correlation between pairs of currencies is negative.
The features and advantages of the invention will be presented in conjunction with the following illustrations listed below:
A preferred embodiment of the present invention is shown in an environment in
In the example, terminals 101 and 102 are located at a hedge fund management company such as ACM, based in Dublin, Republic of Ireland. Terminal 103 is remotely located at a real-time financial data service provider, such as the REUTERS Trading Systems Division of REUTERS, based in New York, New Jersey, USA. Terminal 104 is remotely located at a financial trading company, for instance another branch of ACM located elsewhere. Each of terminals 101, 103 and 104 are preferably network-connected to a Wide Area Network (WAN) 105, such as the Internet, via their respective Internet Service Providers (ISPs) 106, 107 and 108. Terminals 101 and 102 are also network-connected to a Local Area Network (LAN) 109 located at said hedge fund management company. In the preferred embodiment of the present invention, terminal 101 receives real-time financial data from terminal 103 over a first WAN connection, which is preferably secured with using standard 128-bit SSL encryption, which both encrypts and decrypts said financial data exchanged between said terminals over said network 105. In the preferred embodiment of the present invention still, terminal 101 broadcasts investment trading data to terminal 104 over a second WAN connection, which is also preferably secured with using said standard 128-bit SSL encryption as described above.
It will be readily apparent to those skilled in the art that the above environment is provided by way of example only, and that the present invention may be embodied in any network comprising devices connected thereto, exchanging data processed as further described hereinbelow
An example of the terminal 101 shown in
Within data processing unit 201, a central processing unit (CPU) 208, such as an Intel Pentium 4 manufactured by the Intel Corporation, provides task co-ordination and data processing functionality. Instructions and data for the CPU 208 are stored in main memory 209 and a hard disk storage unit 210 facilitates non-volatile storage of data and data processing instructions. A modem 211 provides a wired connection 205 to the ISP 106 or said wired connection 205 to the Internet may be performed through Local Area Network (LAN) via a network card 212, particularly if said connection is of the type known as broadband. In a preferred embodiment of the present invention, said network card 212 is further configured with wireless data distributing means, for instance to establish a wireless network connection of the type known as Wi-Fi (IEEE 802.11 protocol) with other proximate devices having similar networking means, for instance terminal 102. A universal serial bus (USB) input/output interface 213 facilitates connection to the keyboard and pointing device 203, 204. All of the above devices are connected to a data input/output bus 214, to which said magnetic data-carrying medium reader/writer 206 and optical data-carrying medium reader/writer 207 are also connected. A video adapter 215 receives CPU instructions over said bus 214 for outputting processed data to VDU 202 and/or to further output data display means.
In the preferred embodiment, data processing unit 201 is of the type generally known as a compatible Personal Computer (‘PC’ ), but may equally be any device configured with data inputting, data processing, data outputting and networking means providing at least the functionality described above. Any such device may include, but is not limited to, PowerMac® or iMac® computers manufactured by the Apple® Corporation of Cupertino, Calif., USA; a Portable Digital Assistant (PDA) such as a Palm m505® manufactured by PalmOne® Inc. of Milpitas, Calif., USA; a Portable Digital Computer (PDC) such as an IPAQ® manufactured by the Hewlett-Packard® Company of Palo Alto, Calif., USA; or even a mobile phone such as a Nokia 9500 manufactured by the Nokia® Group in Finland, all of which are generally configured with processing means, output data display means, memory means, input means and wired or wireless network connectivity.
Processing steps are described in
Said hypothetical investment data is output at said step 306 to VDU 202 for consideration by the user of terminal 101. A question is asked at step 307, as to whether additional input financial data is required, for instance if hypothetical data output at step 306 does not satisfy conditions set by the user in terms of return on investment, risk position and/or the like, or if hypothetical data output at step 306 is insufficient to formulate an optimum investment strategy, or if local financial data previously downloaded according to step 304 and stored in memory 209 is out-of-date to re-formulate an optimum investment strategy. If the question of step 307 is answered positively, control returns to step 304, where financial data having been updated in real-time during the processing of steps 305 and 306 may therefore be downloaded, to ensure the processing of step 305 at terminal 101 uses up-to-date financial data parameters to output optimum hypothetical investment data, e.g. reduces the hypothetical character of the investment data output after downloading the updated financial data further to answering question 307 positively. The local copy of the data structure is not however downloaded again at said second iteration of step 304, in order to avoid discrepancies in the hypothetical investment data arising from data locally input by the user of terminal 101. In an alternative embodiment of the present invention, the question of step 307 is periodically answered positively regardless of the example conditions described above, to ensure up-to-date financial data is processed at terminal 101 to output optimum hypothetical investment data at any particular point in time whilst the systemic application 403 is processed by CPU 208.
Alternatively, the question of steps 307 may be answered negatively, and the functionality of the set of instructions loaded at the previous step 303 may not be required anymore, whereby said set of instructions is unloaded from memory 209 at step 308, along with the copy of the database downloaded from terminal 104. Terminal 101 may eventually be switched off at final step 309.
The contents of the memory 209 are illustrated in
In the preferred embodiment of the present invention, the set of financial data processing instructions loaded at step 303 is shown at 403 and includes a plurality of respective financial data processing functions, which collectively define a systemic financial data processing application 403. Said functions include a market forecasting module 404, a market risk assessing module 405, a portfolio risk assessing module 406 and a hypothetical investment data outputting module 407, each of which will be described in further details hereinbelow. Financial data processed by application 403 includes downloaded data stored in a copy 409 of the data structure stored at terminal 104. Financial data processed by application 403 also includes remote real-time financial data 410 downloaded from TRIARCH™ terminal 103 and local hypothetical investment data 411 output by application 403. Memory 209 also includes user input data 412, which may be alphanumerical data input by means of keystrokes on keyboard 203, user interrupts input by means of clicking user-operable switches of mouse 204 and graphical user interface updates input by means of said user translating mouse 204.
The step 305 of processing financial data 409, 410 with a plurality of modules 404 to 407 is further detailed in
At step 502, a question is asked as to whether the data within the database copy 409 should be updated, i.e. when input network data 410 only comprises update financial data. In the preferred embodiment of the present invention, the question of step 502 is only ever answered negatively once, that is when the question of step 502 is asked for the first time subsequently to loading and starting the processing of application 403 according to step 303. When the question of step 502 is answered positively, whether upon user request according to the preferred embodiment of the present invention or automatically in an alternative embodiment, application 403 replaces any financial data stored in memory 209 with corresponding, updated financial data 410 at step 503, to the exclusion of any other data stored in local database copy 209.
At step 504, application 403 invokes the functionality of market forecasting module 404 to process historical currency and yield data in database copy 409 in order to output market forecast data defining price movements in the currency and bond markets, under the form of specific values at a specific date. Said market forecast data output at step 504 forms first input data for the processing of systemic investment data. At step 505, application 403 invokes the functionality of market risk assessing module 405 to process historical currency and yield volatility data in database copy 409 in order to output market risk data for each individual market, under the form of a confidence interval. Said confidence interval defines the likelihood of a one standard deviation move (see graph 1 below).
Using the Normal Distribution, the first confidence interval is at 68%, the second at 95%. Treasury operations in banking, for example, use this curve to assess how susceptible to a loss they are with the current open positions. Said market risk data output at step 505 therefore forms second input data for the processing of systemic investment data. At step 506, application 403 invokes the functionality of portfolio risk assessing module 406 to process database copy 409 and first and second input data respectively output from steps 504 and 505 in order to output trading risk data for each individual test investment or test trade of a portfolio or a plurality thereof, and adjust said hypothetical portfolio investments accordingly. Said trading risk data output at step 506 forms third input data for the processing of systemic investment data. Application 403 next invokes the functionality of outputting module 407 at step 507 to process database copy 409 and first, second and third input data respectively output from steps 504, 505 and 506 in order to output optimal hypothetical investment data defining trades that may be effected in one or a plurality of markets at particular points in time or price conditions.
The step 504 of processing financial data 409 by Market Forecasting Module (MFM) 404 to output market forecast data is further detailed in
Within these persistent markets, an exponential weighed average of the historical price data is processed at step 605 to determine the expected momentum (C) of each individual currency market. The expected interest rate yield (Y) in each market is then forecasted at step 606 by extrapolating yields over multiple time frames. At the final step 607, the forecasting period is determined: using historical data 409, the MFM 404 determines the current market outlook and the cost associated with each time frame. The MFM 404 assesses relative strengths of each component to determine the optimal combination between momentum, yield and timeframes, whereby market forecast data (C; Y) is output at said step 607.
The step 505 of processing financial data 409 by Risk Assessing Module (RAM) 405 to output market risk data is further detailed in
The RAM 405 forecasts the risk within each individual market while the Optimising Module 406 further described hereinbelow manages portfolio risk. At step 701, RAM 405 selects the respective price data (P1, P2) in database copy 409 of a first currency pair (CPn). RAM 405 processes forecast price volatility data (VC) for said pair (CPn) at step 702. RAM 405 processes historical price volatility data (VH) over a time interval or frame (T) for said pair (CPn) at step 703.
A comparison of forecast and historical volatility data sets (VC) and (VH) is subsequently processed at step 704, whereby a question is asked at step 705, as to whether the forecast price volatility data (VC) exceeds historical price volatility data (VH) by an empirical safety margin, signifying that there may be artifacts in the most recent set of downloaded data 410, whether as a result of unexpected or transitional market trades, or as a result of data error. If the question of step 705 is answered positively, RAM 405 elects to wait for the next database update at step 706, e.g. wait to process the next set of downloaded data 410, which may erase some or most of the statistical ‘noise’ caused by said unexpected or transitional market trades, or data error. At said step 706, the currently-selected currency pair (CPn) is therefore marked for subsequent re-processing according to steps 701 to 705 and control proceeds to returns to step 701, at which a next currency pair (CPn+1) may be selected and risk-assessed, and so on and so forth until said first-selected currency pair (CPn) is eventually processed again. Alternatively, if the question of step 705 is answered negatively, RAM 405 outputs market risk data (VC) for the selected currency pair (CPn) at step 707 and a second question is asked at step 708, which is also asked after step 706, as to whether another currency pair exists in the database copy 409, which should be processed according to steps 701 to 708. If the question of step 708 is answered positively, control return to step 701, at which said next currency pair (CPn+1) may be selected and risk-assessed, and so on and so forth. Preferably, the processing loop defined by steps 701 to 708 of module 405 is continuous and only ever interrupted with answering the question of step 708 negatively if the user of terminal 101 wants to terminate the application 403 according to steps 308 and 309.
The step 506 of processing financial data 409 and data respectively output by modules 404 and 405 by portfolio risk assessing module (OM) 406 to output trading risk data is further detailed in
OM 406 then establishes the optimal set of hypothetical investment trades (ID) for the day using the inputs from the MFM and RAM modules 404 and 405 and adjusts the investments within the portfolio to achieve the desired asset allocation and position size. For each test investment (IN) of the currently-selected portfolio (PN), OM 406 identifies markets (M1, M2) respectively corresponding to the investment currency pair (CP) at step 806. To output hypothetical investment data (ID) for a portfolio which optimizes the expected return using the volatility forecast (VC) for each market requires examining the correlation between each of said markets (M1, M2). Negatively correlated markets will reduce the overall risk of the investments while positively correlated markets will increase the overall risk. A relationship between the joint risk and the two markets is therefore processed as a factor (JR) at step 807. As the joint risk is reduced if the correlation between the currency pairs is negative, it is preferable to construct a portfolio that takes advantage of any negatively correlated trades, whereby (JR) is subsequently compared against an empirical threshold, shown as a question at step 808.
If the question of step 808 is answered positively, signifying that (JR) is below said empirical threshold and that the correlation is negative, OM 406 preferably recalculates the risk of investment (IN) at minimum and the (VARN) of said investment (IN) is recalculated at step 809, whereby a question is asked at step 810, as to whether said recalculated (VARN) compares favorably with the (VARN) of said investment (IN) output at the previous step 803. If the question of step 810 is answered positively, OM 406 outputs data (ID) defining an investment or trade at step 811 and control proceeds to a final question at step 812, as to whether another portfolio (PN+1) of investments (IN) stored in database copy 409 should be processed according to steps 801 to 812. Incidentally, if either of the question of step 808 or the question of step 810 are respectively answered negatively, control proceeds directly to the question of step 812. Preferably, the processing loop defined by steps 801 to 812 of module 406 is continuous and only ever interrupted with answering question 812 positively if the user of terminal 101 wants to terminate the application 403 according to steps 308 and 309. Risk-assessed and forecast investment data (ID) is therefore output by portfolio risk assessing module 406 to maintain one or a plurality of portfolios of investments, wherein any investment positions that exceed the expected volatility forecast (VC) are continually adjusted to reflect the new market conditions.
The step 507 of outputting hypothetical investment data 411 by hypothetical investment data outputting module, which may also be referred to as broadcasting module (BM) 407, is further detailed in
Like the OM 406, the BM 407 systematically reconstructs each portfolio (P) of investments (I) stored in database copy 409 on a daily basis or more frequently if required. A first portfolio (PN) is therefore selected at step 901 and a first investment (IN) thereof selected at step 902. BM 407 processes the Net Asset Value (NAVN) of said selected investment (IN) at step 903 and a question is asked at step 904, as to whether portfolio (PN) includes another investment (IN+1). If the question of step 904 is answered positively, control returns to step 902 and said next investment (IN+1) is selected for processing of its respective Net Asset Value (NAVN+1), and so and so forth until such time as all investments (IN) of portfolio (PN) have been processed and BM 407 may calculate the total Net Asset Value (NAVN) of said portfolio (PN) at step 905.
The BM 407 calculates the net asset value (NAV) of each account prior to trading and based on that determines what size position to enter for each account. A question is therefore asked at step 906, as to whether database copy 409 includes another portfolio (PN+1). If the question of step 906 is answered positively, control returns to step 901 and said next portfolio (PN+1) is selected for processing of its respective Net Asset Value (NAVN+1) at step 905, and so on and so forth until such time as all portfolios (PN) of database copy 409 have been processed. A position size (S) is subsequently assigned to each account (PN) based upon its respective (NAVN) at step 907. The BM 407 then summarizes all of the investments (IN) of each portfolio (PN) into a table at step 908 according to (S), wherein each hypothetical investment-defining data (ID) output by OM 406 is assigned a corresponding position size reference (S). Said table therefore defines a mock-broadcasting sequence, according to which each (ID) entry of said table (which would be sent to the communication instructions 402 for broadcast to the remote terminal of a trading organization, such as Deutsche Bank based in London, in the case of actual investment-defining data) is time-logged, thus allowing one trade (ID) to be executed with its particular market at one price (S) and, further, allowing the user of terminal 101 to observe the results the hypothetical investment data output using actual financial data would have upon portfolio data within database copy 409, if said hypothetical investment data were to be used for actual portfolio investment data.
Number | Date | Country | Kind |
---|---|---|---|
S 2005/0067 | Feb 2005 | IE | national |