This disclosure relates to a system and method for processing currency data between an in-memory database and a display.
The number of companies doing local-only business is decreasing. Now, the internet has enabled even small- and medium-sized companies with low numbers of employees to do global business, buying and selling things in countries across the world. As a result, an increasing number of sale and purchase transactions are occurring in foreign currency other than the base currency of the company.
By conducting business in a number of different currencies, companies can become exposed to currency risk, also known as foreign exchange risk. One example of currency risk occurs when there is a change in the exchange rate of the two currencies involved in a transaction between the date the transaction is initiated and the date the transaction is settled. For instance, a customer in South Africa may use an online web-shop to purchase a DVD player from a supplier in Japan for the price of R1999 South African Rand (ZAR). On the date of purchase, this may be equivalent to ¥15526.46 Japanese Yen (JPY). However, during the time between the customer's purchase and the payment has settled at the supplier's bank, the ZAR may have weakened against the JPY such that R 1999 is now equivalent to only ¥15500, for an exchange rate loss of ¥26.54.
Companies may protect against currency risk through financial hedging. However, to correctly hedge, it is important to fully model and understand the scope of future currency risk, including, for example, increased or decreased sales in particular locales, changing exchanging rates over time, and how those changes will impact the financials of a company.
Embodiments of the present disclosure provide systems and methods for simulating currency risk by analyzing and manipulating financial data. Embodiments of the present disclosure also provide for currency risk simulation using financial data stored in an in-memory database, to take advantage of the greater processing power and speed than is typically available in traditional databases. For example, in-memory databases may deliver increased data access speed compared to relational databases stored outside of main memory, and consequently may provide faster program execution. Real-time program execution may also be implemented due to the increased speed of program execution. These speed and performance increases allow currency risk to be simulated through the analysis and manipulation of data at a very fine, granular level, such as at the level of individual business line items. In doing so, embodiments of the present disclosure allow financial analysts to quickly and accurately assess present and future currency risk according to the user company's specific financial situation and projections.
Also provided is a scenario constructor that allows for the creation, simulation, and storage of complex scenarios involving business changes that may impact currency risk, including, for example, revenue and/or cost adjustments, foreign currency share changes, and foreign currency exchange rate changes.
Embodiments of the present disclosure will be described in detail in the exemplary embodiments presented in the drawings and disclosure set forth below.
Reference will now be made in detail to embodiments, examples of which are illustrated in the accompanying drawings. In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the present disclosure. However, it will be apparent to one of ordinary skill in the art that the present disclosure may be practiced without these specific details. In other instances, well-known methods, procedures, components, and circuits have not been described in detail so as not to unnecessarily obscure aspects of the embodiments. Wherever possible, like reference numbers will be used for like elements.
Exemplary embodiments of the present disclosure provide for a method, device, system, and computer program product for simulating currency risk.
Prior to using the currency risk simulator, or at any time during use, the user may set personal preferences for the currency risk simulator. These preferences may include such things as default values and formatting (e.g., mm/dd/yyyy vs. dd/mm/yyyy; $xxx,xxx.yy vs. $xxx.xxx,yy, etc.). Other personal preferences may include, for example, Set/Get parameters and/or relevant file locations for retrieving or storing data. Additionally, the user may define the necessary currency exchange rates. In some embodiments, exchange rates are obtained from a database. In a particular embodiment, the exchange rates are imported to the currency risk simulator from the SAP® ERP-Treasury System. Both historical and current exchange rates may be imported. In other embodiments, the user may manually define an exchange rate for any set of currencies for a particular time period. That is, the user may enter that the currency risk simulator should use, for example, an exchange rate of 1 USD/0.923 EUR for financial transactions occurring between Dec. 1, 2015 and Dec. 31, 2015.
During data selection 110, the user selects the set of financial data on which currency risk simulation is desired. The user may select financial data along typical axes, for example, according to a certain time frame, or according to certain geographic regions. The user may also select financial data according to typical reporting structures, for example, an income statement, a balance sheet, or cash flow. If user may also select data at a more granular level as allowed by the stored financial data. In some embodiments, the user may select a set of general ledger line items from a general ledger accounting database for currency risk simulation.
In some embodiments, the financial data is stored in a database, preferably an in-memory database. It is to be understood by one of skill in the art that any relevant financial data stored in the course of a user's business may be selected for currency risk simulation. For example, the user may select actual or plan data from any organization unit, for any time frame, or according to any reporting structure or account group, limited only by the stored financial data. In one embodiment, the financial data is stored in the SAP® HANA in-memory database. SAP® HANA is a widely popular in-memory computing platform that may include S/4 HANA Finance, also known as Simple Finance, or sFin. sFin includes a central database table ACDOCA, which is a universal table that collects data from SAP® G/L Accounting, Asset Accounting, Controlling, and Material Ledger databases. The ACDOCA table includes all dimensions of financial data at a line item level, such that a user may select these line items for use in the currency risk simulator. It is to be understood by one of ordinary skill that the currency risk simulator is not limited to a specific in-memory database system, and the above description is used only for exemplary purposes.
In some embodiments, the user may also select the time frame for which currency risk simulation is to be done. For example, the user may desire to simulate currency risk for, for example, the upcoming month, the upcoming fiscal quarter, or the upcoming fiscal year. The user may also indicate the desired output format of the currency risk simulation. In some embodiments, the output format is automatically selected to match the format of the selected financial data. That is, if, for example, the user has selected an income statement as the financial data for the currency risk simulation, the output of the currency risk simulator may be in the form of an income statement as well.
After the user has selected the data upon which to perform the currency risk simulation as well as the desired simulation time frame and output format, the currency risk simulator of the present disclosure conducts a foreign currency share analysis 120. During foreign currency share analysis 120, the currency risk simulator analyses the selected data to determine the relevant share of each foreign currency present in the selected financial data. The currency risk simulator may use exchange rate data as discussed above, such that the selected financial data occurring at a particular time in the past is assessed according to the foreign currency exchange rate occurring at that particular time according to either imported exchange rate data or exchange rates manually entered by the user. In some embodiments, the currency risk simulator will present the user with a list of the most relevant foreign currencies. For example, the currency risk simulator may determine the most relevant foreign currencies according to which foreign currencies present in the selected financial data have the highest aggregate value across all selected transactions, which foreign currencies are used the most frequently, or which accounts and business transactions are affected most by the foreign currency share.
Once presented with the results of the foreign currency share analysis 120, a user may filter or sort the foreign currency share analysis along any metric, including, for example, the nominal amount of transactions occurring in each foreign currency, the number of transactions occurring in each foreign currency, by transaction type, i.e., debits, credits, revenues, and/or costs, or by account group, i.e., raw materials, incoming, packaging, salaries, etc. After viewing, filtering, and/or analyzing the foreign currency share analysis, a user may select the particular foreign currencies for which further currency risk simulation is desired, including one, some, or all of the foreign currencies present in the selected financial data.
During the generation of simulated data 130, the user is presented with the selected reference data at the desired level of granularity along with detailed foreign currency share information obtained during the foreign currency share analysis step 120. In some embodiments, the selected financial data is presented to the user according to a selected reporting structure, for instance an income statement, balance sheet, or cash flow. In some embodiments, the currency risk simulator may present additional details such as the account balance per account for the selected financial data according to the selected timeframe. In other embodiments, the currency risk simulator may present additional details derived from the selected data, including, for example, net revenue, gross income, net income, etc. In some embodiments, each of the items above may be further broken down according to the detailed financial currency share according to the foreign currency share analysis step 120.
In order to generate the simulated financial data from the selected financial data, the user may input desired changes to simulate for a selected period of time. These may include general business changes, foreign currency share changes, and/or foreign currency exchange rate changes. A general business change would be used to generally increase or decrease the selected financial data. For example, the user may want to increase a revenue account by a certain percentage (e.g., 5%), while increasing a cost account by some other amount (e.g., 10%). In some embodiments, the increase or decrease may be applied to any item of the selected financial data on an individual or group level. A foreign currency share change would allow a user to change the mix of foreign currencies for the user's expected future business. For example, a user's business currently has business conducted in USD, EUR, JPY, GBP, and ZAR. The user may expect European business to grow, leading to a 20% increase in business conducted in EUR, while the South African branch of the business will close, leading to a 100% decrease (or 0% currency share) of business conducted in ZAR. A foreign currency exchange rate change allows a user to change the expected currency exchange rate between pairs of relevant foreign currencies. In some embodiments, the above changes may be made independently of one another.
In some embodiments, appropriate ranges of foreign currency exchange rate changes may be estimated according to a band width analysis. A band width analysis may allow the user to determine the impact that a range of foreign currency exchange rate changes may have on a particular item of financial data. In some embodiments, the user may specify the maximum change the user is willing to accept for a particular item of selected financial data, and the currency risk simulator will calculate the maximum change a foreign currency exchange rate may have to maintain the particular item of financial data within the desired range. In some embodiments, the band width analysis may utilize any entered business or foreign currency share changes in calculating the maximum foreign currency exchange rate change. In other embodiments, the band width analysis may calculate the maximum foreign currency exchange rate change independently of other entered changes. In some embodiments, the maximum foreign currency exchange rate change may be calculated for one, some, or all of the foreign currencies present in the selected data. In other embodiments, the maximum foreign currency exchange rate change of a particular currency may be calculated independently of the foreign currency exchange rate changes of any other currencies present in the selected data. In some embodiments, the maximum foreign currency exchange rate change of a particular currency may be dependent on the foreign currency change rate changes of one, some, or all of the other currencies present in the selected data.
The user may enter changes over multiple periods of times, such that simulated data may be generated for one, two, or more points of time in the future. This allows a user to generate simulated data according to the specific future projections of the user's business or exchange rate expectations, such as seasonally fluctuating sales in particular locales or steadily weakening/strengthening currencies.
After generating the simulated data by entering the desired business, foreign currency share, and/or foreign currency exchange rate changes, the currency risk simulator outputs the simulated data to a display device in a step 140. The output may provide a comparison of the selected financial data to the generated simulated data according to the desired business, foreign currency share, and/or foreign currency exchange rate changes. In some embodiments, the output of the simulated data may be presented according to the format of the selected financial data, such that corresponding changes may be easily viewed.
In some embodiments, the generation of the simulated data and output of the simulated data may occur synchronously. That is, the currency risk simulator may allow the user to the see the impact of changes upon entry of each change into the currency risk simulator, rather than according to a calculation done after all changes have been entered. In some embodiments, the currency risk simulator takes advantage of the characteristics of the in-memory database from which the selected financial data is obtained in order to synchronously generate the simulated data from the selected financial data according to an inputted change. For example, in-memory databases may deliver increased data access speed compared to relational databases stored outside of main memory, and consequently may provide faster program execution. Accordingly, real-time program execution allowing for the synchronous generation and output of simulated data may also be implemented due to the increased speed of program execution. This allows a user to input various adjustments, i.e., business changes, foreign currency share changes, and foreign currency exchange rate changes, and see the resulting impact immediately.
Upon selection of “Foreign Currency Share Analysis” area 230, the user may conduct the foreign currency share analysis on selected financial data, as discussed in connection with step 120, above. As discussed in connection with step 130, above, the business and foreign currency share changes may be entered by the user upon selection of area 240, and foreign currency exchange rate changes may be entered by the user upon selection of area 250. The user may also conduct a band width analysis for a foreign currency or foreign currencies upon the selection of area 250. The user may view the simulated data output for further analysis, as discussed in connection with step 140, above, by selecting area 260.
In some embodiments, the user may also select “Scenario Simulator” 270. The scenario simulator allows the user to construct various currency risk scenarios according to a set of user-defined rules. These scenarios include rules similar to those discussed above, such as, for example, revenue and/or cost adjustments, foreign currency share changes, and foreign currency exchange rate changes. The scenario simulator is discussed more fully in connection with
In some embodiments, the central menu 200 may allow the user to view instructions, help guides, or tutorials regarding each of the respective areas of the currency risk simulator. For example, as shown in
Analysis area 320 displays the foreign currency share analysis for each foreign currency present in the selected financial data. The analysis area 320 may display a list of the most relevant foreign currencies according to, for example, which foreign currencies present in the selected financial data have the highest aggregate value across the selected financial data and which foreign currencies are used the most frequently across the selected financial data. For example, as shown in
Each of areas 321 and 322 may further display relevant foreign currency share analysis according to different visualizations or metrics. For example, area 321.1 displays the list of foreign currencies present in the selected financial data according to the nominal value of each currency, ranked according to the percentage share of total nominal value. Area 321.1 may also comprises selection toggles that allow the user to select specific foreign currencies for further currency risk analysis. Foreign currency share analysis may also be displayed in a visual format, for example a pie chart, in area 321.2. Area 321.3 may display the nominal value of transactions by account group, i.e., raw materials, incoming, packaging, salaries, etc. Although not labeled, it is to be appreciated that area 322 may comprise analogous areas displaying foreign currency share analysis as organized according to the number of transactions occurring in each foreign currency.
In some embodiments, the user may filter the foreign currency share analysis data by interacting with area 323. In some embodiments, as shown in
After viewing the foreign currency share analysis and selecting the desired foreign currencies for currency risk simulation, the user may select the “OK” button to proceed to the next area of the currency risk simulator. The user may also select the “Cancel” button to return to the prior area of the currency risk simulator. In some embodiments, selection of the “OK” or “Cancel” buttons may return the user to the currency risk simulator central menu 200.
Analysis area 420 comprises a reference data area 421 and a simulated data area 422. Reference data area 421 displays the selected financial data along with the foreign currency share information for the selected currencies. Foreign currency share area 421.1 displays the relative percentages of each foreign currency for the entirety of the selected financial data. For example, in
Simulated data area 422 allows the user to input selected business and foreign currency share changes, i.e., the user's future projections for business revenues, costs, and foreign currency shares. These may be entered in adjustment input area 422.1. For example, in
The user may enter foreign currency share changes in a similar manner. For example, the user may project that amount of EUR transactions will increase by 20%, those in JPY will stay the same, those in GBP will decrease by 10%, and that there will be no transactions in ZAR for the simulated time frame. As above, simulated data incorporating these projections are generated and displayed. For example, as shown in
After inputting the desired business and foreign currency share changes, the user may select the “OK” button to proceed to the next area of the currency risk simulator. The user may also select the “Cancel” button to return to the prior area of the currency risk simulator. In some embodiments, selection of the “OK” or “Cancel” buttons may return the user to the currency risk simulator central menu 200.
Analysis area 520 may comprise a selection area 521 in which the user may enter the maximum allowable change as a result of foreign currency exchange rate changes. In some embodiments, maximum allowable change may be with respect to an individual item of the selected financial data, a portion of the selected financial data, or all of the selected financial data. In other embodiments, the maximum allowable change may be with respect to a reporting position in a financial structure. For example, as shown in
Upon entry of the maximum allowable change, the current reference value from the selected financial data is shown in reference data area 522. Reference data area 522 may also display the nominal amount equivalent to the maximum allowable change entered as a percentage in selection area 521. An upper and lower threshold of the selected financial data may also be displayed.
The currency risk simulator may then calculate and display the range of foreign currency exchange rates of the foreign currencies selected for currency risk simulation that is allowable given the maximum allowable change in the selected financial data. In some embodiments, the currency risk simulator calculates the impact of foreign currency exchange rate changes on the selected financial data according to the projected foreign currency share changes entered by the user. In other embodiments, the currency risk simulator calculates the impact of foreign currency exchange rate changes on the selected financial data according to the reference data's foreign currency share. The calculated exchange rate band widths may be displayed in areas 523, 524, and 525. In area 523, the nominal amounts of each foreign currency comprising the selected financial data are displayed. The equivalent amount in base currency is also displayed, together with the maximum and minimum amounts of equivalent base currency according to the current and calculated minimum and maximum foreign currency exchange rates. In area 524, the current, maximum, and minimum foreign currency exchange rate values for each foreign currency are displayed. These maximum and minimum calculations are the upper and lower foreign exchange rate limits that would maintain the selected financial data within the maximum allowable range entered in selection area 521. In area 525, the current, maximum, and minimum foreign currency exchange rates for each foreign currency are displayed in a visual format, for example a graph.
Using selector 526, the user may select a specific foreign currency for more granular currency risk analysis. In some embodiments, the user may select one, some, or all of the foreign currencies for further currency risk analysis.
After conducting the foreign currency band width analysis and selecting a foreign currency for further currency risk analysis, the user may select the “OK” button to proceed to the next area of the currency risk simulator. The user may also select the “Cancel” button to return to the prior area of the currency risk simulator. In some embodiments, selection of the “OK” or “Cancel” buttons may return the user to the currency risk simulator central menu 200.
Analysis area 620 may comprise minimum exchange rate area 621, maximum exchange rate area 623, and simulated exchange rate area 622. In some embodiments, the exchange rates displayed in maximum exchange rate area 623 and minimum exchange rate area 623 are determined according the band width analysis, as discussed in relation to
As adjustments are made the foreign currency exchange rate in adjustment area 610, the exchange rate displayed in simulated exchange rate area 622 may change accordingly. The impact of the simulated exchange rate is displayed below. In some embodiments, the simulated financial data is displayed in both the foreign currency and equivalent base currency according to the simulated exchange rate. In some embodiments, the difference (in base currency) between the reference financial data and the simulated financial data is also displayed. After setting the simulated foreign currency exchange rate (or rates, for multiple time frames) for a specific foreign currency, the user may additionally set the simulated foreign currency exchange rate(s) for additional foreign currencies selected previously. After making the desired foreign currency exchange rate changes, the user may then view and analyze the resulting simulated data.
In analysis area 720, the reference data for each of the selected financial data is displayed alongside the simulated financial data incorporating each of the selected business, foreign currency share, and/or foreign currency exchange rate changes. In some embodiments, the nominal difference between the reference value and simulated value is also displayed. In other embodiments, the percentage difference between the reference data and the simulated data is also displayed.
The present disclosure also contemplates a scenario constructor where various scenarios may be constructed and simulated. These scenarios include rules similar to those discussed above, such as business changes, foreign currency share changes, and foreign currency exchange rate changes.
In scenario construction area 820, the user may construct various currency risk scenarios to simulate according to user-defined rules. The user may create a scenario by selecting the “Add Scenario” button. In some embodiments, the user may re-name the created scenario to a name of their choosing, for example a descriptive title such as “Optimistic.” The user may then add a rule to the scenario by selecting the “Add Rule” button. A rule for a scenario may comprise a rule type, a related currency or currencies, an action, and a value. A rule type may comprise the various changes discussed above, for example a business changes (i.e., overall revenue or cost change), foreign currency share changes, and/or foreign currency exchange rate changes. The related currency or currencies of a rule are those currency or currencies to which the rule applies. It is to be understood that certain rule types may be related to one, some, or none of the currencies. For example, a business change is applied to the financial data at a general level, and does not apply to a particular currency. Similarly, a foreign currency share may relate to a single currency, where a particular currency share changes by some amount, or may relate to two currencies, where the first currency is replaced by a second currency. In some embodiments, the available currency or currencies to be selected as a related currency are limited to those that are present in the selected financial data according to a foreign currency share analysis on the selected financial data.
The rule action defines the action to take on the selected currency or currencies according to the rule type. In some embodiments, the rule action may be one of increasing, decreasing, or replacement. Lastly, a rule value defines the amount by which the rule action is to be applied. For example, as shown in
After conducting the foreign currency band width analysis and selecting a foreign currency for further currency risk analysis, the user may select the “OK” button to generate and output the simulated data according to the selected scenario. In some embodiments, the output of the simulated data may be in an interface as described in relation to
In some embodiments, the scenario constructor and corresponding scenarios and rules may be implemented as a Standard Planning Function within the SAP® Business Rule Framework. The Business Rule Framework is an event-controlled runtime environment in which the system events are processed according to user-defined rules. In particular, the scenario constructor may be implemented as a framework that stores the above-described scenario constructor rules as processing steps within the SAP® Business Rule Framework in a user-defined sequence. The Standard Planning Function may then call the rules stored within the SAP® Business Rule Framework and execute them individually or in combination with other rules on the selected financial data in order to generate and display the simulated data. In other embodiments, when implemented as a Standard Planning Function within the SAP® Business Rule Framework, other Standard Planning Functions available within the SAP® Business Rule Framework may be used in the currency risk simulator of the present disclosure.
Each of the systems, clients, and devices in
Each of the systems, clients, and devices in
In an embodiment, memory 903 may contain different components for retrieving, presenting, changing, and saving data. Memory 903 may include a variety of memory devices, for example, Dynamic Random Access Memory (DRAM), Static RAM (SRAM), flash memory, cache memory, and other memory devices. Additionally, for example, memory 903 and processing device(s) 902 may be distributed across several different computers that collectively comprise a system.
Processing device 902 may perform computation and control functions of a system and comprises a suitable central processing unit (CPU). Processing device 902 may comprise a single integrated circuit, such as a microprocessing device, or may comprise any suitable number of integrated circuit devices and/or circuit boards working in cooperation to accomplish the functions of a processing device. Processing device 902 may execute computer programs, such as object-oriented computer programs, within memory 903.
Further, operation of the disclosed embodiments has been described in the context of servers and terminals that implement storage apparatus such as databases. These systems can be embodied in electronic devices or integrated circuits, such as application specific integrated circuits, field programmable gate arrays and/or digital signal processors. Alternatively, they can be embodied in computer programs that execute on personal computers, notebook computers, tablets, smartphones or computer servers. Such computer programs typically are stored in physical storage media such as electronic-, magnetic- and/or optically-based storage devices, where they may be read to a processor, under control of an operating system and executed. And, of course, these components may be provided as hybrid systems that distribute functionality across dedicated hardware components and programmed general-purpose processors, as desired.
The foregoing description has been presented for purposes of illustration and description. It is not exhaustive and does not limit embodiments of the disclosure to the precise forms disclosed. Modifications and variations are possible in light of the above teachings or may be acquired from the practicing embodiments consistent with the disclosure. For example, some of the described embodiments may include software and hardware, but some systems and methods consistent with the present disclosure may be implemented in software or hardware alone. Additionally, although aspects of the present disclosure are described as being stored in memory, this may include other computer readable media, such as secondary storage devices, for example, hard disks, floppy disks, or CD ROM; the Internet or other propagation medium; or other forms of RAM or ROM.
The disclosure is also directed to computer program products comprising software stored on any computer useable medium. In various embodiments, the computer readable medium is non-transitory. Such software, when executed in one or more data processing devices, causes data processing device(s) to operate as described herein. Embodiments of the disclosure employ any computer useable or readable medium, known now or in the future. Examples of computer useable mediums include, but are not limited to, primary storage devices (e.g., any type of random access memory), secondary storage devices (e.g., hard drives, floppy disks, Compact Disc Read-Only Memory (CD-ROM) disks, Zip disks, tapes, magnetic storage devices, optical storage devices, Microelectromechanical Systems (MEMS), nanotechnological storage device, etc.), and communication mediums (e.g., wired and wireless communications networks, local area networks, wide area networks, intranets, etc.).
Based on the teachings contained in this disclosure, it will be apparent to persons skilled in the relevant art(s) how to make and use the disclosure using data processing devices, computer systems, and/or computer architectures other than that shown in
The illustrations of the embodiments described herein are intended to provide a general understanding of the various embodiments. The illustrations are not intended to serve as a complete description of all of the elements and features of apparatus and systems that utilize the structures or methods described herein. Many other embodiments may be apparent to those of skill in the art upon reviewing the disclosure. Other embodiments may be utilized and derived from the disclosure, such that structural and logical substitutions and changes may be made without departing from the scope of the disclosure. Additionally, the illustrations are merely representational and may not be drawn to scale. Certain proportions within the illustrations may be exaggerated, while other proportions may be minimized. Accordingly, the disclosure and the figures are to be regarded as illustrative rather than restrictive.
In addition, in the foregoing Detailed Description, various features may be grouped or described together for the purpose of streamlining the disclosure. This disclosure is not to be interpreted as reflecting an intention that all such features are required to provide an operable embodiment.