FIELD OF INVENTION  
         [0001]    The present invention relates generally to the generation of leg prices in combination trade and more specifically to the generation of leg prices which comply with the price rules, such as tick step rules for a marketplace.  
         BACKGROUND  
         [0002]    In so-called combination trade a bidder places on the market a single price for a combination of different financial instruments. These individual instruments may be shares, options etc., or any combination thereof. A combination order could for example be “Sell 2 instruments A, buy 3 instruments B for a combination net price of $10”.  
           [0003]    A combination order is listed as a single instrument on the market. Thus, in order for a combination order to be executed, all the involved instruments must be traded as a single order. This combination instrument could be a or a standard combination defined by the system operator or a so called tailor made combination (TMC) defined by a party trading in the system. The strategy is the specific relation between the different instruments making up the combination, i.e., the ratio between the amount of the respective instruments traded. The number of different instruments, or so-called legs, could vary from two, as in the example above, up to four or even more, although two is the conventional number of legs in a combination order.  
           [0004]    When a combination order is executed, the price for the different kinds of instruments traded has to be determined, the so-called leg prices. In the above given example, there is one leg price for the two instruments A and another leg price for the three instruments B. One reason for this need to determine leg prices is because the different instruments could have been traded for different clients of the broker, for example. Another reason could be that that the leg prices should be booked on different accounts.  
           [0005]    When determining the leg prices, first the market is looked at and prices are assigned to the different legs. However, in the end it is common to end up with a set of leg prices that does not match the combination net price. Therefore so-called seed price values which are first estimates of the leg prices are used. These seed price values are subsequently modified if required so as to arrive to a set of leg prices that matches the combination price.  
           [0006]    One way of finding the seed price values is to look at the current bid and ask prices on the market for the individual instruments and assign the leg prices accordingly in any desired order. In the situation where the market has just opened and there are no orders and there have been no trades on all the series, the seed price value for the last leg will be the theoretical value or default values will be used. The theoretical value is the value of an instrument as determined by a specific model based on the model&#39;s input parameters. This could clearly lead to the legs trading at prices totally out of the market. As soon as real orders will be placed on the series and/or trades take place (i.e. a “last paid” exists), the theoretical value will no longer be used as seed price value.  
           [0007]    A market maker is a trader responsible for providing quotes. Thus, the market maker is obliged to give an estimated bid or ask price for an instrument on demand. This is another way of finding the seed price values.  
           [0008]    In current stock market exchange systems, all calculations are computer generated. In some prior art computer systems, when generating the leg prices for a combination trade, two algorithms are used. First, the “ordinary price algorithm” is used, which tries to use seed price values taken from the market (i.e. bid, ask, theoretical value, last bid or ask etc.). If the ordinary price algorithm for some reason fails, a “secondary price algorithm” is used, which is called when all attempts made by the “ordinary” algorithm fail.  
           [0009]    The main difference between the two algorithms is that the latter does not make use of the current market picture to define a seed price value and therefore generates whatever kind of prices that do match the combination net.  
           [0010]    When trading combination orders, and particularly tailor made combination orders, a few situations could lead to the legs trading at incorrect prices. In this case incorrect prices do not necessarily mean that the combination net is not matched but that the leg prices are consistent with the market picture but do not comply with the tick step rules, i.e., the rules relating to the minimum price fluctuation available in a marketplace expressed in terms of points, ordinary fractions, or decimal fractions of a point of the price or rate. An example thereof is given in Table  1   a  below.  
                                                             TABLE 1a                                       Net   Pay/       Action   Instrument   Ratio   Leg Prices   Price   Receive                                Buy   A   8   859.0               Sell   B   −25   0.4   6862.0   Pay                  
 
           [0011]    wherein “Action” is either Buy or Sell, “Instrument” is a kind of financial instrument in the respective leg, “Ratio” is the number of instruments traded, “Leg Price” is the price that could be generated by the primary or secondary price algorithm, “Net Price” is the total price set in the order, and “Pay/Receive” indicates whether the Net Price is positive or negative.  
           [0012]    An example of tick size rules for instruments A and B is given in Table  1   b  below. It reports the allowed tick steps for different interval and it also indicates that only one decimal is allowed.  
                                     TABLE 1b                       Step size   Lower limit   Upper limit                                0.1   0.1   0.9       0.5   1.0   49.5       1   50   999       10   1000   9999999                  
 
           [0013]    The market picture for the instruments A and B is given in FIG. 1 c  below.  
                                     TABLE 1c                       Instrument   Bid   Ask                                A   938.0   938.0       B   19.5   27.5                  
 
           [0014]    In the above, example the current theoretical value for the A leg price is 938 and the combination net is 6862. The ordinary algorithm sets the A leg to the theoretical value and calculates the B leg price as follows: 
             B  Leg price=(8*938−6862)/25=24.72 
           [0015]    This price, which is consistent with the market picture, is discarded because the tick step rule allows only one decimal, see FIG. 1 b . The result is that the system uses the secondary price algorithm, which will generate trades for 859 for the A leg, i.e., the original leg price, and 0.4 for the B leg. These had to be manually re-booked to e.g.  939  and  26 . This adds a further step in the leg price generation, thus introducing associated costs and delays.  
           [0016]    It could also be so that legs trade at prices that are too far away from the actual spread on the market. Also in this case the leg prices are usually not compliant with the tick step rules.  
           [0017]    Thus, a first problem in prior art systems is that the calculated leg prices do not comply with the tick step rules. This in turn results in that the system is forced to use the secondary price algorithm.  
           [0018]    The second problem is a result of the use of the secondary algorithm as all the attempts made by the ordinary one have failed to find valid prices. Whenever the “ordinary” algorithm fails and the secondary price algorithm is called prices that are totally unrelated to the market picture could be generated, as long as the combination net price is matched. This is done in order to make the trade possible. The “incorrect” leg prices will then need to be re-booked manually by the market control to more appropriate prices.  
           [0019]    When calling the secondary algorithm usually no checks are made that the generated prices are compliant with the allowed tick steps but the system only checks that the prices have the correct number of decimals.  
         SUMMARY OF THE INVENTION  
         [0020]    The present invention aims at eliminating or at least mitigating the problems associated with prior art system. An object of the present invention is thus to provide a method of calculating leg prices in combination orders wherein the leg prices are made to comply with current tick step rules. Another object is to provide a method of calculating leg prices in combination orders wherein the leg prices closely relate to the market picture.  
           [0021]    The invention is based on the realisation that the seed price values used in the ordinary algorithm can be modified so as to arrive at leg prices that comply with the tick step rules. It has surprisingly been found that by replacing the original seed price value with seed price values being one or a few tick steps away from the original seed price value, the number of combination trades that have to be manually rebooked is dramatically reduced. By using this method the step of using the secondary algorithm is avoided, thus improving the result in regard to the market picture.  
           [0022]    According to a first aspect of the invention there is provided a method of calculating leg prices in trading of a combination order on a market having set price rules, wherein said combination order comprises a combination of instruments of at least two different kinds that are traded for a single net price, and wherein each kind of instrument is associated with a respective leg price, said method comprising the following steps: a) assigning seed price values to all leg prices but a last leg price; b) calculating said last leg price by means of said assigned seed price values and a net price for the combination order; c) checking whether said last leg price complies with the price rules; d) if said last leg price does not comply with the price rules, modifying said seed price values; and repeating steps c) and d) until said last leg price complies with current price rules or for a predetermined number of times.  
           [0023]    According to a second aspect of the present invention there is provided a computer program product directly loadable into the internal memory of a computer terminal for performing the method according to the invention.  
           [0024]    Further preferred embodiments are defined by the dependent claims.  
           [0025]    Thus there is provided a method of calculating leg prices in trading of a combination order on a market having set price rules wherein the leg prices comply with the tick step rules. This in turn avoids the use of secondary price algorithms, thereby avoiding manual re-booking.  
       
    
    
     BRIEF DESCRIPTION OF DRAWINGS  
       [0026]    The invention is now described, by way of example, with reference to the accompanying drawings, in which:  
         [0027]    [0027]FIG. 1 is a flow chart describing the general method according to the invention;  
         [0028]    [0028]FIG. 2 shows a system arranged for performing the method according to the invention; and  
         [0029]    [0029]FIG. 3 shows a data carrier for storing a computer program product with software code portions for executing the method according to the invention. 
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0030]    In the following a detailed description of preferred embodiments of the present invention will be given, wherein the following definitions will be used:  
         [0031]    Seed price value—the value that is initially set for a single financial instrument in a combination order.  
         [0032]    Leg price value—the final calculated value for a single instrument in a combination order.  
         [0033]    Total leg price value—the final calculated value for one leg in a combination order, i.e., the leg price value times the number of that kind of instrument traded.  
         [0034]    Net price value—the sum for which a combination order is traded.  
         [0035]    First, the general concept will be explained with reference to FIG. 1, which is a flow chart of the inventive method applicable on a combination order, such as the one described in the background section with reference to Table  1   a.    
         [0036]    Initially, in step  100 , seed price values are assigned to all leg prices but one of the combination order. These seed price values can be based on any relevant available information, such as current market bid or ask values, a theoretical value etc. Thus, by this all leg price values but one are assigned in compliance with the tick step rules.  
         [0037]    Then, in step  200 , the leg price value for the instrument that has not yet been assigned a seed price value is then calculated as follows. The total leg price value is calculated for all legs but the one that has not been assigned a seed price value. The sum of all other total leg price values is subtracted from the net price value and the result is divided by the number of instruments not assigned a seed price. The result is the leg price value for the last leg.  
         [0038]    In step  300  it is checked whether the leg price value of the last leg as calculated in step  200  complies with current tick step rules. These rules could for example determine the number of decimals used, the tick step for different value ranges etc. If the last leg price complies with the rules, the assigned seed price values are used for the leg price determination in step  600  and the algorithm then ends. However, if the leg price value of the last leg does not comply with current tick step rules, in step  400  it is checked whether a predetermined number of attempts have been made. If not, in step  500  one or more of the set seed price values are modified according to predetermined rule that will be described further below. Steps  200 - 500  are then repeated until the last leg price value complies with current price rules or the predetermined number of attempts have been made. If, after this number of attempts, no valid last leg price value has been found, an alternative way of finding the last leg price value is used in step  700 , such as by a secondary algorithm or by manual input.  
         [0039]    Some examples of the inventive method will now be described. In these examples, several attempts are made around the selected seed price values. Thus, in a preferred embodiment, the method shall try not only at the selected seed price value, but also +/−1 tick step and alternatively also at +/−2 tick steps away from the current seed price value. It can be shown that the number of combination trades that need to be manually re-booked will then be dramatically reduced. The actual number of attempts is determined by a configuration file stored in the automatic trade system executing the inventive method.  
         [0040]    On one hand it is desirable to try as many seed price values as possible so as to increase the possibility to arrive at leg price values that comply with both the tick step rules and the market values. On the other hand the seed price values should not deviate too much from the original seed prices value. Also, too many attempts would slow down the system executing the calculation. It is hence a trade-off between accuracy and efficiency. Also, it is desirable that there is a limit to the seed price values that can be set, i.e. 4, and if the value exceeds this limit the system will reject the value, log this in a log file and assume a default value of 2 instead.  
         [0041]    In a first instance, the algorithm according to the invention rejects solutions found for the leg prices if these are not compliant with the tick step rules and do more attempts. If the algorithm fails to find correct leg price values within the predetermined number of attempts, it is preferred that it returns to the first solution found, even if that is not compliant with the tick step rules. If, in the previous attempts, no such a solution was found, it shall proceed by calling a secondary price determination algorithm.  
         [0042]    Thus, if the seed adjustment value is set to 1, the system tries with 3 different seed price values: seed price, then seed price value+1 tick step and finally seed price value−1 tick step. If all attempts with these seed price values fail, a secondary price determination algorithm will be called. If the seed adjustment value is set to 2, the system shall try with 5 different prices: seed price, seed price+1 tick step, seed price −1 tick, seed price+2 tick steps and seed price−2 tick steps. If all attempts with these seed price values fail, a secondary price determination algorithm will be called, etc.  
         [0043]    In the preferred embodiment, the default seed adjustment value is 2. That is, a maximum of 5 seed prices will be generated for each leg of the combination order. The above described basic algorithm can be further enhanced. Assume that the seed adjustment value is 2. Depending on the nature of the selected seed price values, i.e., how the seed price value has been determined, different adjusted seed price values are used according to the following.  
         [0044]    If the seed is based on the theoretical value or the last paid value, then the ordinary algorithm is allowed to make the following attempts, if needed:  
         [0045]    1) initial seed price value, i.e., the theoretical value or the last paid value;  
         [0046]    2) seed price+1 tick step;  
         [0047]    3) seed price−1 tick step;  
         [0048]    4) seed price+2 tick steps;  
         [0049]    5) seed price−2 tick steps.  
         [0050]    This means that apart from the first value of the seed (the theoretical value) the algorithm will try also with +/−1 and+/−2 tick steps away from it.  
         [0051]    However, if the seed price value is based on a bid order, the algorithm shall be allowed to make the following attempts, if needed:  
         [0052]    1) seed price value (bid order)+1 tick step;  
         [0053]    2) seed price value+2 tick steps, but only if not bigger than the ask side, if any;  
         [0054]    3) seed price value+3 tick steps, but only if not bigger than the ask side, if any.  
         [0055]    This is done in order to ensure that a seed is within the spread, i.e., the values ranging from the current bid value to the current ask value on the market. This means that apart from the first value of the seed (bid+1 tick step) the algorithm will try also with+1 and+2 tick steps away from it.  
         [0056]    If these attempts fail, the algorithm also tries with the seed price value being equal to the bid order, without incrementing it.  
         [0057]    Finally, if the seed price value is based on a ask order, the algorithm shall be allowed to make the following attempts, if needed:  
         [0058]    1) seed price value (ask order)−1 tick step;  
         [0059]    2) seed price value−2 tick steps, only if not smaller than the bid side, if any;  
         [0060]    3) seed price value−3 tick steps, only if not smaller than the bid side, if any.  
         [0061]    Also in this case this is done in order to ensure that a seed is within the spread. This means that apart from the first value of the seed (ask−1tick step) the algorithm will try also with −1 and −2 tick steps away from it.  
         [0062]    If these attempts fail, the algorithm also tries with the seed price value being equal to the ask order, without decrementing it.  
         [0063]    As the number of attempts in generating leg prices has a direct impact on the performances of the system. It is presently preferred that it is not be allowed to set a seed adjustment value larger than 4. It is preferred that if the seed adjustment value by any chance is set to a value larger than 4, the system shall discard the value and set the parameter to a default value of 2 and log this change.  
         [0064]    A number of examples using the above described enhanced algorithms will now be given, first with reference to the example given in the background section. Tables  1   a - c  are repeated here for convenience.  
                                                             TABLE 1a                                       Net   Pay/       Action   Instrument   Ratio   Leg Prices   Price   Receive                                Buy   A   8   859               Sell   B   −25   0.4   6862.0                  
 
         [0065]    The allowed tick step is given in FIG. 1 b  below.  
                                     TABLE 1b                       Step size   Lower limit   Upper limit                                0.1   0.1   0.9       0.5   1.0   49.5       1   50   999       10   1000   9999999                  
 
         [0066]    The market picture for the instruments A and B is given in FIG. 1 c  below.  
                                     TABLE 1c                       Instrument   Bid   Ask                                A   938.0   938.0       B   19.5   27.5                  
 
         [0067]    As already explained, prior art methods would lead to invalid leg price value for instrument B. However, if the enhanced method according to the invention is used, wherein the seed price values will be based on the theoretical value, it is not possible to get a correct price for the B leg. Instead of calling the secondary algorithm, the seed price value of A is adjusted, complying with the tick step rule for this price range equal to 1. The seed price value is thus increased by 1 tick step to 938+1=939. By assigning the leg A seed price value this value, the leg B price value would be calculated as follows: 
         (6862.0−(8*939))/25=26.0 
         [0068]    The inventive algorithm will thus arrive at the solution reported as in the original manual rebook described in the background section.  
         [0069]    In a second example, the combination order is the same but the other parameters, i.e., theoretical values, the net price, and the market values have changed, see Tables  2   a  and  2   b  below.  
                                                             TABLE 2a                                       Net   Pay/       Action   Instrument   Ratio   Leg Prices   Price   Receive                                Buy   A   8   862.5               Sell   B   −25   0.8   6880.0   Pay                  
 
         [0070]    [0070]                                     TABLE 2b                       Instrument   Bid   Ask                                A   936.0   936.0       B   19.0   27.5                    
         [0071]    Prior art methods would arrive at a leg A seed price value of 936.0, complying with the tick step rules, but at a leg B price value of 24.4, not complying with the tick steps for that value range (tick step=0.5).  
         [0072]    The algorithm first adjusts the leg A seed price value by +1 tick step, i.e., by+1 for that price range, to an adjusted value of 937.0. This results in the algorithm generating the following leg B price value: 
         (6880.0−(8*937))/25=24.64 
         [0073]    This clearly leads to a leg B price value that does not comply with the tick step rules.  
         [0074]    By then adjusting the leg A seed price value by−1 tick step from the original seed price value, the algorithm generates the following leg B price value: 
         (6880.0−(8*935))/25 24.0 
         [0075]    This is an example where the system managed to generate correct prices after just two seed price value adjustments.  
         [0076]    In some cases the inventive method results in values that are not compliant with the tick step rules. In these cases the algorithm shall roll back to the first result found. In this case we still provide a leg price value that is not compliant with the tick step rule but at least the enhanced price algorithm has not been called.  
         [0077]    In the examples given above, the combination orders only contain two legs, A and B. With the inventive algorithm, one of the legs is assigned a seed price value and the leg price value of the other leg is calculated accordingly. However, the inventive method is not limited to combination orders comprising just two legs. If there are more than two legs, all of the legs but one are assigned seed price values and the leg price value of the last leg is calculated. If this leg price value is invalid, the different seed price values can be adjusted in many ways. One seed value can be adjusted at the time. If this fails to generate a valid last leg price value, several seed values can be adjusted simultaneously, generating a vast number of possible combinations. The way the seed values are adjusted is thus a trade-off between accuracy and performance.  
         [0078]    Finally, FIG. 2 illustrates a system  10  comprising a computer, in which an automatic trade system according to the present invention is implemented, and FIG. 3 illustrates a storage medium  20 , which stores a computer program product for performing any of the methods of the present invention.  
         [0079]    By using the inventive method, it is possible to get the duplicated benefit of reducing the need for calling a secondary price algorithm and the generation of leg price values compliant with current tick step rules.  
         [0080]    Preferred embodiments of a method, a system, and a computer program product according to the invention have been described. A person skilled in the art realises that these could be varied within the scope of the appended claims.
A method of calculating leg prices in trading of a combination order on a market having set price rules is provided. The combination order comprises a combination of instruments of at least two different kinds that are traded for a single net price and each kind of instrument is associated with a respective leg price. The method comprises the following steps: a) assigning seed price values to all leg prices but a last leg price; b) calculating the last leg price by means of the assigned seed price values and a net price for the combination order; c) checking whether the last leg price complies with the price rules; d) if the last leg price does not comply with the price rules, modifying the seed price values; and repeating steps c) and d) until the last leg price complies with current price rules or for a predetermined number of times. This attains compliance with the tick step rules and in turn avoids the use of secondary price algorithms, which may lead to costly and time-consuming manual re-booking.