Foreign exchange transaction processing method, device and equipment, storage medium and program product
By comparing the attribute values of foreign exchange transactions with the trading conditions of the trading channels, selecting suitable trading channels for processing, solving the problems of high operating costs and low efficiency in the existing technology, and achieving more flexible and efficient foreign exchange transaction processing.
Patent Information
- Application Number
- CN202310954047.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-07-31
- Publication Date
- 2025-02-18
AI Technical Summary
Existing foreign exchange trading technology requires additional service fees and requires frequent communication and coordination when trading channels change, resulting in high operating costs and inefficiency.
By obtaining the transaction attribute configuration information of multiple trading channels, comparing the attribute values of the target foreign exchange transactions with the transaction conditions of the trading channel, and selecting the target trading channel that meets the conditions for transaction processing.
It reduces the operating costs of foreign exchange transactions, increases the flexibility of adjusting trading channels, and improves the processing efficiency of foreign exchange transactions.
Smart Images

Figure CN119477306A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of information processing technology, and in particular to a foreign exchange transaction processing method, device, equipment, storage medium and program product. Background Art
[0002] Foreign exchange trading is the simultaneous purchase of one currency in a currency pair and the sale of another currency. In related technologies, foreign exchange trading is to place a foreign exchange transaction order to a third-party channel service provider, who will route the transaction channel. However, this not only requires additional service fees, but also requires communication and coordination on changes and maintenance of the transaction channel, resulting in high operating costs and low efficiency of foreign exchange trading. Summary of the invention
[0003] The embodiments of the present application provide a foreign exchange transaction processing method, device, electronic device, computer-readable storage medium and computer program product, which can reduce the operating costs of foreign exchange transactions, increase the flexibility of adjusting transaction channels, and improve the processing efficiency of foreign exchange transactions.
[0004] The technical solution of the embodiment of the present application is implemented as follows:
[0005] The present application provides a foreign exchange transaction processing method, including:
[0006] Acquiring transaction attribute configuration information of each of the transaction channels in the plurality of transaction channels, the transaction attribute configuration information comprising: transaction conditions configured on each of the transaction attributes in at least one transaction attribute for the transaction channel;
[0007] Obtaining the attribute value of each transaction attribute corresponding to the target foreign exchange transaction;
[0008] For each of the transaction channels, the attribute values of the transaction attributes of the target foreign exchange transaction are compared with the transaction conditions of the corresponding transaction attributes of the transaction channel to obtain a comparison result;
[0009] Based on the comparison results of each of the transaction channels, a target transaction channel is selected from the multiple transaction channels, and the comparison results of the target transaction channel are used to characterize the attribute values of each of the transaction attributes of the target foreign exchange transaction, and the transaction conditions of the corresponding transaction attributes of the target transaction channel are satisfied;
[0010] The target foreign exchange transaction is processed through the target transaction channel.
[0011] The embodiment of the present application also provides a foreign exchange transaction processing device, including:
[0012] A first acquisition module is used to acquire transaction attribute configuration information of each of the transaction channels in a plurality of transaction channels, wherein the transaction attribute configuration information includes: transaction conditions configured on each of the transaction attributes in at least one transaction attribute for the transaction channel;
[0013] A second acquisition module is used to acquire the attribute value of each transaction attribute corresponding to the target foreign exchange transaction;
[0014] A comparison module, for comparing the attribute values of the transaction attributes of the target foreign exchange transaction with the transaction conditions of the corresponding transaction attributes of the transaction channel for each transaction channel, to obtain a comparison result;
[0015] A channel selection module, for selecting a target transaction channel from the plurality of transaction channels based on the comparison results of the transaction channels, wherein the comparison results of the target transaction channel are used to characterize the attribute values of the transaction attributes of the target foreign exchange transaction, and the transaction conditions satisfying the corresponding transaction attributes of the target transaction channel;
[0016] The transaction processing module is used to perform transaction processing on the target foreign exchange transaction through the target transaction channel.
[0017] In the above scheme, the first acquisition module is also used to obtain the data structure of the transaction attribute configuration information, the data structure includes at least one field, and the field and the transaction attribute are in a one-to-one correspondence; for each of the transaction channels, the following processing is performed respectively: obtaining the transaction conditions of the transaction channel on each of the transaction attributes; filling the transaction conditions on each of the transaction attributes into the fields corresponding to each of the transaction attributes, and obtaining the transaction attribute configuration information of the transaction channel.
[0018] In the above scheme, the second acquisition module is also used to obtain the foreign exchange order information of the target foreign exchange transaction; parse the foreign exchange order information to obtain the field value of the field corresponding to each of the transaction attributes in the foreign exchange order information; and use the field value of the field corresponding to each of the transaction attributes as the attribute value corresponding to each of the transaction attributes.
[0019] In the above scheme, there are multiple target transaction channels; the transaction processing module is also used to obtain priority configuration information of the multiple transaction channels, and the priority configuration information includes: the channel priority configured for each of the transaction channels; determining the channel priority of each of the target transaction channels from the priority configuration information; determining the first transaction channel with the highest channel priority from the multiple target transaction channels; and processing the target foreign exchange transaction through the first transaction channel.
[0020] In the above scheme, the target foreign exchange transaction is used to trade a target currency pair, and the target currency pair includes a first currency and a second currency; the transaction processing module is also used to obtain transaction data of historical foreign exchange transactions used to trade the target currency pair, and obtain the channel transaction exchange rate of each transaction channel from the transaction data; obtain the market fair exchange rate for trading the target currency pair, and determine the difference between the channel transaction exchange rate of each transaction channel and the market fair exchange rate as the basic price difference; based on the basic price difference of each transaction channel, determine the channel priority of each transaction channel, the basic price difference and the channel priority are inversely proportional, and the channel priority of each transaction channel constitutes the priority configuration information.
[0021] In the above scheme, the transaction processing module is also used to detect the last update time point of the priority configuration information and obtain the update cycle duration of the priority configuration information; when it is determined that the update time point has arrived based on the last update time point and the update cycle duration, the priority configuration information is updated to obtain the target priority configuration information; the transaction processing module is also used to obtain the target priority configuration information.
[0022] In the above scheme, the target foreign exchange transaction is used to trade a target currency pair, and the target currency pair includes a first currency and a second currency; the transaction processing module is also used to obtain the channel transaction exchange rate of each transaction channel for trading the target currency pair, and the market fair exchange rate for trading the target currency pair; for each transaction channel, the following processing is performed respectively: the difference between the channel transaction exchange rate of the transaction channel and the market fair exchange rate is determined as the basic spread, and the average spread of the transaction channel in the target historical time period is determined; when the average spread exceeds the spread threshold, the basic spread is updated based on the average spread to obtain a target basic spread; when the average spread does not exceed the spread threshold, the basic spread is used as the target basic spread; based on the target basic spread of each transaction channel, the update channel priority of each transaction channel is determined, and the update channel priority of each transaction channel constitutes the target priority configuration information.
[0023] In the above scheme, the transaction processing module is also used to determine the average price difference of each time period of the transaction channel in at least two target historical time periods, and the duration of each target historical time period is different; the transaction processing module is also used to determine that the average price difference exceeds the price difference threshold when there is at least one target historical time period with an average price difference that exceeds the price difference threshold; the transaction processing module is also used to use the average of the average price differences of each time period in the at least two target historical time periods as the target basic price difference.
[0024] In the above scheme, for trading channels whose channel priority is not the first, the transaction processing module is also used to determine a target trading channel whose channel priority is one place before the trading channel when the average price spread does not exceed the price spread threshold; when the average price spread is not lower than the basic price spread of the target trading channel, use the basic price spread as the target basic price spread; the transaction processing module is also used to update the basic price spread based on the average price spread to obtain a target basic price spread when the average price spread is lower than the basic price spread of the target trading channel.
[0025] In the above scheme, the transaction processing module is also used to display an update prompt control when the average price spread exceeds the price spread threshold, and the update prompt control is used to prompt confirmation whether to update the basic price spread and the priority configuration information; when a confirmation update instruction is received based on the update prompt control, the basic price spread is updated based on the average price spread to obtain the target basic price spread.
[0026] In the above scheme, the comparison module is also used to perform at least one of the following operations when the comparison results of each of the transaction channels represent the attribute values of each of the transaction attributes of the target foreign exchange transaction and fail to meet the transaction conditions of the corresponding transaction attributes of the corresponding transaction channel: intercepting the target foreign exchange transaction, and outputting an alarm message for indicating that the target foreign exchange transaction is abnormal.
[0027] The present application also provides an electronic device, including:
[0028] A memory for storing computer executable instructions;
[0029] The processor is used to implement the foreign exchange transaction processing method provided in the embodiment of the present application when executing the computer executable instructions stored in the memory.
[0030] The embodiment of the present application also provides a computer-readable storage medium storing computer-executable instructions or a computer program. When the computer-executable instructions or the computer program are executed by a processor, the foreign exchange transaction processing method provided in the embodiment of the present application is implemented.
[0031] The embodiment of the present application also provides a computer program product, including computer executable instructions or a computer program, which, when executed by a processor, implements the foreign exchange transaction processing method provided in the embodiment of the present application.
[0032] The embodiments of the present application have the following beneficial effects:
[0033] By applying the above-mentioned embodiment of the present application, transaction conditions are configured in advance on each transaction attribute in the transaction attribute configuration information of each transaction channel for each transaction channel; when processing foreign exchange transactions, the attribute values of each transaction attribute of the target foreign exchange transaction can be compared with the transaction conditions of the corresponding transaction attributes of the transaction channel for each transaction channel to obtain a comparison result, and then based on the comparison results of each transaction channel, a target transaction channel is selected from multiple transaction channels (the comparison results of the target transaction channel are used to characterize the attribute values of each transaction attribute of the target foreign exchange transaction, and satisfy the transaction conditions of the corresponding transaction attributes of the target transaction channel), and then the target foreign exchange transaction is processed through the target transaction channel.
[0034] Here, by pre-configuring the transaction conditions of the transaction channels on each transaction attribute, the purpose of selecting the transaction channel is achieved by comparing the attribute values of each transaction attribute of the foreign exchange transaction with the transaction conditions of the corresponding transaction attribute. In this way, there is no need to place the foreign exchange transaction order to a third party, and when the transaction channel changes, only the transaction attribute configuration information configured for the transaction channel needs to be adjusted, which reduces the operating cost, increases the flexibility of adjusting the transaction channel, and improves the processing efficiency of foreign exchange transactions. BRIEF DESCRIPTION OF THE DRAWINGS
[0035] Figure 1 1 is a schematic diagram of the architecture of a foreign exchange transaction processing system 100 provided in an embodiment of the present application;
[0036] Figure 2 is a structural diagram of an electronic device 500 for implementing a foreign exchange transaction processing method provided in an embodiment of the present application;
[0037] Figure 3 It is a flowchart of a foreign exchange transaction processing method provided in an embodiment of the present application;
[0038] Figure 4 It is a flowchart of a foreign exchange transaction processing method provided in an embodiment of the present application;
[0039] Figure 5 It is a schematic diagram of the generation process of priority configuration information provided in an embodiment of the present application;
[0040] Figure 6 It is a schematic diagram of the update process of the priority configuration information provided in the embodiment of the present application;
[0041] Figure 7 It is a flowchart of a foreign exchange transaction processing method provided in an embodiment of the present application;
[0042] Figure 8 It is a flowchart of the foreign exchange transaction processing method provided in the embodiment of the present application. DETAILED DESCRIPTION
[0043] In order to make the purpose, technical solutions and advantages of the present application clearer, the present application will be further described in detail below in conjunction with the accompanying drawings. The described embodiments should not be regarded as limiting the present application. All other embodiments obtained by ordinary technicians in the field without making creative work are within the scope of protection of this application.
[0044] In the following description, reference is made to “some embodiments”, which describe a subset of all possible embodiments, but it will be understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.
[0045] In the following description, the terms "first\second\third" involved are merely used to distinguish similar objects and do not represent a specific ordering of the objects. It can be understood that "first\second\third" can be interchanged with a specific order or sequence where permitted, so that the embodiments of the present application described here can be implemented in an order other than that illustrated or described here.
[0046] Unless otherwise defined, all technical and scientific terms used in the embodiments of the present application have the same meanings as those commonly understood by those skilled in the art. The terms used in the embodiments of the present application are only for the purpose of describing the embodiments of the present application and are not intended to limit the present application.
[0047] Before further describing the embodiments of the present application in detail, the nouns and terms involved in the embodiments of the present application are explained. The nouns and terms involved in the embodiments of the present application are subject to the following interpretations.
[0048] 1) Client: An application running in the terminal that provides various services, such as a client that supports foreign exchange trading.
[0049] 2) In response, it is used to indicate the conditions or states on which the executed operations depend. When the dependent conditions or states are met, one or more operations executed may be in real time or have a set delay. Unless otherwise specified, there is no restriction on the order of execution of the multiple operations executed.
[0050] 3) Foreign exchange trading is buying one currency in a pair of currencies and selling another currency at the same time. It is the exchange of one currency for another. The foreign exchange market has no specific location, but is traded through electronic networks between banks, companies and individuals.
[0051] 4) The delivery date is the date on which the currency is actually delivered when buying or selling foreign exchange.
[0052] 5) Channel trading hours. To close a position, you need to place a foreign exchange order through a designated trading channel (usually a bank). Different trading channels have different transaction acceptance times. For example, Bank A may only accept foreign exchange transactions from 9:00 to 17:00, so the channel trading hours of Bank A are 9:00 to 17:00.
[0053] 6) Channel deadline. To close a position, you need to place a foreign exchange order through a designated trading channel (usually a bank). Foreign exchange orders have a delivery date attribute. After a certain time of the day on some trading channels, the delivery date will roll over to the next deliverable date. This time is called the channel deadline.
[0054] 7) Transaction channel aggregators, third-party service providers that connect multiple transaction channels.
[0055] 8) Market fair exchange rate, the exchange rate used as a reference price in the market.
[0056] 9) Basis Point (bp), used in finance, is a unit of measurement for interest rate changes. One basis point is equal to 1% of 1 percentage point, or 0.01%.
[0057] 10) Both T0 and T1 are a type of transaction. T0 refers to buying on the same day and selling on the same day, while T1 refers to buying on the same day and selling on the next day.
[0058] The embodiments of the present application provide a foreign exchange transaction processing method, device, electronic device, computer-readable storage medium and computer program product, which can reduce the operating cost of foreign exchange transactions, increase the flexibility of adjusting transaction channels, and improve the processing efficiency of foreign exchange transactions.
[0059] It should be noted that the collection and processing of relevant data in this application should be strictly in accordance with the requirements of relevant laws and regulations when applied in examples, and the informed consent or separate consent of the personal information subject should be obtained, and subsequent data use and processing should be carried out within the scope of authorization of laws and regulations and the personal information subject.
[0060] The foreign exchange transaction processing system provided by the embodiment of the present application is described below. Figure 1 , Figure 1 It is a schematic diagram of the architecture of the foreign exchange transaction processing system 100 provided in an embodiment of the present application. To support an exemplary application, a terminal (terminal 400-1 is shown as an example) is connected to a server 200 via a network 300. The network 300 may be a wide area network or a local area network, or a combination of the two, and data transmission is achieved using wireless or wired links.
[0061] The terminal (e.g., 400-1) is configured to send a foreign exchange transaction request for the target foreign exchange transaction to a server in response to a foreign exchange transaction instruction for the target foreign exchange transaction;
[0062] The server 200 is used to receive a foreign exchange transaction request sent by a terminal; in response to the foreign exchange transaction request, obtain transaction attribute configuration information of each transaction channel in a plurality of transaction channels, the transaction attribute configuration information including: transaction conditions configured on each transaction attribute in at least one transaction attribute for the transaction channel; obtain attribute values of each transaction attribute corresponding to the target foreign exchange transaction; for each transaction channel, compare the attribute values of each transaction attribute of the target foreign exchange transaction with the transaction conditions of the corresponding transaction attributes of the transaction channel respectively to obtain a comparison result; based on the comparison results of each transaction channel, select a target transaction channel from the plurality of transaction channels, the comparison result of the target transaction channel is used to characterize that the attribute values of each transaction attribute of the target foreign exchange transaction meet the transaction conditions of the corresponding transaction attributes of the target transaction channel; perform transaction processing on the target foreign exchange transaction through the target transaction channel to obtain a foreign exchange transaction result; and return the foreign exchange transaction result to the terminal.
[0063] The terminal (eg 400 - 1 ) is also used to receive the foreign exchange transaction result returned by the server 200 ; and display the foreign exchange transaction result.
[0064] In some embodiments, the foreign exchange transaction processing method provided in the embodiments of the present application can be implemented by various electronic devices, for example, it can be implemented by a terminal alone, by a server alone, or by a terminal and a server in collaboration.
[0065] In some embodiments, the electronic device for implementing the foreign exchange transaction processing method provided in the embodiment of the present application can be various types of terminals or servers. Among them, the server (such as server 200) can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers. The terminal (such as terminal 400-1) can be a laptop, a tablet computer, a desktop computer, a smart phone, an intelligent voice interaction device (such as an intelligent speaker), a smart home appliance (such as a smart TV), a smart watch, a vehicle-mounted terminal, a wearable device, a virtual reality (Virtual Reality, VR) device, etc., but is not limited thereto. The terminal and the server can be directly or indirectly connected by wired or wireless communication, and the embodiment of the present application does not limit this.
[0066] In some embodiments, the foreign exchange transaction processing method provided in the embodiment of the present application can be implemented with the aid of cloud technology (Cloud Technology). Cloud technology refers to a hosting technology that unifies a series of resources such as hardware, software, and network in a wide area network or a local area network to realize the calculation, storage, processing, and sharing of data. Cloud technology is a general term for network technology, information technology, integration technology, management platform technology, and application technology based on the application of cloud computing business model, which can form a resource pool, which is used on demand and is flexible and convenient. Cloud computing technology will become an important support. The background service of the technical network system requires a large amount of computing resources and storage resources. As an example, the server (such as server 200) can also be a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content distribution networks (Content Delivery Network, CDN), and big data and artificial intelligence platforms.
[0067] In some embodiments, multiple servers may form a blockchain, and the servers are nodes on the blockchain. Information connections may exist between each node in the blockchain, and information may be transmitted between nodes through information connections. Among them, data related to the foreign exchange transaction processing method provided in the embodiment of the present application (such as transaction attributes of transaction channels, channel priorities of transaction channels, etc.) may be stored on the blockchain.
[0068] In some embodiments, the terminal or server can implement the foreign exchange transaction processing method provided by the embodiment of the present application by running various computer executable instructions or computer programs. For example, computer executable instructions can be commands, machine instructions or software instructions at the microprogram level. The computer program can be a native program or software module in the operating system; it can be a local (Native) application (Application, APP), that is, a program that needs to be installed in the operating system to run; it can also be a small program that can be embedded in any APP, that is, a program that can be run only by downloading it to a browser environment. In short, the above-mentioned computer executable instructions can be instructions in any form, and the above-mentioned computer program can be an application, module or plug-in in any form.
[0069] The following describes an electronic device for implementing a foreign exchange transaction processing method provided by an embodiment of the present application. Figure 2 , Figure 2: is a schematic diagram of the structure of an electronic device 500 for implementing a foreign exchange transaction processing method provided in an embodiment of the present application. The electronic device 500 provided in an embodiment of the present application may be a terminal or a server. The electronic device 500 provided in an embodiment of the present application includes: at least one processor 510, a memory 550, at least one network interface 520 and a user interface 530. The various components in the electronic device 500 are coupled together via a bus system 540. It is understandable that the bus system 540 is used to achieve connection and communication between these components. In addition to the data bus, the bus system 540 also includes a power bus, a control bus and a status signal bus. However, for the sake of clarity, in Figure 2 Various buses are labeled as bus system 540 .
[0070] The processor 510 can be an integrated circuit chip with signal processing capabilities, such as a general-purpose processor, a digital signal processor (DSP), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc., where the general-purpose processor can be a microprocessor or any conventional processor, etc.
[0071] The user interface 530 includes one or more output devices 531 that enable presentation of media content, including one or more speakers and / or one or more visual display screens. The user interface 530 also includes one or more input devices 532, including user interface components that facilitate user input, such as a keyboard, mouse, microphone, touch screen display, camera, other input buttons and controls.
[0072] The memory 550 may be removable, non-removable, or a combination thereof. The memory 550 may include one or more storage devices physically located away from the processor 510. The memory 550 includes a volatile memory or a non-volatile memory, and may also include both a volatile memory and a non-volatile memory. The non-volatile memory may be a read-only memory (ROM), and the volatile memory may be a random access memory (RAM). The memory 550 described in the embodiments of the present application is intended to include any suitable type of memory.
[0073] In some embodiments, the memory 550 can store data to support various operations, examples of which include programs, modules, and data structures, or a subset or superset thereof, as exemplarily described below.
[0074] Operating system 551, including system programs for processing various basic system services and performing hardware-related tasks, such as framework layer, core library layer, driver layer, etc., for implementing various basic services and processing hardware-based tasks;
[0075] A network communication module 552, used to reach other electronic devices via one or more (wired or wireless) network interfaces 520, exemplary network interfaces 520 include: Bluetooth, Wireless Compatibility Certification (WiFi), and Universal Serial Bus (USB), etc.;
[0076] a presentation module 553 for enabling presentation of information via one or more output devices 531 (e.g., display screen, speaker, etc.) associated with the user interface 530 (e.g., a user interface for operating peripherals and displaying content and information);
[0077] The input processing module 554 is used to detect one or more user inputs or interactions from one of the one or more input devices 532 and translate the detected inputs or interactions.
[0078] In some embodiments, the foreign exchange transaction processing device provided in the embodiments of the present application can be implemented in a software manner. Figure 2 A foreign exchange transaction processing device 555 stored in a memory 550 is shown, which may be software in the form of a program or plug-in, including the following software modules: a first acquisition module 5551, a second acquisition module 5552, a comparison module 5553, a channel selection module 5554 and a transaction processing module 5555. These modules are logical and can therefore be arbitrarily combined or further split according to the functions implemented. The functions of each module will be described below.
[0079] The following describes the foreign exchange transaction processing method provided by the embodiment of the present application. In some embodiments, the foreign exchange transaction processing method provided by the embodiment of the present application can be implemented by various electronic devices, for example, it can be implemented by a terminal alone, it can also be implemented by a server alone, or it can be implemented by a terminal and a server in collaboration. Taking the terminal implementation as an example, see Figure 3 , Figure 3 : is a flow chart of a foreign exchange transaction processing method provided in an embodiment of the present application. The foreign exchange transaction processing method provided in an embodiment of the present application includes:
[0080] Step 101: The terminal obtains transaction attribute configuration information of each transaction channel among multiple transaction channels.
[0081] The transaction attribute configuration information includes: transaction conditions configured on each transaction attribute in at least one transaction attribute for a transaction channel.
[0082] Here, the terminal may be provided with a client supporting foreign exchange transactions, and the terminal processes foreign exchange transactions by running the client. Foreign exchange transactions are the simultaneous purchase of one currency in a pair of currency combinations (i.e., currency pairs) and the sale of another currency, i.e., the exchange of one currency for another currency. When processing foreign exchange transactions, the transaction attribute configuration information of each transaction channel in multiple transaction channels may be obtained. In an embodiment of the present application, the transaction attribute configuration information is pre-configured for each transaction channel, and the transaction attribute configuration information includes: the transaction conditions configured by the transaction channel on each transaction attribute.
[0083] It should be noted that the transaction channel of foreign exchange transactions is a bank, and different transaction channels are different banks. Transaction attributes may include but are not limited to transaction channel name, supported currencies, term, deadline, transaction start time, transaction end time, onshore and offshore attributes; in actual applications, the at least one transaction attribute may be horizontally expanded to add additional transaction attributes or reduce unnecessary transaction attributes based on different scenarios. The transaction conditions of the transaction attributes are used to indicate that when the attribute values of each transaction attribute of the foreign exchange transaction meet the transaction conditions of the corresponding transaction attributes of a certain transaction channel, the foreign exchange transaction can be traded through the transaction channel. For example, the transaction conditions of "supported currencies" may be: currency 1, currency 2; the transaction conditions of "term" may be: T0; the transaction conditions of "onshore and offshore attributes" may be: only support offshore; the transaction conditions of "deadline" may be: 18:00:00; and so on. As an example, the transaction attributes and corresponding transaction conditions may be shown in Table 1.
[0084]
[0085] Table 1
[0086] In some embodiments, the terminal may generate transaction attribute configuration information of a transaction channel in the following manner: obtain a data structure of the transaction attribute configuration information, the data structure including at least one field, and the field and the transaction attribute are in a one-to-one correspondence; for each transaction channel, perform the following processing respectively: obtain the transaction conditions of the transaction channel on each transaction attribute; fill the transaction conditions on each transaction attribute into the field corresponding to each transaction attribute, and obtain the transaction attribute configuration information of the transaction channel.
[0087] Here, a data structure can be predefined, and the data structure includes at least one field corresponding to each transaction attribute in each transaction attribute; then, for each transaction channel, the following processing is performed respectively: first, the transaction conditions of the transaction channel on each transaction attribute are obtained, and the transaction conditions are pre-defined and can be obtained from the channel party; then, the transaction conditions on each transaction attribute are used as the field value of the field corresponding to each transaction attribute, and the field corresponding to each transaction attribute is filled in, so as to obtain the transaction attribute configuration information of the transaction channel. In actual application, if the transaction channel changes (such as the addition and deletion of the transaction channel, the change of the transaction attribute of the transaction channel, etc.), then it can be achieved by adjusting the transaction attribute configuration information of the transaction channel, which is convenient, fast and flexible, so that the required transaction channel can be flexibly customized, and the operational flexibility of foreign exchange transactions can be improved.
[0088] Step 102: Obtain attribute values of each transaction attribute corresponding to the target foreign exchange transaction.
[0089] Here, the target foreign exchange transaction is the foreign exchange transaction to be processed. At this time, it is necessary to obtain the attribute value of each transaction attribute corresponding to the target foreign exchange transaction. In some embodiments, the terminal can obtain the attribute value of each transaction attribute corresponding to the target foreign exchange transaction in the following manner: obtain the foreign exchange order information of the target foreign exchange transaction; parse the foreign exchange order information to obtain the field value of the field corresponding to each transaction attribute in the foreign exchange order information; and use the field value of the field corresponding to each transaction attribute as the attribute value corresponding to each transaction attribute.
[0090] Here, the foreign exchange order information of the target foreign exchange transaction can be parsed to obtain the field values of the fields corresponding to each transaction attribute in the foreign exchange order information, so as to use the field values of the fields corresponding to each transaction attribute as the attribute values corresponding to each transaction attribute. For example, the target foreign exchange transaction: an onshore transaction of currency 1 issued at T0, the current transaction time is 17:59:59. The parsing can obtain: the transaction attribute "supported currency" (attribute value: currency 1); the transaction attribute "term" (attribute value: T0); the transaction attribute "transaction time" (attribute value: 17:59:59).
[0091] Step 103: For each transaction channel, the attribute value of each transaction attribute of the target foreign exchange transaction is compared with the transaction conditions of the corresponding transaction attribute of the transaction channel to obtain a comparison result.
[0092] Here, the following processing can be performed for each transaction channel: the attribute value of each transaction attribute of the target foreign exchange transaction is compared with the transaction conditions of the corresponding transaction attribute of the transaction channel to obtain a comparison result. In this way, it can be determined whether the attribute value of each transaction attribute of the target foreign exchange transaction meets the transaction conditions of the corresponding transaction attribute of the transaction channel. That is, the comparison result represents whether the attribute value of each transaction attribute of the target foreign exchange transaction meets the transaction conditions of the corresponding transaction attribute of the transaction channel.
[0093] For example, the transaction attribute "supported currencies" (attribute value: currency 1) of the target foreign exchange transaction; the transaction attribute "term" (attribute value: T0); the transaction attribute "transaction time" (attribute value: 17:59:59). The attribute values of each transaction attribute of the target foreign exchange transaction are compared with the transaction conditions of the transaction attributes of the transaction channel "Bank 1" in Table 1, that is, whether "Currency 1" meets the transaction conditions of the currencies supported by "Bank 1" (Currency 1, Currency 2, Currency 3); whether "T0" meets the transaction conditions of the term of "Bank 1" (T0); whether "17:59:59" meets the transaction conditions of the deadline of "Bank 1" (17:00:00). In this way, the transaction result can be obtained: the transaction attribute "transaction time (attribute value: 17:59:59)" of the target foreign exchange transaction does not meet the transaction conditions of the deadline of "Bank 1" (17:00:00), and the other transaction attributes meet the transaction conditions of the transaction attributes of "Bank 1".
[0094] Step 104: Based on the comparison results of each transaction channel, a target transaction channel is selected from the multiple transaction channels.
[0095] The comparison result of the target transaction channel is used to characterize the attribute values of each transaction attribute of the target foreign exchange transaction and satisfy the transaction conditions of the corresponding transaction attributes of the target transaction channel.
[0096] Here, after obtaining the comparison results corresponding to each transaction channel, a transaction channel for processing the target foreign exchange transaction can be selected from multiple transaction channels based on the comparison results of each transaction channel to realize automatic routing of the transaction channel. Specifically, a target comparison result can be determined from multiple comparison results, and the target comparison result represents the attribute values of each transaction attribute of the target foreign exchange transaction, and satisfies the transaction conditions of the corresponding transaction attributes of the transaction channel corresponding to the target comparison result. In this way, the transaction channel corresponding to the target comparison result is used as the target transaction channel for processing the target foreign exchange transaction.
[0097] It should be noted that the attribute values of each transaction attribute of the target foreign exchange transaction need to meet the transaction conditions of the corresponding transaction attributes of the target transaction channel before the target foreign exchange transaction can be processed through the target transaction channel.
[0098] In some embodiments, when the comparison results of each transaction channel all represent the attribute values of each transaction attribute of the target foreign exchange transaction, and the transaction conditions of the corresponding transaction attributes of the corresponding transaction channel are not met, at least one of the following operations is performed: intercepting the target foreign exchange transaction, and outputting an alarm message for prompting that the target foreign exchange transaction is abnormal. Here, if the comparison results of each transaction channel all represent the attribute values of each transaction attribute of the target foreign exchange transaction, and the transaction conditions of the corresponding transaction attributes of the corresponding transaction channel are not met, it indicates that the target foreign exchange transaction is abnormal, such as the initiator and the channel party only agreed on T0 transactions, but mistakenly sent a foreign exchange transaction of T1 transactions, or the submitted foreign exchange transaction exceeds the transaction time or deadline. At this time, the target foreign exchange transaction can be intercepted, and an alarm message for prompting that the target foreign exchange transaction is abnormal can also be output to notify the trader, and the alarm message can include the reason for the abnormality of the target foreign exchange transaction. In this way, the operating costs caused by handling abnormal foreign exchange transactions can be saved.
[0099] Step 105: Process the target foreign exchange transaction through the target transaction channel.
[0100] In some embodiments, the number of target transaction channels is multiple; see Figure 4 , the terminal can be implemented through the following steps Figure 3 Step 105 shown: Step 1051, obtaining priority configuration information of multiple transaction channels, the priority configuration information includes: channel priority configured for each transaction channel; Step 1052, determining the channel priority of each target transaction channel from the priority configuration information; Step 1053, determining the first transaction channel with the highest channel priority from multiple target transaction channels; Step 1054, processing the target foreign exchange transaction through the first transaction channel.
[0101] As an example, (1) an onshore transaction of currency 1 at T0 is issued, and the current transaction time is 17:00:00.
[0102] Based on the transaction attribute configuration information shown in Table 1, it can be seen that the transaction is still before the deadline of Bank 2 and Bank 1, and other transaction attributes meet the transaction attribute configuration of Bank 1 and Bank 2; and based on the priority configuration information shown in Table 2, in the case of currency 1 against the offshore target currency, the channel priority of Bank 2 is higher than that of Bank 1, so the transaction will be routed to Bank 2.
[0103] As an example, (2) an onshore transaction of currency 1 at T1 is issued, and the current transaction time is 12:00:00.
[0104] Based on the transaction attribute configuration information shown in Table 1, it can be seen that the configuration does not exist, which may indicate that the T1 currency 1 transaction has not been opened with the channel party of the transaction channel in Table 1. Therefore, in order to avoid the transaction from falling into an abnormality, the transaction will be intercepted.
[0105] Here, there are multiple target transaction channels determined by comparison. At this time, according to the channel priorities of each target transaction channel, a target transaction channel with the highest channel priority can be selected to process the target foreign exchange transaction. In actual applications, for the above multiple transaction channels, priority configuration information of the transaction channels is also pre-configured. The priority configuration information is for the target currency pair of the target foreign exchange transaction, that is, for the target currency pair, the channel priority of the multiple transaction channels is configured by the priority configuration information. As an example, as shown in Table 2, for the target currency pair "Currency 1-Target Currency", the channel priority of each transaction channel (Bank 1-Bank 3) is: Bank 2 precedes Bank 1 precedes Bank 3.
[0106] Order of channel priority 1 2 3 Currency 1 to offshore target currency Bank 2 Bank 1 Bank 3 Currency 2 to offshore target currency Bank 1 Bank 2 Bank 3 default Bank 2 Bank 1 Bank 3
[0107] Table 2
[0108] In this way, based on the channel priority of each transaction channel included in the priority configuration information, the channel priority of each target transaction channel can be determined, and then the first transaction channel with the highest channel priority is determined from multiple target transaction channels, so that the target foreign exchange transaction can be processed through the first transaction channel.
[0109] In some embodiments, the target foreign exchange transaction is used to trade a target currency pair, the target currency pair comprising a first currency and a second currency; see Figure 5 Before step 1051, the terminal may also perform the following steps to obtain priority configuration information: step 201, obtaining the transaction data of historical foreign exchange transactions for the target currency pair, and obtaining the channel transaction exchange rate of each transaction channel from the transaction data; step 202, obtaining the market fair exchange rate of the target currency pair, and determining the difference between the channel transaction exchange rate of each transaction channel and the market fair exchange rate as the basic price difference; step 203, based on the basic price difference of each transaction channel, determining the channel priority of each transaction channel, the basic price difference and the channel priority are inversely proportional, and the channel priority of each transaction channel constitutes the priority configuration information.
[0110] Here, the channel priority of each trading channel is determined as follows: In step 201, the transaction data within the target historical time period can be obtained. The target historical time period can be the most recent period or other time periods. The length of the target historical time period can be set as needed, such as 3 days, 1 day, etc. In step 202, the market fair exchange rate is the exchange rate used as a reference price in the market; here, the difference between the channel transaction exchange rate of the trading channel and the market fair exchange rate is used as the basic spread of the trading channel. In step 203, the channel priority of each trading channel can be determined based on the basic spread of each trading channel according to the inverse proportional relationship between the basic spread and the channel priority, that is, the lower the basic spread of the trading channel, the higher the channel priority of the trading channel. For example, the basic spreads of the trading channel "Bank 1-3" are: 30bp, 20bp, 35bp, respectively, and the corresponding channel priorities are: Bank 2 before Bank 1 before Bank 3.
[0111] In some embodiments, the terminal can update the priority configuration information in the following manner: detect the last update time point of the priority configuration information, and obtain the update cycle duration of the priority configuration information; when it is determined that the update time point has arrived based on the last update time point and the update cycle duration, update the priority configuration information and obtain the target priority configuration information; based on this, the terminal can obtain the priority configuration information of multiple transaction channels in the following manner: obtain the target priority configuration information. Here, when detecting the last update time point, it can be real-time detection or periodic detection; the update of the priority configuration information is updated according to a preset period (i.e., the update cycle duration).
[0112] In some embodiments, the target foreign exchange transaction is used to trade a target currency pair, the target currency pair comprising a first currency and a second currency; see Figure 6 , Figure 6 It shows that the terminal can update the priority configuration information through the following steps: Step 301, obtain the channel transaction exchange rate of the target currency pair of each transaction channel, and the market fair exchange rate of the target currency pair; Step 302, for each transaction channel, perform the following processing respectively: Step 3021, determine the difference between the channel transaction exchange rate and the market fair exchange rate of the transaction channel as the basic spread, and determine the average spread of the transaction channel in the target historical time period; Step 3022, when the average spread exceeds the spread threshold, update the basic spread based on the average spread to obtain the target basic spread; Step 3023, when the average spread does not exceed the spread threshold, use the basic spread as the target basic spread; Step 303, based on the target basic spread of each transaction channel, determine the update channel priority of each transaction channel, and the update channel priority of each transaction channel constitutes the target priority configuration information.
[0113] Here, in step 301, the channel transaction exchange rate of the target currency pair of each transaction channel is obtained. Specifically, the transaction data of historical foreign exchange transactions for the target currency pair can be obtained, and the channel transaction exchange rate of each transaction channel can be obtained from the transaction data. In actual application, the transaction data within the target historical time period can be obtained. The target historical time period can be the most recent period or other time periods. The length of the target historical time period can be set as needed, such as 3 days, 1 day, etc. The market fair exchange rate is the exchange rate used as a reference price in the market.
[0114] In step 3021, the difference between the channel transaction exchange rate of the trading channel and the market fair exchange rate can be used as the basic spread of the trading channel. The target historical time period can be one or more. For example, the average spread of the trading channel in each of at least two target historical time periods can be determined, and the length of each target historical time period is different. For example, the target historical time period can be the last 3 hours, the last 3 days, etc. The average spread is the average value of the foreign exchange spread in the target historical time period, and the foreign exchange spread is the difference in points between the buy price and the sell price in the transaction data in the target historical time period.
[0115] In step 3022, when the average price difference exceeds the price difference threshold, it indicates that the basic price difference has shifted. At this time, the basic price difference can be updated based on the average price difference to obtain the target basic price difference. When the target historical time period is 1, the average price difference is also 1. At this time, the average price difference is used as the target basic price difference to update the basic price difference. When there are multiple target historical time periods, when there is at least one target historical time period in which the average price difference of the time period exceeds the price difference threshold, it is determined that the average price difference exceeds the price difference threshold; at this time, the average of the average price differences of the time periods in at least two target historical time periods can be used as the target basic price difference to update the basic price difference.
[0116] In step 3023, when the average price difference does not exceed the price difference threshold, it is considered that the base price difference has not shifted. At this time, the base price difference may not be updated, that is, the base price difference is used as the target base price difference.
[0117] In step 303, since the channel priority of the transaction channel is related to the basic price difference, when the basic price difference of the transaction channel is updated, the channel priority of the transaction channel also needs to be updated. Specifically, based on the target basic price difference of each transaction channel obtained in step 302, the updated channel priority of each transaction channel is determined. Specifically, the target basic price difference of the transaction channel and the updated channel priority are also in an inverse proportional relationship, that is, the lower the target basic price difference of the transaction channel, the higher the updated channel priority of the transaction channel. The updated channel priority constitutes the target priority configuration information. In this way, the update of the priority configuration information is realized, and the target priority configuration information is obtained.
[0118] In some embodiments, for a trading channel whose channel priority is not the first, step 3023 can also be implemented through the following steps: when the average price spread does not exceed the price spread threshold, determine the target trading channel whose channel priority is one place before the trading channel; when the average price spread is not lower than the basic price spread of the target trading channel, use the basic price spread as the target basic price spread; when the average price spread is lower than the basic price spread of the target trading channel, update the basic price spread based on the average price spread to obtain the target basic price spread.
[0119] Here, for a trading channel whose channel priority is not the first, if the average spread does not exceed the spread threshold, it is also possible to further identify whether the basic spread needs to be updated, that is, to determine the target trading channel whose channel priority is one place before the trading channel, and then determine whether the average spread is not lower than the basic spread of the target trading channel. If the average spread is not lower than the basic spread of the target trading channel, it is considered that the basic spread has indeed not shifted, and the basic spread can be left unchanged at this time, that is, the basic spread is used as the target basic spread. If the average spread is lower than the basic spread of the target trading channel, it is considered that the basic spread has indeed shifted, and the basic spread can be updated based on the average spread to obtain the target basic spread. When the target historical time period is 1, the average spread is also 1. At this time, the average spread is used as the target basic spread to update the basic spread. When there are multiple target historical time periods, the average of the average spreads of the respective time periods in at least two target historical time periods can be used as the target basic spread to update the basic spread.
[0120] In some embodiments, when the average price spread exceeds the price spread threshold, the terminal may update the base price spread based on the average price spread in the following manner: when the average price spread exceeds the price spread threshold, an update prompt control is displayed, and the update prompt control is used to prompt confirmation whether to update the base price spread and priority configuration information; when a confirmation update instruction is received based on the update prompt control, the base price spread is updated based on the average price spread to obtain the target base price spread.
[0121] Here, when the average spread exceeds the spread threshold, it indicates that the basic spread has shifted, and the basic spread can be updated at this time. Therefore, the terminal can display an update prompt control for the trader to confirm whether to update the basic spread and the priority configuration information. If a confirmation update instruction is received based on the update prompt control, the basic spread is updated based on the average spread to obtain the target basic spread, and the priority configuration information is continued to be updated based on the target basic spread. However, if a cancel update instruction is received based on the update prompt control, the basic spread remains unchanged and the priority configuration information is not updated.
[0122] As an example, assume that: the "average spread in the past 3 hours" of Bank 2's currency 1 against the offshore target currency is 36bp, the "average spread in the past 3 days" is 28bp, the "base spread" is 20bp, the "3-hour spread threshold" is 15bp, and the "3-day spread threshold" is 10bp.
[0123] In this scenario, because the "average spread in the past 3 hours" has exceeded the 3-hour spread threshold of 15bp, an alarm is issued that the base spread has shifted, and the trader is reminded to confirm whether to update the base spread. At this time, if the trader confirms the update, the base spread of currency 1 of Bank 2 against the offshore target currency is updated to (28+36) / 2=32bp. In this way, the updated base spread of Bank 2 is higher than the base spread of Bank 1, but lower than the base spread of Bank 3, so the channel priority table in Table 2 can be updated as shown in the following Table 3:
[0124] Channel Priority Order 1 2 3 Currency 1 to offshore target currency Bank 1 Bank 2 Bank 3 Currency 2 to offshore target currency Bank 1 Bank 2 Bank 3 default Bank 2 Bank 1 Bank 3
[0125] Table 3
[0126] By applying the above-mentioned embodiment of the present application, transaction conditions are configured in advance on each transaction attribute in the transaction attribute configuration information of each transaction channel for each transaction channel; when processing foreign exchange transactions, the attribute values of each transaction attribute of the target foreign exchange transaction can be compared with the transaction conditions of the corresponding transaction attributes of the transaction channel for each transaction channel to obtain a comparison result, and then based on the comparison results of each transaction channel, a target transaction channel is selected from multiple transaction channels (the comparison results of the target transaction channel are used to characterize the attribute values of each transaction attribute of the target foreign exchange transaction, and satisfy the transaction conditions of the corresponding transaction attributes of the target transaction channel), and then the target foreign exchange transaction is processed through the target transaction channel.
[0127] Here, by pre-configuring the transaction conditions of the transaction channels on each transaction attribute, the purpose of selecting the transaction channel is achieved by comparing the attribute values of each transaction attribute of the foreign exchange transaction with the transaction conditions of the corresponding transaction attribute. In this way, there is no need to place the foreign exchange transaction order to a third party, and when the transaction channel changes, only the transaction attribute configuration information configured for the transaction channel needs to be adjusted, which reduces the operating cost, increases the flexibility of adjusting the transaction channel, and improves the processing efficiency of foreign exchange transactions.
[0128] The following will illustrate an exemplary application of the embodiment of the present application in an actual application scenario. In the related art, a third-party transaction channel aggregator provides transaction channel routing services, that is, the foreign exchange trading system issues foreign exchange orders to the transaction channel aggregator, and the transaction channel aggregator selects and places orders for transaction channels. However, the related art has the following problems: 1) The customization capability is weak, and it does not have the ability to quickly launch new transaction channels; 2) The cost is high, and additional service fees need to be paid to the transaction channel aggregator; 3) The feedback time for perceiving various types of erroneous foreign exchange orders is too long; 4) The communication cost is high, and the maintenance of the transaction channel requires communication and coordination with the third-party transaction channel aggregator.
[0129] Based on this, the embodiment of the present application provides a foreign exchange transaction processing method, specifically a method for realizing automatic routing and selection of transaction channels within the foreign exchange transaction system, and being able to timely update the channel priority of the transaction channel according to the specific transaction situation of the transaction channel. In the process of foreign exchange transactions, the foreign exchange transaction system is made more intelligent and automated in the selection of transaction channels, which will overcome the problems caused by providing transaction channel routing services through third-party transaction channel aggregators. The foreign exchange transaction processing method provided by the embodiment of the present application mainly includes: 1) automatic routing of transaction channels; 2) automatic selection of transaction channels during foreign exchange transactions; 3) intercepting or alerting unreasonable foreign exchange orders (such as those whose channel transaction time has passed, etc.) according to the transaction attributes of the transaction channels; 4) updating the channel priority of the transaction channel based on the market fair exchange rate spread.
[0130] In actual applications, each time a new trading channel is introduced, traders can clarify and record the trading attributes of each trading channel during the communication process with the channel party, such as currency, term, onshore and offshore attributes, transaction time and deadline, etc. For example, for the trading channel "Bank 1", it is clear that it supports onshore and offshore orders of currency 1, T+0 delivery, and records its transaction time and deadline. The trading attributes of the trading channel are stored in the foreign exchange trading system as the basis for the foreign exchange trading system to route and select the best trading channel. In this way, 1) unified management and maintenance of the trading attributes of the trading channel can be achieved; 2) routing and selection can be performed based on the trading attributes of the trading channel maintained in advance during foreign exchange transactions.
[0131] Next, the selection and automatic routing of transaction channels are described. In the embodiment of the present application, a data structure for maintaining transaction attributes of transaction channels is first provided. As an example, as shown in Table 1 above, the data structure of transaction attributes can be: channel name, currency, term, deadline, transaction start time, transaction end time, onshore and offshore attributes.
[0132] In practical applications, in addition to the examples in Table 1, the data structure of transaction attributes can be horizontally expanded to add additional transaction elements or reduce unnecessary transaction elements based on different scenarios. Among them, the transaction time and deadline of the transaction channel can be maintained by the initiator, and under permitted conditions, it can also be maintained by the channel party. For example, the channel party provides an information interface for the transaction time and deadline, and the initiator calls the information interface of the channel party to perform the required processing, such as intercepting foreign exchange orders that do not meet the transaction time in advance.
[0133] Secondly, a data structure of channel priorities of transaction channels based on currencies is maintained, as shown in Table 2 above, which is an example of a data structure of channel priorities. For example, the order of channel priorities of currency 1 against offshore target currency is: "Bank 2" before "Bank 1" before "Bank 3". In actual applications, the channel priorities of transaction channels can be updated according to a preset cycle, such as once a day, and the channel priorities of transaction channels can be updated based on the market fair exchange rate spread.
[0134] Based on the configuration of the transaction attributes of the above transaction channels, examples of automatic routing transactions in the foreign exchange trading system in different scenarios are described, including:
[0135] (1) Scenario 1: An onshore transaction of currency 1 is issued at T0, and the current transaction time is 17:59:59.
[0136] Based on the configuration shown in Table 1, it can be seen that the transaction is still before the cut-off time of Bank 2, but has passed the cut-off time of Bank 1, and other transaction attributes meet the transaction attribute configuration of Bank 2, so the transaction will be routed to Bank 2.
[0137] (2) Scenario 2: An onshore transaction of currency 1 is issued at T0, and the current transaction time is 17:00:00.
[0138] Based on the configuration shown in Table 1, it can be seen that the transaction is still before the deadline of Bank 2 and Bank 1, and other transaction attributes meet the transaction attribute configuration of Bank 1 and Bank 2; and based on the configuration shown in Table 2, in the case of currency 1 against the offshore target currency, the channel priority of Bank 2 is higher than that of Bank 1, so the transaction will be routed to Bank 2.
[0139] (3) Scenario 3: An onshore transaction of currency 2 is issued at T0, and the current transaction time is 17:00:00.
[0140] Based on the configuration shown in Table 1, it can be seen that the transaction is still before the deadline of Bank 2 and Bank 1, and other transaction attributes meet the transaction attribute configuration of Bank 1 and Bank 2; and based on the configuration shown in Table 2, in the case of currency 2 against the offshore target currency, the channel priority of Bank 1 is higher than that of Bank 2, so the transaction will be routed to Bank 1.
[0141] (4) Scenario 4: An onshore transaction of currency 1 is issued at T1, and the current transaction time is 12:00:00.
[0142] Based on the configuration shown in Table 1, it can be seen that the absence of this configuration may indicate that the T1 currency 1 transaction has not been opened with the channel party of the transaction channel in Table 1. Therefore, in order to avoid the transaction from falling into an abnormality, the transaction will be intercepted.
[0143] (5) Scenario 5: An onshore transaction of currency 3 is issued at T0, and the current transaction time is 17:00:00.
[0144] Based on the configuration shown in Table 1, it can be seen that the transaction is still before the deadline of Bank 2 and Bank 1, and other transaction attributes meet the transaction attribute configuration of Bank 1 and Bank 2; and based on the configuration shown in Table 2, it can be seen that when currency 3 is exchanged against the offshore target currency (that is, the default in Table 2), the channel priority of Bank 2 is higher than that of Bank 1, so the transaction will be routed to Bank 2.
[0145] See also Figure 7 , Figure 7 : is a flow chart of a foreign exchange transaction processing method provided in an embodiment of the present application. The foreign exchange transaction processing method provided in an embodiment of the present application includes:
[0146] 1. Read the trading channel configuration of foreign exchange. 2. Determine whether a trading channel configuration that meets the delivery date, onshore and offshore attributes and trading currency can be found? If yes, execute 3, if not, execute 9. 3. Traverse the trading channels that meet the conditions: 3.1 Determine whether the foreign exchange transaction is within the trading time window of the current trading channel? If yes, execute 3.2, if not, execute 3.4; 3.2 Determine whether the foreign exchange transaction has not exceeded the deadline of the current trading channel? If yes, execute 3.3, if not, execute 3.4; 3.3 Keep the current trading channel; 3.4 Eliminate the current trading channel. 4. Determine whether there are still trading channels that meet the conditions. If yes, execute 5, if not, execute 9. 5. Read the channel priority configuration of foreign exchange transactions. 6. Determine whether there is a channel priority configuration for the current currency. If yes, execute 7, if not, execute 8. 7. Use the channel priority configured for the current currency and route to the trading channel with the highest priority among the trading channels that meet the conditions. 8. Use the channel priority configured by default and route to the trading channel with the highest priority among the trading channels that meet the conditions. 9. Alert and block foreign exchange transactions. 10. End.
[0147] Next, the updating of channel priority based on the market fair exchange rate spread is described. Assume that the current channel priority is as shown in Table 2. When updating the current channel priority, first initialize the basic spread table of the channel transaction exchange rate and the market fair exchange rate of a trading channel. As an example, the basic spread table can be shown in Table 4. In actual applications, the initialization data in the basic spread table can be generated based on the transaction data of the target time period (such as 1 day), or based on the trader's own trading experience.
[0148]
[0149] Table 4
[0150] In actual applications, the channel priority can be updated according to a preset period. In this case, it is necessary to collect transaction data according to a preset period (such as 3 days), and update the basic spread table based on the collected transaction data. Specifically, if the "average spread in the past 3 hours" of a trading channel exceeds the threshold + 5bp, or the "average spread in the past 3 days" exceeds the threshold, it is considered that the basic spread of the trading channel may not be as good as the basic spread of the next priority trading channel; at this time, an alarm can be issued that the basic spread has shifted, and the trader can be reminded to confirm whether to update the basic spread; if the trader confirms the update, the updated basic spread of the trading channel is calculated (the average of the "average spread in the past 3 hours" and the "average spread in the past 3 days"). Thus, the channel priority can be updated according to the updated basic spread of each trading channel. It should be noted that the basic spread of the trading channel is inversely proportional to the channel priority.
[0151] Based on the configuration of the basic spread table above, an example of updating channel priority is described.
[0152] Scenario: The "average spread in the past 3 hours" of Bank 2's currency 1 against the offshore target currency is 36bp, the "average spread in the past 3 days" is 28bp, the "base spread" is 20bp, the "3-hour spread threshold" is 15bp, and the "3-day spread threshold" is 10bp.
[0153] In this scenario, because the "average spread in the past 3 hours" has exceeded the 3-hour spread threshold of 15bp, an alarm is issued that the base spread has shifted, and the trader is reminded to confirm whether to update the base spread. At this time, if the trader confirms the update, the base spread of currency 1 of Bank 2 against the offshore target currency is updated to (28+36) / 2=32bp. In this way, the updated base spread of Bank 2 is higher than that of Bank 1, but lower than that of Bank 3, so the channel priority table in Table 2 can be updated to the above Table 3.
[0154] See also Figure 8 , Figure 8: is a flow chart of a foreign exchange transaction processing method provided in an embodiment of the present application. The foreign exchange transaction processing method provided in an embodiment of the present application includes:
[0155] 1. Read all transaction data, channel priority configuration table, and basic spread table for the past three days.
[0156] 2. Read the channel priority ranking and basic spread of the target currency pair among multiple currency pairs in the channel priority table. Here, currency 1 against the offshore target currency is a currency pair (currency 1 and target currency).
[0157] 3. Sort by channel priority, starting from the first trading channel, and calculate the average price difference of each trading channel in the past 3 hours and the average price difference of the past 3 days;
[0158] 4. Update the average price difference data in the basic price difference table;
[0159] 5. Determine whether the average spread in the past 3 hours is higher than (threshold + 5bp) or whether the average spread in the past 3 days is higher than the threshold. If not, execute 6; if yes, execute 8.
[0160] 6. Determine whether the average spread over the past 3 hours or the average spread over the past 3 days is lower than the base spread of the previous priority channel? If not, proceed to step 7. If yes, proceed to step 8.
[0161] 7. Complete the calculation of the target currency pair and determine whether all currency pairs have been calculated. If not, return to 2 to calculate the next currency pair. If so, execute 10.
[0162] 8. When the trader triggers a confirmation order, a request to update the underlying spread and channel priority is generated.
[0163] 9. Updated basic price difference=>(price difference in the past 3 hours + price difference in the past 3 days) / 2. Update the channel priority according to the updated basic price difference.
[0164] 10. End.
[0165] By applying the above embodiments of the present application, 1) according to the transaction attributes of the transaction channel, the foreign exchange order can be automatically routed to the tradable transaction channel; 2) the channel priority of the transaction channel is updated based on the market fair exchange rate spread, so that when there are multiple selectable transaction channels, the channel priority can be automatically selected; 3) the foreign exchange orders that have not been communicated with the channel party are intercepted in advance, such as the initiator and the channel party only agreed on T0 transactions, but mistakenly sent a foreign exchange order for T1 transactions, thereby saving the operating costs caused by processing abnormal foreign exchange orders; 4) foreign exchange orders that may exceed the transaction time or deadline are intercepted in advance, saving the communication costs with the channel party, and also saving the operating costs caused by processing abnormal orders.
[0166] The following is a description of an exemplary structure of the foreign exchange transaction processing device 555 provided in the embodiment of the present application implemented as a software module. In some embodiments, Figure 2 As shown, the software modules stored in the foreign exchange transaction processing device 555 of the memory 550 may include: a first acquisition module 5551, used to acquire transaction attribute configuration information of each of the transaction channels in the plurality of transaction channels, the transaction attribute configuration information including: transaction conditions configured on each of the transaction attributes in at least one transaction attribute for the transaction channel; a second acquisition module 5551, used to acquire attribute values corresponding to each of the transaction attributes of the target foreign exchange transaction; a comparison module 5553, used to compare the attribute values of each of the transaction attributes of the target foreign exchange transaction with the transaction conditions of the corresponding transaction attributes of the transaction channel for each of the transaction channels, respectively, to obtain a comparison result; a channel selection module 5554, used to select a target transaction channel from the plurality of transaction channels based on the comparison results of each of the transaction channels, the comparison result of the target transaction channel being used to characterize that the attribute values of each of the transaction attributes of the target foreign exchange transaction meet the transaction conditions of the corresponding transaction attributes of the target transaction channel; and a transaction processing module 5555, used to perform transaction processing on the target foreign exchange transaction through the target transaction channel.
[0167] In some embodiments, the first acquisition module 5551 is also used to obtain the data structure of the transaction attribute configuration information, the data structure includes at least one field, and the field and the transaction attribute are in a one-to-one correspondence; for each of the transaction channels, the following processing is performed respectively: obtaining the transaction conditions of the transaction channel on each of the transaction attributes; filling the transaction conditions on each of the transaction attributes into the fields corresponding to each of the transaction attributes, and obtaining the transaction attribute configuration information of the transaction channel.
[0168] In some embodiments, the second acquisition module 5551 is further used to obtain the foreign exchange order information of the target foreign exchange transaction; parse the foreign exchange order information to obtain the field value of the field corresponding to each of the transaction attributes in the foreign exchange order information; and use the field value of the field corresponding to each of the transaction attributes as the attribute value corresponding to each of the transaction attributes.
[0169] In some embodiments, there are multiple target transaction channels; the transaction processing module 5555 is also used to obtain priority configuration information of the multiple transaction channels, and the priority configuration information includes: the channel priority configured for each of the transaction channels; determining the channel priority of each of the target transaction channels from the priority configuration information; determining the first transaction channel with the highest channel priority from the multiple target transaction channels; and performing transaction processing on the target foreign exchange transaction through the first transaction channel.
[0170] In some embodiments, the target foreign exchange transaction is used to trade a target currency pair, and the target currency pair includes a first currency and a second currency; the transaction processing module 5555 is also used to obtain transaction data of historical foreign exchange transactions used to trade the target currency pair, and obtain the channel transaction exchange rate of each of the transaction channels from the transaction data; obtain the market fair exchange rate for trading the target currency pair, and determine the difference between the channel transaction exchange rate of each of the transaction channels and the market fair exchange rate as the basic price difference; based on the basic price difference of each of the transaction channels, determine the channel priority of each of the transaction channels, the basic price difference and the channel priority are inversely proportional, and the channel priority of each of the transaction channels constitutes the priority configuration information.
[0171] In some embodiments, the transaction processing module 5555 is also used to detect the last update time point of the priority configuration information and obtain the update cycle duration of the priority configuration information; when it is determined that the update time point has arrived based on the last update time point and the update cycle duration, the priority configuration information is updated to obtain the target priority configuration information; the transaction processing module 5555 is also used to obtain the target priority configuration information.
[0172] In some embodiments, the target foreign exchange transaction is used to trade a target currency pair, and the target currency pair includes a first currency and a second currency; the transaction processing module 5555 is also used to obtain the channel transaction exchange rate for each of the transaction channels trading the target currency pair, and the market fair exchange rate for trading the target currency pair; for each of the transaction channels, the following processing is performed respectively: the difference between the channel transaction exchange rate of the transaction channel and the market fair exchange rate is determined as the basic spread, and the average spread of the transaction channel in the target historical time period is determined; when the average spread exceeds the spread threshold, the basic spread is updated based on the average spread to obtain a target basic spread; when the average spread does not exceed the spread threshold, the basic spread is used as the target basic spread; based on the target basic spread of each of the transaction channels, the update channel priority of each of the transaction channels is determined, and the update channel priority of each of the transaction channels constitutes the target priority configuration information.
[0173] In some embodiments, the transaction processing module 5555 is further used to determine the average price difference of each time period of the transaction channel in at least two target historical time periods, and the duration of each target historical time period is different; the transaction processing module 5555 is further used to determine that the average price difference exceeds the price difference threshold when there is at least one target historical time period in which the average price difference exceeds the price difference threshold; the transaction processing module 5555 is further used to use the average of the average price differences of each time period in the at least two target historical time periods as the target base price difference.
[0174] In some embodiments, for a trading channel whose channel priority is not the first, the transaction processing module 5555 is also used to determine a target trading channel whose channel priority is one place before the trading channel when the average price spread does not exceed the price spread threshold; when the average price spread is not lower than the base price spread of the target trading channel, use the base price spread as the target base price spread; the transaction processing module 5555 is also used to update the base price spread based on the average price spread to obtain a target base price spread when the average price spread is lower than the base price spread of the target trading channel.
[0175] In some embodiments, the transaction processing module 5555 is also used to display an update prompt control when the average price spread exceeds a price spread threshold, and the update prompt control is used to prompt confirmation whether to update the basic price spread and the priority configuration information; when a confirmation update instruction is received based on the update prompt control, the basic price spread is updated based on the average price spread to obtain a target basic price spread.
[0176] In some embodiments, the comparison module 5553 is also used to perform at least one of the following operations when the comparison results of each of the transaction channels represent the attribute values of each of the transaction attributes of the target foreign exchange transaction and fail to meet the transaction conditions of the corresponding transaction attributes of the corresponding transaction channels: intercepting the target foreign exchange transaction, and outputting an alarm message for indicating that the target foreign exchange transaction is abnormal.
[0177] By applying the above-mentioned embodiment of the present application, transaction conditions are configured in advance on each transaction attribute in the transaction attribute configuration information of each transaction channel for each transaction channel; when processing foreign exchange transactions, the attribute values of each transaction attribute of the target foreign exchange transaction can be compared with the transaction conditions of the corresponding transaction attributes of the transaction channel for each transaction channel to obtain a comparison result, and then based on the comparison results of each transaction channel, a target transaction channel is selected from multiple transaction channels (the comparison results of the target transaction channel are used to characterize the attribute values of each transaction attribute of the target foreign exchange transaction, and satisfy the transaction conditions of the corresponding transaction attributes of the target transaction channel), and then the target foreign exchange transaction is processed through the target transaction channel.
[0178] Here, by pre-configuring the transaction conditions of the transaction channels on each transaction attribute, the purpose of selecting the transaction channel is achieved by comparing the attribute values of each transaction attribute of the foreign exchange transaction with the transaction conditions of the corresponding transaction attribute. In this way, there is no need to place the foreign exchange transaction order to a third party, and when the transaction channel changes, only the transaction attribute configuration information configured for the transaction channel needs to be adjusted, which reduces the operating cost, increases the flexibility of adjusting the transaction channel, and improves the processing efficiency of foreign exchange transactions.
[0179] The embodiment of the present application also provides a computer program product, which includes computer executable instructions or computer programs, and the computer executable instructions or computer programs are stored in a computer readable storage medium. The processor of the electronic device reads the computer executable instructions or computer programs from the computer readable storage medium, and the processor executes the computer executable instructions or computer programs, so that the electronic device executes the foreign exchange transaction processing method provided in the embodiment of the present application.
[0180] The embodiment of the present application also provides a computer-readable storage medium, which stores computer-executable instructions or computer programs. When the computer-executable instructions or computer programs are executed by a processor, the processor will execute the foreign exchange transaction processing method provided in the embodiment of the present application.
[0181] In some embodiments, the computer-readable storage medium may be a memory such as RAM, ROM, flash memory, magnetic surface memory, optical disk, or CD-ROM; or may be various devices including one or any combination of the above memories.
[0182] In some embodiments, computer executable instructions may be in the form of a program, software, software module, script or code, written in any form of programming language (including compiled or interpreted languages, or declarative or procedural languages), and may be deployed in any form, including as a stand-alone program or as a module, component, subroutine or other unit suitable for use in a computing environment.
[0183] As an example, computer-executable instructions may, but need not, correspond to a file in a file system, may be stored as part of a file that stores other programs or data, such as in one or more scripts in a HyperText Markup Language (HTML) document, in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files storing one or more modules, subroutines, or code portions).
[0184] As an example, computer executable instructions may be deployed to be executed on one electronic device, or on multiple electronic devices located at one site, or on multiple electronic devices distributed at multiple sites and interconnected by a communication network.
[0185] The above is only an embodiment of the present application and is not intended to limit the protection scope of the present application. Any modifications, equivalent substitutions and improvements made within the spirit and scope of the present application are included in the protection scope of the present application.
Claims
1. A foreign exchange transaction processing method, characterized in that: The method comprises: Acquiring transaction attribute configuration information of each of the transaction channels in the plurality of transaction channels, the transaction attribute configuration information comprising: transaction conditions configured on each of the transaction attributes in at least one transaction attribute for the transaction channel; Obtaining the attribute value of each transaction attribute corresponding to the target foreign exchange transaction; For each of the transaction channels, the attribute values of the transaction attributes of the target foreign exchange transaction are compared with the transaction conditions of the corresponding transaction attributes of the transaction channel to obtain a comparison result; Based on the comparison results of each of the transaction channels, a target transaction channel is selected from the multiple transaction channels, and the comparison results of the target transaction channel are used to characterize the attribute values of each of the transaction attributes of the target foreign exchange transaction, and the transaction conditions of the corresponding transaction attributes of the target transaction channel are satisfied; The target foreign exchange transaction is processed through the target transaction channel.
2. The method according to claim 1, characterized in that Before obtaining the transaction attribute configuration information of each of the multiple transaction channels, the method further includes: Acquire a data structure of the transaction attribute configuration information, wherein the data structure includes at least one field, and the field and the transaction attribute are in a one-to-one correspondence; For each of the transaction channels, the following processing is performed respectively: Obtaining transaction conditions of the transaction channel on each of the transaction attributes; The transaction conditions on each of the transaction attributes are filled into the fields corresponding to each of the transaction attributes to obtain the transaction attribute configuration information of the transaction channel.
3. The method according to claim 1, characterized in that The obtaining of the attribute value of each transaction attribute corresponding to the target foreign exchange transaction includes: Obtaining foreign exchange order information of the target foreign exchange transaction; Parsing the foreign exchange order information to obtain field values of fields corresponding to the transaction attributes in the foreign exchange order information; The field value of the field corresponding to each of the transaction attributes is used as the attribute value corresponding to each of the transaction attributes.
4. The method according to claim 1, characterized in that The number of the target transaction channels is multiple; the target foreign exchange transaction is processed through the target transaction channels, including: Acquire priority configuration information of the plurality of transaction channels, the priority configuration information comprising: a channel priority configured for each of the transaction channels; Determining the channel priority of each of the target transaction channels from the priority configuration information; Determine a first transaction channel with the highest channel priority from among the multiple target transaction channels; The target foreign exchange transaction is processed through the first transaction channel.
5. The method according to claim 4, characterized in that The target foreign exchange transaction is used to trade a target currency pair, and the target currency pair includes a first currency and a second currency; before obtaining the priority configuration information of the multiple transaction channels, the method further includes: Acquire transaction data of historical foreign exchange transactions for trading the target currency pair, and acquire channel transaction exchange rates of each of the transaction channels from the transaction data; Obtain the market fair exchange rate of the target currency pair of the transaction, and determine the difference between the channel transaction exchange rate of each transaction channel and the market fair exchange rate as the basic spread; Based on the basic price difference of each of the transaction channels, the channel priority of each of the transaction channels is determined. There is an inverse proportional relationship between the basic price difference and the channel priority. The channel priority of each of the transaction channels constitutes the priority configuration information.
6. The method according to claim 4, characterized in that Before obtaining the priority configuration information of the plurality of transaction channels, the method further includes: Detecting the last update time of the priority configuration information and obtaining the update cycle duration of the priority configuration information; When it is determined based on the last update time point and the update cycle duration that the update time point has arrived, the priority configuration information is updated to obtain the target priority configuration information; The obtaining priority configuration information of the plurality of transaction channels includes: Obtain the target priority configuration information.
7. The method according to claim 6, characterized in that The target foreign exchange transaction is used to trade a target currency pair, and the target currency pair includes a first currency and a second currency; and the updating of the priority configuration information to obtain the target priority configuration information includes: Obtaining the channel transaction exchange rate for trading the target currency pair through each of the trading channels and the market fair exchange rate for trading the target currency pair; For each of the trading channels, the following processing is performed respectively: determining the difference between the channel transaction exchange rate of the trading channel and the market fair exchange rate as the basic price difference, and determining the average price difference of the trading channel in the target historical time period; when the average price difference exceeds the price difference threshold, updating the basic price difference based on the average price difference to obtain a target basic price difference; when the average price difference does not exceed the price difference threshold, using the basic price difference as the target basic price difference; Based on the target basic price difference of each of the transaction channels, the update channel priority of each of the transaction channels is determined, and the update channel priority of each of the transaction channels constitutes the target priority configuration information.
8. The method according to claim 7, characterized in that Determining the average price difference of the trading channel in the target historical time period includes: Determining a time period average price difference of the trading channel in at least two target historical time periods, each of the target historical time periods having a different length; The method further includes: when there is at least one target historical time period in which the average price difference of the time period exceeds the price difference threshold, determining that the average price difference exceeds the price difference threshold; The updating of the base price difference based on the average price difference to obtain a target base price difference includes: The average of the average price differences of the respective time periods in the at least two target historical time periods is used as the target basic price difference.
9. The method according to claim 7, characterized in that For a trading channel whose channel priority is not the first, when the average price difference does not exceed the price difference threshold, the base price difference is used as the target base price difference, including: When the average price difference does not exceed the price difference threshold, determining a target transaction channel whose channel priority is one level before the transaction channel; When the average price difference is not lower than the base price difference of the target trading channel, the base price difference is used as the target base price difference; The method further comprises: When the average price spread is lower than the base price spread of the target trading channel, the base price spread is updated based on the average price spread to obtain a target base price spread.
10. The method according to claim 7, characterized in that When the average price difference exceeds the price difference threshold, updating the base price difference based on the average price difference to obtain a target base price difference includes: When the average price difference exceeds the price difference threshold, an update prompt control is displayed, wherein the update prompt control is used to prompt confirmation whether to update the basic price difference and the priority configuration information; When a confirmation update instruction is received based on the update prompt control, the basic price difference is updated based on the average price difference to obtain a target basic price difference.
11. The method according to claim 1, characterized in that The method further comprises: When the comparison results of the transaction channels all represent that the attribute values of the transaction attributes of the target foreign exchange transaction do not meet the transaction conditions of the corresponding transaction attributes of the corresponding transaction channels, at least one of the following operations is performed: The target foreign exchange transaction is intercepted, and an alarm message for indicating that the target foreign exchange transaction is abnormal is output.
12. A foreign exchange transaction processing device, characterized in that: The device comprises: A first acquisition module is used to acquire transaction attribute configuration information of each of the transaction channels in a plurality of transaction channels, wherein the transaction attribute configuration information includes: transaction conditions configured on each of the transaction attributes in at least one transaction attribute for the transaction channel; A second acquisition module is used to acquire the attribute value of each transaction attribute corresponding to the target foreign exchange transaction; A comparison module, for comparing the attribute values of the transaction attributes of the target foreign exchange transaction with the transaction conditions of the corresponding transaction attributes of the transaction channel for each transaction channel, to obtain a comparison result; A channel selection module, for selecting a target transaction channel from the plurality of transaction channels based on the comparison results of the transaction channels, wherein the comparison results of the target transaction channel are used to characterize the attribute values of the transaction attributes of the target foreign exchange transaction, and the transaction conditions satisfying the corresponding transaction attributes of the target transaction channel; The transaction processing module is used to perform transaction processing on the target foreign exchange transaction through the target transaction channel.
13. An electronic device, characterized in that: The electronic device comprises: A memory for storing computer executable instructions; A processor, configured to implement the foreign exchange transaction processing method according to any one of claims 1 to 11 when executing the computer executable instructions stored in the memory.
14. A computer-readable storage medium storing computer-executable instructions or a computer program, characterized in that: When the computer executable instructions or computer programs are executed by a processor, the foreign exchange transaction processing method according to any one of claims 1 to 11 is implemented.
15. A computer program product comprising computer executable instructions or a computer program, characterized in that When the computer executable instructions or computer programs are executed by a processor, the foreign exchange transaction processing method according to any one of claims 1 to 11 is implemented.