Financial data processing method and related device
By using computational graphs to represent the financial data processing process, the problem of invisible operation logic in the existing financial forecast model is solved, the visualization and interpretability of financial data processing is realized, and the efficiency of analysis and adjustment is improved.
Patent Information
- Application Number
- CN202311734349.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-12-15
- Publication Date
- 2025-06-17
AI Technical Summary
The existing financial forecasting model operates in code form, resulting in the operational logic between financial data that is not visible, which is not conducive to model analysis and adjustment.
The calculation graph including nodes and edges is used to represent the processing flow of financial data. The node indicates the financial input data, the algorithm model function and the operation rule function, and the data or functions indicated by the node are called in turn to realize a series of processing processes of financial data.
Visually combine data, algorithm models and operation rules to improve the interpretability and visualization of financial data processing processes, facilitate analysis and adjustment, and improve the efficiency and effectiveness of financial data analysis and processing.
Smart Images

Figure CN120163671A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the technical field of financial calculations, and particularly to a financial data processing method and related devices. Background Art
[0002] Financial forecasting is based on data generated from a company's business and financial activities over a period of time in the past, external information such as the macro market and competing companies, combined with relevant rules on the enterprise operation value chain, and uses systematic quantitative analysis techniques to predict the company's future financial status and operating level.
[0003] The purpose of financial forecasting is to enhance the advance nature of financial management, predict risks and quantify the possible impacts of risks, reduce the uncertainty of enterprise management, so that the expected goals of the financial plan are consistent with the changing external environment and economic conditions, and timely quantify the implementation effect of the financial plan. Generally speaking, financial forecasting is an important basis for enterprise managers to carry out lean management and scientific decision-making.
[0004] Currently, the way of financial forecasting is that financial professionals establish operational relationships between various types of financial data based on financial domain knowledge (such as the checking relationship of financial indicators), thus building a financial forecasting model, and obtaining the final forecasting result by running the financial forecasting model. However, existing financial forecasting models usually run in the form of code and output the final forecasting result, resulting in the invisibility of the operational logic between financial data, which is not conducive to the analysis and adjustment of the financial forecasting model. Summary of the Invention
[0005] This application provides a financial data processing method, which can improve the visualization of the financial data processing process and facilitate the analysis and adjustment of the financial data processing process.
[0006] The first aspect of this application provides a financial data processing method, which is applied to process financial data in the financial field. The method includes: First, obtain a first computational graph. Among them, the first computational graph is a directed acyclic graph, which is used to indicate the processing process of financial data. And, the first computational graph includes multiple nodes and multiple directed edges, the multiple nodes are connected by the multiple directed edges, and the multiple directed edges are used to represent the data dependency relationship between nodes. That is, the directed edges between nodes are directional and represent the data flow direction. In addition, the multiple nodes include a first node, a second node, and a third node. The first node is used to indicate financial input data, the second node is used to indicate a pre-registered algorithm model function, and the third node is used to indicate a rule function constructed based on the operation rules of financial data.
[0007] Then, based on the data dependency relationships among the nodes in the first computational graph, the execution order of multiple nodes in the first computational graph can be determined, and then the multiple nodes in the first computational graph can be executed in sequence to obtain an output result, which includes the output data corresponding to the multiple nodes.
[0008] Among them, the process of executing the first node includes obtaining financial input data and using the financial input data as the input data of the nodes connected to the first node. The process of executing the second node includes calling an algorithm model function to process the input data of the second node. The process of executing the third node includes calling a rule function to perform a rule operation on the input data of the third node.
[0009] In this solution, a computational graph including nodes and edges is used to represent the processing flow of financial data, and the nodes in the computational graph can indicate the input financial data, the algorithm model functions for processing the financial data, and the operation rule functions. When executing the computational graph, by sequentially calling the data or functions indicated by the nodes, a series of processing processes of financial data can be realized, thereby visually combining data, algorithm models, and operation rules, and improving the interpretability of the financial data processing flow. By defining the algorithm model and the operation rules based on expert experience as different functions and integrating them into the same processing flow, the ability of the algorithm model in solving complex operations such as optimization problem solving and time series prediction can be effectively utilized, making up for the disadvantage that the operation rules based on expert experience are difficult to handle complex operations, and improving the efficiency and effect of financial data analysis and processing. Moreover, when visually presenting the financial data processing flow based on the computational graph, only by adjusting the nodes in the computational graph can the change of the financial data processing flow be realized, which is convenient for analyzing and adjusting the financial data processing flow.
[0010] In a possible implementation manner, the algorithm model function is obtained by registering the target algorithm model as an external function. The second node can specifically indicate the call address of the algorithm model function, so that when the second node is executed, the call of the algorithm model can be realized based on the call address indicated by the second node. The target algorithm model includes a statistical learning algorithm model and / or a machine learning algorithm model. For example, the target algorithm model includes an optimization problem solving model or an artificial intelligence model.
[0011] In this solution, by pre-registering the target algorithm model as an external function and indicating the call method of the external function on the nodes of the computational graph, the external target algorithm model can be organically integrated with other financial rule operations in the same calculation process, so as to combine the advantages of the algorithm model and the conventional financial rule operations in the same calculation process and flexibly meet the complex data processing requirements in the financial field.
[0012] In a possible implementation, the rule function is obtained based on a pre-constructed expert experience model, and the expert experience model is used to indicate a plurality of operations sequentially performed on the input data. Simply put, for a specific type of financial data, a corresponding expert experience model can be pre-constructed based on expert experience to indicate the process of performing operation processing on these specific types of financial data. In this way, by defining the expert experience model in the form of a rule function and indicating the defined function on the node, the invocation of the expert experience model can be realized, thereby completing the processing of specific types of financial data.
[0013] In this solution, by defining the pre-constructed expert experience model in the form of a rule function, it is convenient to indicate the entire expert experience model with one node in the computational graph, ensuring that the expert experience model can be reused when constructing various computational graphs, and facilitating the organic integration of the expert experience model with other operations in the computational graph. There is no need to display the internal detailed structure of the expert experience model on the computational graph, which is beneficial to improving the visualization of the computational graph.
[0014] In a possible implementation, the above financial data processing method further includes: obtaining a second computational graph, which is obtained by adjusting some nodes in the first computational graph. Optionally, some nodes in the first computational graph that perform the adjustment include any one or more of the following nodes: a node for indicating financial input data, a node for indicating an algorithm model function, or a node for indicating a rule function.
[0015] Then, based on the positions of the nodes in the second computational graph that perform the adjustment, determine the target nodes in the second computational graph where the output data will change relative to the first computational graph. Among them, the target nodes include the nodes that perform the adjustment and the nodes that can be reached by the directed edges from the nodes that perform the adjustment.
[0016] Secondly, based on the data dependency relationship between the nodes in the second computational graph, sequentially execute a plurality of nodes in the second computational graph.
[0017] Finally, based on the execution results of the first computational graph and the execution results of the second computational graph, display the change situation of the output data of the target nodes. Since the nodes whose output data is affected are the target nodes, after the second computational graph is executed, the change situation of the output data of the target nodes can be obtained and displayed by comparing the execution results of the second computational graph and the execution results of the first computational graph (i.e., the output data of each node). Among them, the change situation of the output data of the target nodes can refer to information such as the values of the output data before and after the change, the percentage change of the output data, and the magnitude of the change in the output data.
[0018] In this solution, by analyzing the nodes affected before and after the adjustment of the computational graph and presenting the specific changes of the affected nodes, it is convenient for users to quickly know the impact of the computational graph adjustment on the overall financial data processing process.
[0019] In a possible implementation, based on the data dependency relationships between the nodes in the first computational graph, multiple nodes in the first computational graph are executed sequentially, specifically including: based on the data dependency relationships between the nodes in the first computational graph, a first node queue and a second node queue are arranged. Both the first node queue and the second node queue include multiple nodes sorted in sequence, and there is no data dependency relationship between the nodes included in the first node queue and the second node queue; then, the first node queue and the second node queue are executed in parallel, where the execution order of the nodes in the first node queue and the second node queue is determined based on the sorting results of the nodes within the node queues.
[0020] In this solution, by generating multiple node queues that can be executed in parallel based on the data dependency relationships between the nodes in the computational graph, and each node queue includes multiple nodes sorted in sequence, it is possible to execute in parallel the branches in the computational graph that do not have data dependency relationships, improving the execution efficiency of the computational graph.
[0021] In a possible implementation, based on the data dependency relationships between the nodes in the first computational graph, sequentially executing multiple nodes in the first computational graph further includes: based on the data dependency relationships between the nodes in the first computational graph, arranging to obtain a third node queue, and the third node queue includes multiple nodes sorted in sequence. Among them, the third node queue has data dependency relationships with both the first node queue and the second node queue, that is, the third node queue depends on the outputs of the first node queue and the second node queue. Then, the output data of the first node queue and the output data of the second node queue are used as the input data of the third node queue, and the third node queue is executed.
[0022] In this solution, when generating node queues based on the data dependency relationships between the nodes in the computational graph, in addition to generating node queues that can be executed in parallel, node queues that are executed serially are also generated, thereby ensuring that the generated node queues can conform to the computational logic of the computational graph, ensuring that the execution of the node queues can implement the computational logic of the entire computational graph, and effectively improving the execution efficiency of the computational graph.
[0023] In a possible implementation, obtaining the first computational graph includes: obtaining a plurality of node creation instructions and a plurality of node connection instructions. The plurality of node creation instructions are all used to indicate the creation of nodes in the first computational graph, and the plurality of node connection instructions are all used to indicate the connection of the created nodes. Among them, any one of the plurality of node creation instructions can be used to indicate the creation of a data node or an operation node. For example, it can be used to create a node indicating financial input data, or a node indicating a rule function or an algorithm model function. In this way, by creating a plurality of nodes based on the plurality of node creation instructions and creating a plurality of directed edges based on the plurality of node connection instructions, the first computational graph can be obtained.
[0024] That is to say, the execution device implements the creation of nodes based on the node creation instructions, and connects the already created nodes based on the node connection instructions, and finally obtains the first computational graph including a plurality of nodes and a plurality of directed edges.
[0025] In a possible implementation, the first node is specifically used to indicate the type of financial input data (such as inventory data, historical price data, historical shipment volume, predicted price, etc.). There is a mapping relationship between the type of financial input data and the target data structure. That is, the first node maps to the target data structure by indicating the type of financial data.
[0026] In this way, when executing the first node, it can be based on the type of financial input data indicated by the first node and the mapping relationship, and call the data indicated by the target data structure as the financial input data. Among them, the target data structure can be, for example, a data structure such as a table, a queue, or an array, which is used to store the above-mentioned financial input data.
[0027] In a possible implementation, the first computational graph further includes a fourth node, and the fourth node is used to indicate a financial indicator reconciliation model. Among them, the process of executing the fourth node includes calling the financial indicator reconciliation model to perform a reconciliation operation on multiple input data of the fourth node. Specifically, the financial indicator reconciliation model is a pre-constructed model, which is a model used to perform operations on financial indicators with a reconciliation relationship. For example, a simple financial indicator reconciliation model can be a model for calculating net profit, and the operation logic of the financial indicator reconciliation model is: net profit = total revenue - total cost.
[0028] The second aspect of the present application provides a financial data processing device, including: an acquisition module, configured to acquire a first computational graph, the first computational graph including a plurality of nodes and a plurality of directed edges, the plurality of nodes being connected by the plurality of directed edges, the plurality of directed edges being used to represent data dependency relationships between the nodes, the plurality of nodes including a first node, a second node, and a third node, the first node being used to indicate financial input data, the second node being used to indicate a pre-registered algorithm model function, and the third node being used to indicate a rule function constructed based on operation rules for financial data; a processing module, configured to sequentially execute the plurality of nodes in the first computational graph based on the data dependency relationships between the nodes in the first computational graph to obtain an output result, the output result including output data corresponding to the plurality of nodes; wherein, the process of executing the first node includes acquiring financial input data and using the financial input data as input data for the nodes connected to the first node, the process of executing the second node includes calling the algorithm model function to process the input data of the second node, and the process of executing the third node includes calling the rule function to perform rule operations on the input data of the third node.
[0029] In a possible implementation manner, the algorithm model function is obtained by registering a target algorithm model as an external function, and the target algorithm model includes a statistical learning algorithm model and / or a machine learning algorithm model.
[0030] In a possible implementation manner, the rule function is obtained based on a pre-constructed expert experience model, and the expert experience model is used to indicate a plurality of operations sequentially performed on input data.
[0031] In a possible implementation manner, the acquisition module is further configured to acquire a second computational graph, the second computational graph being obtained by adjusting some of the nodes in the first computational graph; the processing module is further configured to determine, based on the positions of the nodes whose execution is adjusted in the second computational graph, target nodes in the second computational graph for which the output data will change relative to the first computational graph; the processing module is further configured to sequentially execute the plurality of nodes in the second computational graph based on the data dependency relationships between the nodes in the second computational graph; the processing module is further configured to display the change situation of the output data of the target nodes based on the execution result of the first computational graph and the execution result of the second computational graph.
[0032] In a possible implementation manner, the some of the nodes include any one or more of the following nodes: a node used to indicate financial input data, a node used to indicate an algorithm model function, or a node used to indicate a rule function.
[0033] In a possible implementation, the processing module is further configured to: based on the data dependency relationships among the nodes in the first computation graph, arrange to obtain a first node queue and a second node queue, both the first node queue and the second node queue include multiple nodes sorted in sequence, and there are no data dependency relationships among the nodes included in the first node queue and the second node queue; execute the first node queue and the second node queue in parallel, where the execution order of the nodes in the first node queue and the second node queue is determined based on the sorting result of the nodes within the node queue.
[0034] In a possible implementation, the processing module is further configured to: based on the data dependency relationships among the nodes in the first computation graph, arrange to obtain a third node queue, the third node queue includes multiple nodes sorted in sequence; use the output data of the first node queue and the output data of the second node queue as the input data of the third node queue, and execute the third node queue.
[0035] In a possible implementation, the obtaining module is further configured to obtain a plurality of node creation instructions and a plurality of node connection instructions, the plurality of node creation instructions are all used to indicate creating nodes in the first computation graph, and the plurality of node connection instructions are all used to indicate connecting the created nodes; the processing module is further configured to create a plurality of nodes based on the plurality of node creation instructions, and create a plurality of directed edges based on the plurality of node connection instructions to obtain the first computation graph.
[0036] In a possible implementation, the first node is specifically configured to indicate the type of financial input data, and there is a mapping relationship between the type of financial input data and the target data structure; the obtaining module is further configured to, based on the type of financial input data indicated by the first node and the mapping relationship, call the data indicated by the target data structure as the financial input data.
[0037] In a possible implementation, the first computation graph further includes a fourth node, and the fourth node is used to indicate a financial indicator reconciliation model; wherein, the process of executing the fourth node includes calling the financial indicator reconciliation model to perform a reconciliation operation on multiple input data of the fourth node.
[0038] A third aspect of this application provides a financial data processing device, which may include a processor, the processor is coupled to a memory, and the memory stores program instructions. When the program instructions stored in the memory are executed by the processor, the method of the first aspect or any implementation manner of the first aspect is implemented. For the steps executed by the processor in each possible implementation manner of the first aspect, reference may specifically be made to the first aspect, and details are not described herein again.
[0039] A fourth aspect of this application provides a computer-readable storage medium, in which a computer program is stored. When it runs on a computer, it causes the computer to execute the method of any implementation manner of the first aspect.
[0040] The fifth aspect of this application provides a circuit system, which includes a processing circuit configured to execute the method according to any implementation of the first aspect above.
[0041] The sixth aspect of this application provides a computer program product, which includes program code that, when running on a computer, causes the computer to execute the method according to any implementation of the first aspect above.
[0042] The seventh aspect of this application provides a chip system, which includes a processor for supporting a server or a feature screening device to implement the functions involved in any implementation of the first aspect above. For example, it processes the data and / or information involved in the above method. In a possible design, the chip system further includes a memory for storing the necessary program instructions and data of the server or the feature screening device. The chip system can be composed of chips or can include chips and other discrete devices.
[0043] For the beneficial effects of the second to seventh aspects above, reference can be made to the introduction of the first aspect above, which will not be elaborated here. Description of the Drawings
[0044] Figure 1 It is a schematic diagram of a system architecture provided by an embodiment of this application;
[0045] Figure 2 It is a schematic diagram of the structure of an execution device 101 provided by an embodiment of this application;
[0046] Figure 3 It is a schematic diagram of the process of a financial data processing method provided by an embodiment of this application;
[0047] Figure 4 It is a schematic diagram of a computational graph provided by an embodiment of this application;
[0048] Figure 5 It is a schematic diagram of a decision tree model provided by an embodiment of this application;
[0049] Figure 6 It is a schematic diagram of the execution of a decision tree model provided by an embodiment of this application;
[0050] Figure 7 It is a schematic diagram of the adjustment of a decision tree model provided by an embodiment of this application;
[0051] Figure 8 It is a schematic diagram of creating a node for indicating a time series prediction algorithm model provided by an embodiment of this application;
[0052] Figure 9Schematic diagram of generating a node queue based on a computational graph provided by an embodiment of the present application;
[0053] Figure 10 Another flowchart of a financial data processing method provided by an embodiment of the present application;
[0054] Figure 11 Schematic diagram of displaying an adjusted computational graph provided by an embodiment of the present application;
[0055] Figure 12 Schematic diagram of the structure of a financial data processing device provided by an embodiment of the present application;
[0056] Figure 13 Schematic diagram of the structure of an execution device provided by an embodiment of the present application;
[0057] Figure 14 Schematic diagram of the structure of a chip provided by an embodiment of the present application;
[0058] Figure 15 Schematic diagram of the structure of a computer-readable storage medium provided by an embodiment of the present application. Detailed implementation manners
[0059] In order to make the objectives, technical solutions and advantages of the present application clearer, the embodiments of the present application will be described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all of the embodiments. Those of ordinary skill in the art will know that with the emergence of new application scenarios, the technical solutions provided by the embodiments of the present application are equally applicable to similar technical problems.
[0060] In the description, claims and the above-mentioned drawings of this application, terms such as "first" and "second" are used to distinguish similar objects, and do not necessarily describe a specific order or sequence. It should be understood that such descriptions can be interchanged under appropriate circumstances so that the embodiments can be implemented in an order other than that shown or described in this application. In addition, the terms "comprising" and "having" and any variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, system, product or device that includes a series of steps or modules does not necessarily have to be limited to those steps or modules clearly listed, but may include other steps or modules not clearly listed or inherent to these processes, methods, products or devices. In this application, the naming or numbering of steps does not mean that the steps in the method flow must be executed in the time / logical sequence indicated by the naming or numbering. The named or numbered process steps can be changed in the execution order according to the technical purpose to be achieved, as long as the same or similar technical effects can be achieved. The division of units in this application is a logical division, and there may be other division methods in actual implementation. For example, multiple units can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the displayed or discussed couplings or direct couplings or communication connections to each other can be through some interfaces, and the indirect couplings or communication connections between units can be electrical or other similar forms, which are not limited in this application. Moreover, the units or subunits described as separate components may or may not be physically separated, may or may not be physical units, or may be distributed into multiple circuit units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this application.
[0061] For ease of understanding, some technical terms involved in the embodiments of this application are introduced below.
[0062] (1) Check relation
[0063] The check relation refers to the inevitable relationship between relevant indicators and figures in accounting books and statements, which can be used for mutual reference and verification. For example, there is a relationship of mutual consistency and verification between the ending balance of each general ledger account and the sum of the ending balances of its respective secondary accounts or detailed classification accounts. Another example is that there is also a mutual verification relationship between the total amounts of sales revenue, sales tax, sales factory cost, sales expenses, technology transfer fees, and sales profit in the product sales detailed list and the amounts of the same items in the profit statement.
[0064] Generally speaking, the check relations between financial indicators can usually be expressed by the four arithmetic operations.
[0065] (2) Four arithmetic operations
[0066] The four arithmetic operations refer to the four operations of addition, subtraction, multiplication, and division.
[0067] (3) Aggregation operation
[0068] Aggregation operation means calculating a single value from a set of values. For example, calculating an average value, or a maximum value, or an accumulated value from a group of values.
[0069] (4) Directed acyclic graph (DAG)
[0070] In mathematics, especially in graph theory and computer science, a directed acyclic graph refers to a directed graph without loops. Specifically, if a directed graph cannot start from a certain vertex and return to that point after passing through several edges, then this graph is a directed acyclic graph.
[0071] (5) Statistical learning
[0072] Statistical learning: Also known as statistical machine learning, it is a discipline in which a computer constructs a probability statistical model based on data and uses the model for prediction and analysis. Data is the object of statistical learning. The basic assumption of statistical learning about data is that the same type of data has certain statistical regularities, which is the premise of statistical learning. These data have a certain common property, and because of the statistical regularities, statistical learning methods can be used to process them.
[0073] Generally speaking, statistical learning methods are summarized as follows: starting from a given, finite training data set for learning, assuming that the data is generated independently and identically distributed; and assuming that the model to be learned belongs to a set of functions, called the hypothesis space; applying a certain evaluation criterion to select an optimal model from the hypothesis space, so that it has the best prediction for the known training data and unknown test data under the given evaluation criterion; the selection of the optimal model is realized by an algorithm.
[0074] (6) Machine learning
[0075] Machine learning is an interdisciplinary subject involving multiple fields such as probability theory, statistics, approximation theory, convex analysis, and algorithm complexity theory. It specifically studies how a computer simulates or realizes human learning behaviors to acquire new knowledge or skills and reorganize the existing knowledge structure to continuously improve its own performance.
[0076] (7) Application Programming Interface (API)
[0077] An API is a set of predefined functions designed to provide an application and developers with the ability to access a set of routines based on a certain software or hardware, without the need to access the source code or understand the details of the internal working mechanism.
[0078] Currently, the method of financial forecasting is that financial professionals establish the arithmetic relationships between various types of financial data based on financial domain knowledge (such as the reconciliation relationships of financial indicators), thereby building a financial forecasting model, and obtaining the final forecasting result by running the financial forecasting model. However, existing financial forecasting models usually run in the form of code and output the final forecasting result, resulting in the invisibility of the arithmetic logic between financial data, which is not conducive to the analysis and adjustment of financial forecasting models.
[0079] Moreover, when building a financial forecasting model based on financial domain knowledge, experts often have difficulty exhausting all possible combinations of hypothetical elements manually to obtain the optimal combination strategy, resulting in the financial forecasting model being difficult to obtain the optimal result. In addition, the forecasting logic or reconciliation relationship of some financial indicators has no clear rules to carry, and experts need to summarize the rules from the data, which is difficult and inefficient.
[0080] This application provides a method for processing financial data, which uses a computational graph including nodes and edges to represent the processing flow of financial data, and the nodes in the computational graph can indicate the input financial data, the algorithm model function for processing financial data, and the operation rule function. When executing the computational graph, by sequentially calling the data or functions indicated by the nodes, a series of processing processes of financial data can be realized, thereby realizing the visual combination of data, algorithm models, and operation rules, and improving the interpretability of the financial data processing flow. By defining the algorithm model and the operation rules based on expert experience as different functions and integrating them into the same processing flow, the ability of the algorithm model in solving optimization problems and time series forecasting and other complex operations can be effectively utilized, making up for the disadvantage that the operation rules based on expert experience are difficult to handle complex operations, and improving the efficiency and effect of financial data analysis and processing. And when visualizing the financial data processing flow based on the computational graph, only by adjusting the nodes in the computational graph can the change of the financial data processing flow be realized, which is convenient for the analysis and adjustment of the financial data processing flow.
[0081] Please refer to Figure 1 , Figure 1 which is a schematic diagram of a system architecture provided by an embodiment of this application. As Figure 1As shown in the figure, in the system architecture, the execution device 101 can be, for example, a personal computer, a laptop, or a server. Moreover, the execution device 101 is communicatively connected to the data storage system 102 for obtaining the data stored in the data storage system 102. Among them, the data storage system 102 can be implemented, for example, by a storage device deployed on the execution device 101. For example, if the execution device 101 is a personal computer, the data storage system 102 is a hard disk deployed on the personal computer. The data storage system 102 can also be implemented by a storage device independent of the execution device. For example, if the execution device 101 is a computing server, the data storage system 102 is a data server dedicated to storing data.
[0082] During operation, the execution device 101 can obtain a computational graph representing the financial data processing process. This computational graph is a directed acyclic graph, and nodes are used to represent financial data and the operation methods of financial data (such as algorithm model functions or rule functions for processing financial data). In this way, the execution device 101 can sequentially execute each node based on the connection relationship between the nodes in the computational graph, and call the corresponding financial data or functions from the data storage system when executing the nodes, so as to obtain the output result after the computational graph performs operations (i.e., the processing result of the financial data).
[0083] Please refer to Figure 2 , Figure 2 which is a schematic structural diagram of an execution device 101 provided by an embodiment of the present application. As Figure 2 shown, the execution device 101 to which the financial data processing method provided by the embodiment of the present application is applied includes a processor 103, and the processor 103 is coupled to the system bus 105. The processor 103 can be one or more processors, and each processor can include one or more processor cores. A display adapter 107, which can drive a display 109, and the display 109 is coupled to the system bus 105. The system bus 105 is coupled to the input / output (I / O) bus through a bus bridge 111. An I / O interface 115 is coupled to the I / O bus. The I / O interface 115 communicates with a variety of I / O devices, such as an input device 117 (such as a touch screen, etc.), an external memory 121 (for example, a hard disk, a floppy disk, an optical disc, or a USB flash drive), a multimedia interface, etc.). A transceiver 123 (which can send and / or receive radio communication signals), a camera 155 (which can capture static and dynamic digital video images), and an external USB port 125. Optionally, the interface connected to the I / O interface 115 can be a USB interface.
[0084] Among them, the processor 103 can be any conventional processor, including a reduced instruction set computing (RISC) processor, a complex instruction set computing (CISC) processor, or a combination of the above. Optionally, the processor can be a dedicated device such as an ASIC.
[0085] The execution device 101 can communicate with the software deployment server 149 through the network interface 129. Exemplarily, the network interface 129 is a hardware network interface, such as a network card. The network 127 can be an external network, such as the Internet, or an internal network, such as Ethernet or a virtual private network (VPN). Optionally, the network 127 can also be a wireless network, such as a WiFi network, a cellular network, etc.
[0086] The hard disk drive interface 131 is coupled to the system bus 105. The hardware drive interface is connected to the hard disk drive 133. The internal memory 135 is coupled to the system bus 105. The data running in the internal memory 135 can include the operating system (OS) 137, application programs 143, and a schedule of the execution device 101.
[0087] The operating system includes a Shell 139 and a kernel 141. The Shell 139 is an interface between the user and the kernel of the operating system. The shell is the outermost layer of the operating system. The shell manages the interaction between the user and the operating system: waits for the user's input, interprets the user's input to the operating system, and processes various output results of the operating system.
[0088] The kernel 141 consists of those parts of the operating system that are used to manage memory, files, peripherals, and system resources. The kernel 141 directly interacts with the hardware. The operating system kernel usually runs processes and provides inter-process communication, provides CPU time slice management, interrupts, memory management, and IO management, etc.
[0089] The above introduced the system architecture and the execution device to which the method provided by the embodiments of the present application is applied. The following will detail the execution process of the financial data processing method provided by the embodiments of the present application.
[0090] Please refer to Figure 3 , Figure 3 which is a schematic flowchart of a financial data processing method provided by an embodiment of the present application. As Figure 3 shown, the financial data processing method includes the following steps 301-302.
[0091] Step 301: Obtain a first computational graph. The first computational graph includes multiple nodes and multiple directed edges. The multiple nodes are connected by the multiple directed edges, and the multiple directed edges are used to represent the data dependency relationships between the nodes. The multiple nodes include a first node, a second node, and a third node. The first node is used to indicate financial input data, the second node is used to indicate a pre-registered algorithm model function, and the third node is used to indicate a rule function constructed based on the operation rules of financial data.
[0092] In this embodiment, the first computational graph is a DAG, which is used to indicate the processing flow of financial data. For the multiple nodes and multiple directed edges included in the first computational graph, each node in the first computational graph is connected to at least one directed edge, and each directed edge is connected to two nodes. In addition, the directed edges between the nodes have directions, representing the data flow direction, so they can represent the data dependency relationships between the nodes. For example, assume that node A and node B are connected by a directed edge, and the direction of the directed edge is from node A to node B. Then it means that the output data of node A will flow to node B, that is, the output data of node A will be used as the input data of node B, and node B will depend on the data output by node A.
[0093] In the first computational graph, the multiple nodes of the first computational graph actually include two types of nodes, one is a data node, and the other is an operation node. Among them, a data node refers to a node used to indicate data, such as a node indicating the input data of the first computational graph, or a node indicating the data output by an operation node; an operation node is a node used to indicate performing an operation process on data. Specifically, the operation nodes can include the following types of nodes: nodes indicating algorithm model functions, nodes indicating rule functions, nodes indicating financial reconciliation models, nodes performing decision-making judgments, and nodes performing optimization solutions.
[0094] Specifically, in this embodiment, the multiple nodes of the first computational graph include a first node, a second node, and a third node. The first node is used to indicate financial input data, that is, the first node belongs to the above-mentioned data nodes; the second node is used to indicate a pre-registered algorithm model function, and the third node is used to indicate a rule function constructed based on the operation rules of financial data, that is, the second node and the third node belong to the above-mentioned operation nodes, and the types of operations indicated by the second node and the third node are different.
[0095] Optionally, for the algorithm model function indicated by the second node, the algorithm model function can be obtained by registering the target algorithm model as an external function. Then, in the case where the target algorithm model is pre-registered as an external function, the registered algorithm model function can be obtained. The second node can specifically indicate the call address of the algorithm model function, so that when the second node is executed, based on the call address indicated by the second node, the target algorithm model can be called through the Application Programming Interface (API) to perform data processing.
[0096] Among them, the target algorithm model includes a statistical learning algorithm model and / or a machine learning algorithm model. For example, the target algorithm model includes an optimization problem solving model (referred to as an optimization solving model) for obtaining an optimal solution under certain constraint conditions (such as obtaining an optimal goods distribution strategy based on constraint information such as warehouse inventory, distances between multiple customers and the warehouse, and the goods receiving situations of multiple customers). Another example is that the target algorithm model can be an Artificial Intelligence (AI) model, specifically a time series prediction algorithm model for predicting future data based on past historical data (such as predicting future price data based on price data at historical times).
[0097] In this solution, by pre-registering the target algorithm model as an external function and indicating the call method of the external function on the nodes of the computational graph, the external target algorithm model can be organically integrated with other financial rule operations in the same computational process, so as to combine the advantages of the algorithm model and conventional financial rule operations in the same computational process and flexibly meet the complex data processing requirements in the financial field.
[0098] Optionally, for the rule function indicated by the third node, the rule function can be obtained based on a pre-constructed expert experience model, and the expert experience model is used to indicate multiple operations sequentially performed on the input data of the third node.
[0099] It can be understood that in the financial field, for some specific types of financial data, these financial data can be processed or obtained based on the type of financial data and the field to which it belongs, combined with expert experience. For example, for the goods distribution strategy under a certain product (such as a mobile phone or a router), a series of judgment processes can be performed based on the product's inventory and the customer proportion, so as to determine the quantity of goods distributed to each customer, and then obtain the goods distribution strategy of the product. Therefore, the goods distribution strategy of the product actually needs to combine expert experience to process the corresponding product inventory data and customer proportion data in order to be obtained. And, for the same type of financial data, in most cases, the way of processing this financial data based on expert experience usually does not change frequently. Therefore, in this embodiment, for specific types of financial data, an expert experience model can be pre-constructed based on expert experience to indicate the process of performing arithmetic operations on these specific types of financial data.
[0100] Moreover, by defining the pre-constructed expert experience model in the form of a rule function, it is convenient to use a node in the computational graph to indicate the entire expert experience model, ensuring that the expert experience model can be reused when constructing various computational graphs, and facilitating the organic integration of the expert experience model with other operations in the computational graph. There is no need to display the internal detailed structure of the expert experience model on the computational graph, which is beneficial to improving the visualization of the computational graph.
[0101] Or, the rule function indicated by the third node can be obtained based on any one or more of the four arithmetic operations, aggregation operations, or conditional judgments. Among them, the conditional judgment can perform a conditional judgment action on the input data and perform corresponding actions based on the satisfaction of the input data with respect to the condition. For example, when defining the rule function, one or more operations can be selected from the four arithmetic operations, aggregation operations, or conditional judgments for combination to obtain the defined rule function.
[0102] Generally speaking, the rule function can be a function pre-defined based on financial domain knowledge, which satisfies the operation rules of the financial domain and can perform operations on financial data to facilitate obtaining the corresponding operation results. The specific implementation method of the rule function is not limited in this embodiment.
[0103] Optionally, the first computational graph in this embodiment can be pre-installed on the execution device, or obtained by the execution device from other devices on the network. The first computational graph can also be constructed by the execution device in response to a user's instruction.
[0104] Exemplarily, during the process of constructing the first computational graph, the execution device can obtain a plurality of node creation instructions and a plurality of node connection instructions. The plurality of node creation instructions are all used to indicate the creation of nodes in the first computational graph, and the plurality of node connection instructions are all used to indicate the connection of the created nodes. Among them, any one of the plurality of node creation instructions can be used to indicate the creation of a data node or an operation node. For example, it can be used to create a node indicating financial input data, or a node indicating a rule function or an algorithm model function. This embodiment does not make specific limitations on this. Specifically, the user can generate node creation instructions by performing one or more operations (such as specifying the type of the created node, specifying the operation indicated by the node or the function called, etc.) on the computational graph construction interface displayed by the execution device. In addition, the node connection instruction needs to indicate the connection direction of the nodes, that is, from which node to which node, so as to ensure that a directed edge can be generated based on the indicated node connection direction subsequently.
[0105] Then, the execution device creates a plurality of nodes based on the plurality of node creation instructions, and creates a plurality of directed edges based on the plurality of node connection instructions, obtaining the first computational graph. That is to say, the execution device realizes the creation of nodes based on the node creation instructions, and connects the already created nodes based on the node connection instructions, finally obtaining the first computational graph including a plurality of nodes and a plurality of directed edges.
[0106] Among them, this embodiment does not limit the order in which the execution device obtains the plurality of node creation instructions and the plurality of node connection instructions. Generally speaking, as long as the execution device has obtained at least two node creation instructions and realized the creation of at least two nodes, the execution device can obtain the node connection instructions to connect the already created nodes. Generally speaking, the execution device obtains the node creation instructions and the node connection instructions alternately. That is, after the execution device obtains a part of the node creation instructions and creates the corresponding nodes, it can obtain the node connection instructions for this part of the nodes, thereby realizing the connection of this part of the nodes.
[0107] Step 302, based on the data dependency relationship between the nodes in the first computational graph, sequentially execute the plurality of nodes in the first computational graph to obtain an output result, and the output result includes the output data corresponding to the plurality of nodes.
[0108] Since each node is connected by at least one directed edge, and the directed edges between nodes represent the data dependency relationship between nodes (i.e., the data flow direction between nodes), the data dependency relationship between nodes in the first computational graph can determine the execution order of multiple nodes in the first computational graph. In this way, based on the execution order of multiple nodes in the first computational graph, executing multiple nodes in sequence can obtain the output result of the first computational graph. Among them, the output result of the first computational graph may include the output data of each node among multiple nodes. In this way, after obtaining the output result of the first computational graph, by visually presenting the output data of each node behind the nodes of the first computational graph, it is convenient for users to clearly know the operation results after each operation step of the financial data. It should be noted that for the data nodes of the first computational graph, the output data of the data nodes can be the financial data indicated by the data nodes themselves.
[0109] In this embodiment, the process of executing the first node in the first computational graph includes obtaining the financial input data indicated by the first node and using the financial input data as the input data of the nodes connected to the first node.
[0110] Exemplarily, the first node can specifically be used to indicate the type of financial input data (such as types of inventory data, historical price data, historical shipment volume, predicted price, etc.). There is a mapping relationship between the type of financial input data and the target data structure. That is, the first node maps to the target data structure by indicating the type of financial data. In this way, when executing the first node, it can be based on the type of financial input data indicated by the first node and the mapping relationship to call the data indicated by the target data structure as the financial input data. Among them, the target data structure can be, for example, data structures such as tables, queues, or arrays, which are used to store the above-mentioned financial input data. For example, historical price data can be stored in the form of a table, then the table used to store historical price data is the target data structure; by indicating the type of financial input data as historical price data on the first node, it is possible to call the table storing historical price data as the financial input data indicated by the first node based on the mapping relationship between the historical price data type and the target data structure.
[0111] Since the second node indicates a pre-registered algorithm model function, the process of executing the second node includes calling the algorithm model function to process the input data of the second node. For example, the second node can specifically indicate the name of the algorithm model function and the call address of the algorithm model function. In this way, based on the call address indicated by the second node, it can be implemented to call the algorithm model function in the form of an API call, and pass the input data of the second node to the called algorithm model function, and finally obtain the operation result returned by the algorithm model function, and this operation result is used as the output data of the second node.
[0112] Similarly, due to the rule function indicated by the third node, the process of executing the third node includes calling the rule function to perform a rule operation on the input data of the third node. For example, the third node may specifically also indicate the name of the rule function and the call address of the rule function. Based on the call address indicated by the third node, the rule function can be called and the input data of the third node can be passed to the rule function, and finally the operation result returned by the rule function can be obtained.
[0113] Optionally, the first computational graph may further include a fourth node, which is used to indicate a financial indicator reconciliation model. Among them, the financial indicator reconciliation model is a pre-constructed model, which is a model used to perform operations on financial indicators with a reconciliation relationship. For example, a simple financial indicator reconciliation model may be a model for calculating net profit, and the operation logic of the financial indicator reconciliation model is: net profit = total revenue - total cost. In practical applications, various types of financial indicator reconciliation models can be pre-constructed based on specific business scenarios, such as volume-cost-price models, pipeline models, carry-over volume allocation models, and country risk models, etc. This embodiment does not limit the specific implementation manner of the financial indicator reconciliation model.
[0114] Among them, the process of executing the fourth node includes calling the financial indicator reconciliation model to perform a reconciliation operation on multiple input data of the fourth node. For example, when the financial indicator reconciliation model indicated by the fourth node is a model for calculating net profit, the multiple input data of the fourth node include total revenue and total cost. Then, based on the financial indicator reconciliation model, the total revenue can be subtracted from the total cost to obtain the total profit (i.e., the output data of the fourth node).
[0115] Exemplarily, please refer to Figure 4 , Figure 4 which is a schematic diagram of a computational graph provided by an embodiment of the present application. As Figure 4 shown, the computational graph includes multiple nodes and multiple directed edges, and each node is connected to at least one directed edge. Moreover, in the computational graph, the types of nodes are divided into operation nodes and data nodes. Among them, the operation nodes include nodes indicating decision tree models, nodes indicating optimization solution models, nodes indicating time series prediction algorithm models, nodes for solving revenue, nodes for solving cost, and nodes for solving gross production rate.
[0116] Specifically, the node indicating the decision tree model is, for example, the above-mentioned third node, that is, it indicates that the decision tree model indicated by this node is an expert experience model constructed based on expert experience, and the decision tree model is defined in the computational graph in the form of a function. Exemplarily, please refer to Figure 5 , Figure 5 which is a schematic diagram of a decision tree model provided by an embodiment of the present application. As Figure 5As shown, the decision tree model is actually a model pre-constructed by a user (such as a financial expert) to indicate how to determine the goods allocation strategy based on the Days of Supply (DOS) and the customer proportion.
[0117] In addition, please refer to Figure 6 , Figure 6 which is an execution schematic diagram of a decision tree model provided by an embodiment of this application. As Figure 6 shown, the structure presented by the decision tree model at the front end can be to make judgment and processing sequentially from top to bottom according to the user's usage habit, which is more in line with the user's usage habit and convenient for the user to check or adjust the decision tree model. When executing the nodes corresponding to the decision tree model, through the transformation of the middle layer, the backend performs an inversion process on the structure of the decision tree model to make it adapt to the structure of the knowledge representation meta-path. Among them, the knowledge representation meta-path is the smallest unit that expresses the complete semantic logic (computing logic) under the knowledge modeling in the financial field, carrying the smallest logic of input + judgment condition + action + output, and is also the smallest unit for parsing and reasoning through the graph model.
[0118] Please refer to Figure 7 , Figure 7 which is an adjustment schematic diagram of a decision tree model provided by an embodiment of this application. As Figure 7 shown, during the process of constructing the decision tree model, the user can pop up the modification options for each node by clicking on each node in the decision tree model on the display interface. For example, when the user clicks on the "goods allocation strategy" node, the display interface can pop up options such as "add judgment node" and "add output node" to facilitate the user to continue adding judgment nodes or output nodes in the decision tree model. Another example is that when the user clicks on the judgment node of "product stage = ramp-up period", the display interface can pop up options such as "edit node information", "add judgment node", and "add output node"; and when the user clicks on "edit node information", the operation methods that can be edited for this node will further pop up on the display interface. Another example is that when the user clicks on the output node of "do not allocate goods", the display interface can pop up "edit node information" to facilitate the user to modify the operation method indicated by the node.
[0119] In addition, in Figure 4 , the optimization solution model is an algorithm model used to solve optimization problems in statistical learning, and the time series prediction algorithm model is a model used to predict prices in machine learning. Therefore, the nodes indicating the optimization solution model and the nodes indicating the time series prediction algorithm model are, for example, the above-mentioned second nodes, that is, the nodes used to indicate the algorithm model function. Among them, both the optimization solution model and the time series prediction algorithm model are pre-registered as external functions. Therefore, the nodes in the computational graph can actually be the call addresses after the optimization solution model and the time series prediction algorithm model are registered as functions.
[0120] Exemplarily, please refer to Figure 8 , Figure 8 , which is a schematic diagram of a node created for indicating a time series prediction algorithm model provided by an embodiment of the present application. As Figure 8 shown, when creating a node, a node indicating an external function can be created by entering an interface for referencing an external function. Then, by selecting the required external function to be referenced (such as the time series prediction algorithm model in Figure 8 ) on the interface for referencing the external function, and determining the input data of the external function, the creation of the node can be completed.
[0121] In Figure 4 , the solutions for revenue, cost, and gross margin rate are all obtained based on the financial indicator reconciliation model. Therefore, the nodes for solving revenue, the nodes for solving cost, and the nodes for solving gross margin rate are equivalent to the above-mentioned fourth node for indicating the financial indicator reconciliation model. Among them, each financial indicator reconciliation model has pre-defined the operation methods between financial indicators. For example, revenue = business volume * predicted unit price, and cost = business volume * predicted unit cost.
[0122] The computational graph provided by this embodiment has been introduced in detail above in combination with examples. The execution process of the computational graph will be introduced in detail below.
[0123] It can be understood that in practical applications, there may be a large number of nodes in the computational graph, and different nodes may be located on different branches of the computational graph, and there is no data dependency between the nodes on different branches. In this way, in order to improve the execution efficiency of the computational graph, the nodes on different branches without data dependency can actually be executed in parallel, thereby accelerating the execution process of the entire computational graph.
[0124] Exemplarily, in the process of sequentially executing multiple nodes in the first computational graph described in step 302 above, the following process may specifically be included: First, based on the data dependency relationship between the nodes in the first computational graph, a first node queue and a second node queue are arranged. Both the first node queue and the second node queue include multiple sequentially sorted nodes, and there is no data dependency relationship between the nodes included in the first node queue and the second node queue. That is to say, based on the nodes with data dependency relationships on one branch in the first computational graph, a first node queue can be generated, and the sorting result among the multiple nodes in the first node queue is determined based on the data dependency relationship of the nodes on the branch. Based on the nodes with data dependency relationships on another branch in the first computational graph, a second node queue can be generated, and the sorting result among the multiple nodes in the second node queue is determined based on the data dependency relationship of the nodes on that branch. In this way, corresponding node queues can be generated for different branches in the first computational graph that do not have data dependency relationships.
[0125] Then, the first node queue and the second node queue are executed in parallel, where the execution order of the nodes in the first node queue and the second node queue is determined based on the sorting result of the nodes within the node queue. Since there is no data dependency relationship between the first node queue and the second node queue, the first node queue and the second node queue can be executed in parallel. Moreover, when executing any one of the first node queue and the second node queue, the nodes can be sequentially taken out and executed according to the sorting result of the nodes within the node queue, so as to ensure that the execution order of the nodes matches the data dependency relationship between the nodes.
[0126] It should be noted that the above takes the generation and parallel execution of the first node queue and the second node queue as an example to introduce how to parallelly execute the nodes on different branches in the computational graph. In practical applications, for a computational graph, two or more node queues that can be executed in parallel may be generated, and no specific limitation is made here.
[0127] In this solution, by generating multiple node queues that can be executed in parallel based on the data dependency relationship between the nodes in the computational graph, and the node queue includes multiple sequentially sorted nodes, it is possible to parallelly execute the branches in the computational graph that do not have data dependency relationships, thereby improving the execution efficiency of the computational graph.
[0128] Optionally, in some embodiments, for the first computation graph, in addition to being able to schedule the above-mentioned first node queue and second node queue, based on the data dependency relationship between nodes in the first computation graph, a third node queue can also be scheduled. The third node queue includes multiple sequentially sorted nodes. Among them, the third node queue has a data dependency relationship with both the first node queue and the second node queue, that is, the third node queue depends on the outputs of the first node queue and the second node queue.
[0129] In this way, after the execution of the first node queue and the second node queue is completed, the output data of the first node queue and the output data of the second node queue can be used as the input data of the third node queue, and the third node queue is executed.
[0130] It can be understood that multiple branches in the computation graph that do not have a data dependency relationship may converge to the same node, that is, the output data of multiple branches are all used as the input data of the same node. Then, this node and other nodes located after this node can form a convergence branch, and this convergence branch depends on the previous multiple branches.
[0131] It should be noted that the above introduces that after the parallel execution of the first node queue and the second node queue, the third node queue is then serially executed. However, in some possible embodiments, it may also be that after a node, multiple branches are formed. In this case, first, a node queue is executed, and then multiple node queues are executed in parallel. That is, the execution order between node queues is determined based on the specific structure of the computation graph. For branches that do not have a data dependency relationship, node queues for parallel execution can be generated.
[0132] Generally speaking, in this solution, when generating node queues based on the data dependency relationship between nodes in the computation graph, in addition to generating node queues that can be executed in parallel, node queues for serial execution are also generated, so as to ensure that the generated node queues can conform to the computation logic of the computation graph, ensure that the execution of the entire computation graph can be achieved by executing the node queues, and effectively improve the execution efficiency of the computation graph.
[0133] Exemplarily, please refer to Figure 9 , Figure 9 which is a schematic diagram of generating a node queue based on a computation graph provided by an embodiment of the present application. As Figure 9As shown in the figure, the computational graph includes a total of 9 nodes. Among them, node 1 and node 2 are connected to node 3, node 3 is connected to node 4, node 5 is connected to node 6, node 6 is connected to node 7, node 4 and node 7 are connected to node 8, and node 8 is connected to node 9. Based on the connection relationships (i.e., data dependency relationships) between the nodes in the computational graph, a first node queue, a second node queue, and a third node queue can be generated. The first node queue includes nodes 1, 2, 3, and 4 sorted in sequence; the second node queue includes nodes 5, 6, and 7 sorted in sequence; the third node queue includes nodes 8 and 9 sorted in sequence. Moreover, the first node queue and the second node queue are executed in parallel, while the third node queue is executed after the first node queue and the second node queue are completed.
[0134] The above introduced the process of constructing a computational graph and executing the computational graph to implement financial data processing. In some scenarios, users may need to adjust the operation methods or financial data in the computational graph and perform inference and trial calculations based on the adjusted computational graph to determine the impact of the adjusted operation methods or financial data on the financial data processing process, thereby realizing various business development situations in the deduced business scenarios.
[0135] Based on this, this embodiment also provides a correlation analysis method before and after computational graph adjustment, which can analyze the affected nodes before and after computational graph adjustment and present the specific change situations of the affected nodes, so as to facilitate users to quickly learn about the impact of computational graph adjustment on the overall financial data processing process.
[0136] Exemplarily, please refer to Figure 10 , Figure 10 which is another process schematic diagram of a financial data processing method provided by an embodiment of this application. As Figure 10 shown, on the basis of the embodiment shown in Figure 3 , the following steps 303 - 306 may further be included.
[0137] Step 303, obtain a second computational graph, where the second computational graph is obtained by adjusting some nodes in the first computational graph.
[0138] In this embodiment, the second computational graph is obtained by adjusting some nodes in the first computational graph on the basis of the first computational graph. Optionally, the partial nodes for which the adjustment is performed include any one or more of the following nodes: nodes for indicating financial input data, nodes for indicating algorithm model functions, or nodes for indicating rule functions. That is, by adjusting the financial input data or algorithm model functions and rule functions and other operation methods in the first computational graph, the second computational graph can be obtained.
[0139] For example, the financial input data may change over different time periods, so the nodes indicating the financial input data can be adjusted. Exemplarily, taking the Figure 4 computation graph shown as an example, when it is necessary to determine the wool production rate based on the computation graph every week, since the weekly price history and the predicted number of sales orders may change, the nodes indicating the price history and the predicted number of sales orders can be adjusted to obtain a new computation graph.
[0140] Again, for the same type of financial data, during the process of constructing the computation graph, the user may want to compare the impacts of different operation methods on the final processing flow, so the nodes indicating operation methods such as the algorithm model function and the rule function can be adjusted. Exemplarily, taking the Figure 4 computation graph shown as an example, when the user registers multiple different time series prediction algorithm models as external functions, the user may want to compare the impacts of different time series prediction algorithm models on the entire data processing flow, so the nodes indicating the time series prediction algorithm models can be adjusted to obtain a new computation graph.
[0141] Step 304: Based on the positions of the nodes where adjustments are made in the second computation graph, determine the target nodes in the second computation graph where the output data will change relative to the first computation graph.
[0142] Since each node in the second computation graph is connected by a directed edge, based on the positions of the nodes where adjustments are made in the second computation graph and the connection relationships between the various nodes in the second computation graph, the target nodes in the second computation graph where the output data will change relative to the first computation graph can be determined. Among them, the target nodes include the nodes where adjustments are made and the nodes that can be reached by the directed edges from the nodes where adjustments are made.
[0143] Step 305: Based on the data dependency relationships between the nodes in the second computation graph, sequentially execute the multiple nodes in the second computation graph.
[0144] Among them, the process of executing the second computation graph is similar to the process of executing the first computation graph. Specifically, reference can be made to the above-mentioned step 302, which will not be elaborated here.
[0145] Step 306: Based on the execution results of the first computation graph and the execution results of the second computation graph, display the change situation of the output data of the target nodes.
[0146] Since the nodes whose output data is affected are target nodes, after the second computational graph is executed, the change situation of the output data of the target nodes can be obtained and displayed by comparing the execution results of the second computational graph and the execution results of the first computational graph (i.e., the output data of each node). Among them, the change situation of the output data of the target nodes can refer to information such as the values of the output data before and after the change, the percentage change of the output data, and the magnitude of the change in the output data, which is not specifically limited here.
[0147] Exemplarily, please refer to Figure 11 , Figure 11 which is a schematic diagram showing an adjusted computational graph provided by an embodiment of the present application. As Figure 11 shown, Figure 11 the computational graph shown is obtained by adjusting the node indicating the predicted number of sales orders on the basis of the computational graph shown in Figure 4 . After the adjustment of the computational graph is executed, based on the data dependency relationship between the nodes in the computational graph, it can be determined that the nodes whose output data is affected include the node indicating the optimization solution model, the node indicating the shipment volume, the node indicating the revenue solution method, the node indicating the revenue, the node indicating the gross production rate, and the node indicating the gross production rate. That is, the above-mentioned target nodes can include, for example, Figure 11 the adjusted nodes and the affected nodes shown.
[0148] In addition, for the node indicating the predicted number of sales orders, the predicted number of sales orders indicated by this node is reduced. In this way, after executing the computational graph shown in Figure 4 and the computational graph shown in Figure 11 , based on the execution results of the two computational graphs, the change situation of the output data of the affected nodes can be displayed in the computational graph shown in Figure 11 . As Figure 11 shown, the output data (i.e., the shipment volume) of the node indicating the shipment volume in the computational graph is reduced, the output data (i.e., the revenue) of the node indicating the revenue is reduced, and the output data (i.e., the gross production rate) of the node indicating the gross production rate is reduced. And, for the final output data (i.e., the gross production rate) of the computational graph, the change ratio situation after the adjustment of the computational graph compared with before the adjustment can be displayed, that is, the gross production rate decreases by 30%, so as to intuitively display the influence situation of the adjustment of the predicted number of sales orders on the entire data processing process.
[0149] The method provided by the embodiment of the present application has been introduced in detail above. Next, the device for executing the above method provided by the embodiment of the present application will be introduced.
[0150] Please refer to Figure 12 , Figure 12 which is a schematic structural diagram of a financial data processing device provided by an embodiment of the present application. As Figure 11As shown in the figure, the financial data processing device provided by the embodiment of the present application includes: an acquisition module 1201, configured to acquire a first computational graph, the first computational graph includes a plurality of nodes and a plurality of directed edges, the plurality of nodes are connected by the plurality of directed edges, the plurality of directed edges are used to represent the data dependency relationship between nodes, the plurality of nodes include a first node, a second node, and a third node, the first node is used to indicate financial input data, the second node is used to indicate a pre-registered algorithm model function, and the third node is used to indicate a rule function constructed based on the operation rules of financial data; a processing module 1202, configured to sequentially execute the plurality of nodes in the first computational graph based on the data dependency relationship between the nodes in the first computational graph to obtain an output result, the output result includes output data corresponding to the plurality of nodes; wherein, the process of executing the first node includes acquiring financial input data and using the financial input data as the input data of the node connected by the first node, the process of executing the second node includes calling the algorithm model function to process the input data of the second node, and the process of executing the third node includes calling the rule function to perform rule operations on the input data of the third node.
[0151] In a possible implementation manner, the algorithm model function is obtained by registering a target algorithm model as an external function, and the target algorithm model includes a statistical learning algorithm model and / or a machine learning algorithm model.
[0152] In a possible implementation manner, the rule function is obtained based on a pre-constructed expert experience model, and the expert experience model is used to indicate a plurality of operations sequentially performed on the input data.
[0153] In a possible implementation manner, the acquisition module 1201 is further configured to acquire a second computational graph, the second computational graph is obtained by adjusting some nodes in the first computational graph; the processing module 1202 is further configured to determine, based on the position of the node where the adjustment is performed in the second computational graph, a target node in the second computational graph where the output data will change relative to the first computational graph; the processing module 1202 is further configured to sequentially execute the plurality of nodes in the second computational graph based on the data dependency relationship between the nodes in the second computational graph; the processing module 1202 is further configured to display the change situation of the output data of the target node based on the execution result of the first computational graph and the execution result of the second computational graph.
[0154] In a possible implementation manner, the partial nodes include any one or more of the following nodes: a node for indicating financial input data, a node for indicating an algorithm model function, or a node for indicating a rule function.
[0155] In a possible implementation, the processing module 1202 is further configured to: arrange a first node queue and a second node queue based on the data dependency relationships between the nodes in the first computation graph. Both the first node queue and the second node queue include multiple nodes sorted in sequence, and there is no data dependency relationship between the nodes included in the first node queue and the second node queue; execute the first node queue and the second node queue in parallel, where the execution order of the nodes in the first node queue and the second node queue is determined based on the sorting result of the nodes within the node queue.
[0156] In a possible implementation, the processing module 1202 is further configured to: arrange a third node queue based on the data dependency relationships between the nodes in the first computation graph. The third node queue includes multiple nodes sorted in sequence; use the output data of the first node queue and the output data of the second node queue as the input data of the third node queue, and execute the third node queue.
[0157] In a possible implementation, the obtaining module 1201 is further configured to obtain a plurality of node creation instructions and a plurality of node connection instructions. The plurality of node creation instructions are all used to indicate the creation of nodes in the first computation graph, and the plurality of node connection instructions are all used to indicate the connection of the created nodes; the processing module 1202 is further configured to create a plurality of nodes based on the plurality of node creation instructions, and create a plurality of directed edges based on the plurality of node connection instructions to obtain the first computation graph.
[0158] In a possible implementation, the first node is specifically configured to indicate the type of financial input data, and there is a mapping relationship between the type of financial input data and the target data structure; the obtaining module 1201 is further configured to call the data indicated by the target data structure as the financial input data based on the type of financial input data indicated by the first node and the mapping relationship.
[0159] In a possible implementation, the first computation graph further includes a fourth node, and the fourth node is used to indicate a financial indicator reconciliation model; wherein, the process of executing the fourth node includes calling the financial indicator reconciliation model to perform a reconciliation operation on multiple input data of the fourth node.
[0160] Please refer to Figure 13 , Figure 13 FIG. 19 is a schematic structural diagram of an execution device provided by an embodiment of the present application. The execution device 1300 may specifically be embodied as a server, a personal computer, a laptop computer, etc., which is not limited herein. Specifically, the execution device 1300 includes: a receiver 1301, a transmitter 1302, a processor 1303, and a memory 1304 (where the number of processors 1303 in the execution device 1300 may be one or more, Figure 13Take a processor as an example). In some embodiments of the present application, the receiver 1301, the transmitter 1302, the processor 1303, and the memory 1304 may be connected by a bus or other means.
[0161] The memory 1304 may include a read-only memory and a random access memory, and provide instructions and data to the processor 1303. A part of the memory 1304 may further include a non-volatile random access memory (NVRAM). The memory 1304 stores processor and operation instructions, executable modules, or data structures, or subsets thereof, or extended sets thereof, where the operation instructions may include various operation instructions for implementing various operations.
[0162] The processor 1303 controls the operation of the execution device. In a specific application, the various components of the execution device are coupled together through a bus system, where the bus system may include a power bus, a control bus, a status signal bus, etc. in addition to the data bus. However, for the sake of clarity, all kinds of buses are referred to as the bus system in the figure.
[0163] The method disclosed in the embodiments of the present application described above may be applied to the processor 1303 or implemented by the processor 1303. The processor 1303 may be an integrated circuit chip with signal processing capabilities. In the implementation process, the steps of the above method may be completed by the integrated logic circuit in hardware or instructions in software form in the processor 1303. The above-mentioned processor 1303 may be a general-purpose processor, a digital signal processor (DSP), a microprocessor, or a microcontroller, and may further include an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.
[0164] The processor 1303 may implement or execute the various methods, steps, and logic block diagrams disclosed in the embodiments of the present application. The general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc. The steps of the method disclosed in combination with the embodiments of the present application may be directly embodied as being executed and completed by a hardware decoding processor, or may be executed and completed by a combination of hardware and software modules in the decoding processor. The software module may be located in a mature storage medium in the art such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, or an electrically erasable programmable memory, a register, etc. This storage medium is located in the memory 1304, and the processor 1303 reads the information in the memory 1304 and combines its hardware to complete the steps of the above method.
[0165] The receiver 1301 may be used to receive input digital or character information, and generate signal inputs related to the relevant settings and function controls of the execution device. The transmitter 1302 may be used to output digital or character information through the first interface; the transmitter 1302 may also be used to send instructions to the disk group through the first interface to modify the data in the disk group; the transmitter 1302 may also include a display device such as a display screen.
[0166] The execution device provided in the embodiments of the present application may specifically be a chip, and the chip includes: a processing unit and a communication unit. The processing unit may be, for example, a processor, and the communication unit may be, for example, an input / output interface, a pin, or a circuit, etc. The processing unit may execute the computer execution instructions stored in the storage unit, so that the chip in the execution device executes the method described in the above embodiments. Optionally, the storage unit is a storage unit inside the chip, such as a register, a cache, etc. The storage unit may also be a storage unit outside the chip in the wireless access device, such as a read-only memory (ROM) or other types of static storage devices that can store static information and instructions, a random access memory (RAM), etc.
[0167] Specifically, please refer to Figure 14 , Figure 14 which is a schematic structural diagram of a chip provided in the embodiments of the present application. The chip may be represented as a neural network processor NPU 1400. The NPU 1400 is mounted on the main CPU (Host CPU) as a coprocessor, and tasks are assigned by the Host CPU. The core part of the NPU is the arithmetic circuit 1403, and the controller 1404 controls the arithmetic circuit 1403 to extract matrix data from the memory and perform multiplication operations.
[0168] In some implementations, the arithmetic circuit 1403 internally includes multiple processing units (Process Engines, PEs). In some implementations, the arithmetic circuit 1403 is a two-dimensional systolic array. The arithmetic circuit 1403 can also be a one-dimensional systolic array or other electronic circuitry capable of performing mathematical operations such as multiplication and addition. In some implementations, the arithmetic circuit 1403 is a general matrix processor.
[0169] For example, assume there is an input matrix A, a weight matrix B, and an output matrix C. The arithmetic circuit fetches the corresponding data of matrix B from the weight memory 1402 and caches it on each PE in the arithmetic circuit. The arithmetic circuit fetches the data of matrix A from the input memory 1401 and performs matrix operations with matrix B, and the partial results or final results of the obtained matrix are stored in the accumulator 1408.
[0170] The unified memory 1406 is used to store input data and output data. The weight data is directly transported through the Direct Memory Access Controller (DMAC) 1405, and the DMAC transports it to the weight memory 1402. The input data is also transported to the unified memory 1406 through the DMAC.
[0171] The BIU is the Bus Interface Unit, that is, the bus interface unit 1410, which is used for the interaction between the AXI bus and the DMAC and the Instruction Fetch Buffer (IFB) 1409.
[0172] The bus interface unit 1410 (Bus Interface Unit, BIU) is used for the instruction fetch memory 1409 to obtain instructions from an external memory, and is also used for the storage unit access controller 1405 to obtain the original data of the input matrix A or the weight matrix B from the external memory.
[0173] The DMAC is mainly used to transport the input data in the external memory DDR to the unified memory 1406, or transport the weight data to the weight memory 1402, or transport the input data to the input memory 1401.
[0174] The vector calculation unit 1407 includes multiple arithmetic processing units, and when needed, further processes the output of the arithmetic circuit 1403, such as vector multiplication, vector addition, exponential operation, logarithmic operation, magnitude comparison, etc. It is mainly used for network calculations in non-convolution / full connection layers of neural networks, such as Batch Normalization, pixel-level summation, upsampling of feature planes, etc.
[0175] In some implementations, the vector computing unit 1407 can store the processed output vectors into the unified memory 1406. For example, the vector computing unit 1407 can apply a linear function; or, a non-linear function to the output of the arithmetic circuit 1403, such as performing linear interpolation on the feature planes extracted by the convolutional layer, or, for another example, vectors of accumulated values, to generate activation values. In some implementations, the vector computing unit 1407 generates normalized values, pixel-level summation values, or both. In some implementations, the processed output vectors can be used as activation inputs to the arithmetic circuit 1403, such as for use in subsequent layers in a neural network.
[0176] The instruction fetch buffer 1409 connected to the controller 1404 is used to store the instructions used by the controller 1404;
[0177] The unified memory 1406, the input memory 1401, the weight memory 1402, and the instruction fetch memory 1409 are all On-Chip memories. The external memory is private to the NPU hardware architecture.
[0178] Wherein, the processor mentioned anywhere above can be a general-purpose central processing unit, a microprocessor, an ASIC, or one or more integrated circuits for controlling the execution of the above programs.
[0179] Reference can be made to Figure 15 , Figure 15 which is a schematic structural diagram of a computer-readable storage medium provided by an embodiment of the present application. The present application also provides a computer-readable storage medium. In some embodiments, the methods disclosed in the above embodiments can be implemented as computer program instructions encoded in a machine-readable format on a computer-readable storage medium or encoded on other non-transitory media or articles.
[0180] Figure 15 Schematically shown is a conceptual partial view of an example computer-readable storage medium arranged according to at least some of the embodiments shown here. The example computer-readable storage medium includes a computer program for executing a computer process on a computing device.
[0181] In one embodiment, the computer-readable storage medium 1500 is provided using a signal-bearing medium 1501. The signal-bearing medium 1501 can include one or more program instructions 1502, which when run by one or more processors can provide the functions or partial functions described in the above embodiments.
[0182] In some examples, the signal-bearing medium 1501 may include a computer-readable medium 1503, such as but not limited to, a hard disk drive, a compact disc (CD), a digital video disc (DVD), a digital tape, a memory, a ROM, or a RAM, and so on.
[0183] In some embodiments, the signal-bearing medium 1501 may include a computer-recordable medium 1504, such as but not limited to, a memory, a read / write (R / W) CD, an R / W DVD, and so on. In some embodiments, the signal-bearing medium 1501 may include a communication medium 1505, such as but not limited to, a digital and / or an analog communication medium (e.g., an optical fiber cable, a waveguide, a wired communication link, a wireless communication link, and so on). Thus, for example, the signal-bearing medium 1501 may be conveyed by a wireless form of the communication medium 1505 (e.g., a wireless communication medium compliant with the IEEE 802.X standard or other transmission protocols).
[0184] One or more program instructions 1502 may be, for example, computer-executable instructions or logic-implemented instructions. In some examples, a computing device of the computing device may be configured to provide various operations, functions, or actions in response to the program instructions 1502 communicated to the computing device through one or more of the computer-readable medium 1503, the computer-recordable medium 1504, and / or the communication medium 1505.
[0185] In addition, it should be noted that the device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed to multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of this embodiment. In addition, in the accompanying drawings of the device embodiments provided in this application, the connection relationship between the modules indicates that there is a communication connection between them, which can be specifically implemented as one or more communication buses or signal lines.
[0186] Through the description of the above embodiments, those skilled in the art can clearly understand that the present application can be implemented by means of software plus necessary general hardware. Of course, it can also be implemented by dedicated hardware including application-specific integrated circuits, dedicated CPUs, dedicated memories, dedicated components, etc. Generally, functions completed by computer programs can be easily implemented by corresponding hardware, and the specific hardware structures for implementing the same function can also be various, such as analog circuits, digital circuits, or dedicated circuits. However, for the present application, in more cases, software program implementation is a better implementation manner. Based on such an understanding, the technical solution of the present application, in essence, or the part that makes a contribution to the prior art, can be embodied in the form of a software product. This computer software product is stored in a readable storage medium, such as a floppy disk, USB flash drive, mobile hard disk, ROM, RAM, magnetic disk, or optical disc of a computer, and includes several instructions for causing a computer device (which can be a personal computer, a training device, or a network device, etc.) to execute the methods of various embodiments of the present application.
[0187] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product.
[0188] The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the processes or functions according to the embodiments of the present application are generated in whole or in part. The computer can be a general computer, a dedicated computer, a computer network, or other programmable devices. The computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from a website, a computer, a training device, or a data center to another website, a computer, a training device, or a data center by wire (such as coaxial cable, optical fiber, digital subscriber line) or wirelessly (such as infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that a computer can store or a data storage device such as a training device or a data center that includes one or more integrated available media. The available medium can be a magnetic medium (such as a floppy disk, a hard disk, a magnetic tape), an optical medium (such as a DVD), or a semiconductor medium (such as a solid state disk (SSD)), etc.
Claims
1. A financial data processing method, characterized in that, Including: Obtain a first computational graph, where the first computational graph includes a plurality of nodes and a plurality of directed edges. The plurality of nodes are connected by the plurality of directed edges, and the plurality of directed edges are used to represent the data dependency relationships between the nodes. The plurality of nodes include a first node, a second node, and a third node. The first node is used to indicate financial input data, the second node is used to indicate a pre-registered algorithm model function, and the third node is used to indicate a rule function constructed based on the operation rules of financial data; Based on the data dependency relationships between the nodes in the first computational graph, sequentially execute the plurality of nodes in the first computational graph to obtain an output result, where the output result includes the output data corresponding to the plurality of nodes; Among them, the process of executing the first node includes obtaining the financial input data and using the financial input data as the input data of the nodes connected to the first node. The process of executing the second node includes calling the algorithm model function to process the input data of the second node. The process of executing the third node includes calling the rule function to perform rule operations on the input data of the third node.
2. The method according to claim 1, characterized in that, The algorithm model function is obtained by registering a target algorithm model as an external function, and the target algorithm model includes a statistical learning algorithm model and / or a machine learning algorithm model.
3. The method according to claim 1 or 2, characterized in that, The rule function is obtained based on a pre-constructed expert experience model, and the expert experience model is used to indicate a plurality of operations sequentially performed on the input data.
4. The method according to any one of claims 1-3, characterized in that, The method further includes: Obtain a second computational graph, where the second computational graph is obtained by adjusting some of the nodes in the first computational graph; Based on the positions of the nodes in the second computational graph where adjustments are made, determine target nodes in the second computational graph for which the output data will change relative to the first computational graph; Based on the data dependency relationships between the nodes in the second computational graph, sequentially execute the plurality of nodes in the second computational graph; Based on the execution result of the first computational graph and the execution result of the second computational graph, display the change situation of the output data of the target nodes.
5. The method according to claim 4, characterized in that, The some of the nodes include any one or more of the following nodes: a node for indicating financial input data, a node for indicating an algorithm model function, or a node for indicating a rule function.
6. The method according to any one of claims 1-5, characterized in that, The sequentially executing the plurality of nodes in the first computational graph based on the data dependency relationships between the nodes in the first computational graph includes: Based on the data dependency relationships between the nodes in the first computational graph, arrange to obtain a first node queue and a second node queue. Both the first node queue and the second node queue include a plurality of sequentially sorted nodes, and there is no data dependency relationship between the nodes included in the first node queue and the second node queue; Parallelly execute the first node queue and the second node queue, where the execution order of the nodes in the first node queue and the second node queue is determined based on the sorting result of the nodes in the node queue.
7. The method according to claim 6, characterized in that, The sequentially executing the plurality of nodes in the first computational graph based on the data dependency relationships between the nodes in the first computational graph further includes: Based on the data dependency relationships among the nodes in the first computational graph, a third node queue is arranged, and the third node queue includes multiple nodes sorted in sequence; Use the output data of the first node queue and the output data of the second node queue as the input data of the third node queue, and execute the third node queue.
8. The method according to any one of claims 1-7, characterized in that, The obtaining of the first computational graph includes: Obtain a plurality of node creation instructions and a plurality of node connection instructions. The plurality of node creation instructions are all used to indicate the creation of the nodes in the first computational graph, and the plurality of node connection instructions are all used to indicate the connection of the created nodes; Create the plurality of nodes based on the plurality of node creation instructions, and create the plurality of directed edges based on the plurality of node connection instructions to obtain the first computational graph.
9. The method according to any one of claims 1-8, characterized in that, The first node is specifically used to indicate the type of the financial input data, and there is a mapping relationship between the type of the financial input data and the target data structure; The obtaining of the financial input data includes: Based on the type of the financial input data indicated by the first node and the mapping relationship, call the data indicated by the target data structure as the financial input data.
10. The method according to any one of claims 1-9, characterized in that, The first computational graph further includes a fourth node, and the fourth node is used to indicate a financial indicator reconciliation model; Among them, the process of executing the fourth node includes calling the financial indicator reconciliation model to perform a reconciliation operation on the multiple input data of the fourth node.
11. A financial data processing device, characterized in that, Includes: An acquisition module, configured to acquire a first computational graph, where the first computational graph includes multiple nodes and multiple directed edges, the multiple nodes are connected by the multiple directed edges, the multiple directed edges are used to represent the data dependency relationships among the nodes, the multiple nodes include a first node, a second node, and a third node, the first node is used to indicate financial input data, the second node is used to indicate a pre-registered algorithm model function, and the third node is used to indicate a rule function constructed based on the operation rules of financial data; A processing module, configured to sequentially execute the multiple nodes in the first computational graph based on the data dependency relationships among the nodes in the first computational graph to obtain an output result, where the output result includes the output data corresponding to the multiple nodes; Among them, the process of executing the first node includes obtaining the financial input data and using the financial input data as the input data of the nodes connected to the first node, the process of executing the second node includes calling the algorithm model function to process the input data of the second node, and the process of executing the third node includes calling the rule function to perform a rule operation on the input data of the third node.
12. The device according to claim 11, wherein, The algorithm model function is obtained by registering a target algorithm model as an external function, and the target algorithm model includes a statistical learning algorithm model and / or a machine learning algorithm model.
13. The device according to claim 11 or 12, wherein, The rule function is obtained based on a pre-constructed expert experience model, and the expert experience model is used to indicate multiple operations sequentially performed on the input data.
14. The device according to any one of claims 11 - 13, wherein, The obtaining module is further configured to obtain a second computational graph, which is obtained by adjusting some nodes in the first computational graph; The processing module is further configured to determine, based on the positions of the nodes in the second computational graph where the adjustment is performed, target nodes in the second computational graph for which the output data will change relative to the first computational graph; The processing module is further configured to sequentially execute multiple nodes in the second computational graph based on the data dependency relationships between the nodes in the second computational graph; The processing module is further configured to display the change situation of the output data of the target nodes based on the execution result of the first computational graph and the execution result of the second computational graph.
15. The device according to claim 14, wherein, The some nodes include any one or more of the following nodes: a node for indicating financial input data, a node for indicating an algorithm model function, or a node for indicating a rule function.
16. The device according to any one of claims 11 - 15, wherein, The processing module is further configured to: Based on the data dependency relationships between the nodes in the first computational graph, arrange to obtain a first node queue and a second node queue. Both the first node queue and the second node queue include multiple nodes sorted in sequence, and there is no data dependency relationship between the nodes included in the first node queue and the second node queue; Execute the first node queue and the second node queue in parallel, where the execution order of the nodes in the first node queue and the second node queue is determined based on the sorting result of the nodes within the node queue.
17. The device according to claim 16, wherein, The processing module is further configured to: Based on the data dependency relationships between the nodes in the first computational graph, arrange to obtain a third node queue, and the third node queue includes multiple nodes sorted in sequence; Use the output data of the first node queue and the output data of the second node queue as the input data of the third node queue, and execute the third node queue.
18. The device according to any one of claims 11 - 17, wherein, The obtaining module is further configured to obtain multiple node creation instructions and multiple node connection instructions. The multiple node creation instructions are all used to indicate the creation of nodes in the first computational graph, and the multiple node connection instructions are all used to indicate the connection of the created nodes; The processing module is further configured to create the multiple nodes based on the multiple node creation instructions and create the multiple directed edges based on the multiple node connection instructions to obtain the first computational graph.
19. The device according to any one of claims 11 - 18, wherein, The first node is specifically configured to indicate the type of the financial input data, and there is a mapping relationship between the type of the financial input data and the target data structure; The obtaining module is further configured to call, based on the type of the financial input data indicated by the first node and the mapping relationship, the data indicated by the target data structure as the financial input data.
20. The device according to any one of claims 11 - 19, wherein, The first computational graph further includes a fourth node, and the fourth node is used to indicate a financial indicator reconciliation model; Among them, the process of executing the fourth node includes calling the financial indicator reconciliation model to perform a reconciliation operation on multiple input data of the fourth node.
21. A financial data processing device, wherein, Comprising a memory and a processor; the memory stores code, and the processor is configured to execute the code. When the code is executed, the device performs the method according to any one of claims 1 to 10.
22. A computer storage medium, wherein, The computer storage medium stores instructions that, when executed by a computer, cause the computer to implement the method according to any one of claims 1 to 10.
Citation Information
Patent Citations
Engineering predictive analysis method
CN115422402A
Financial data management method and device, equipment, storage medium and program product
CN115829484A
Financial model index articulation relation visualization method and device and computer equipment
CN116701523A
Counterfactual e-net learning for contextual enhanced earnings call analysis
US20220358594A1
Cited By
Financial data processing method and related apparatus
EP4811262A1
Financial data processing method and related apparatus
WO2025123784A1