FJ translates a free format description of a financial instrument to Internet pricing system schemes such like generic XML, FpML or FIXatdl. The semantics of this language statement is a trade order specified by a number of fields, such like instrument type, strikes, a currency pair or expiry date. The main requirements to the input language is to allow specifying the fields in an arbitrary order and in an ambiguous format, with resolving the ambiguities by accounting previously parsed fields. At the same time, the output language presents an order in a well structured XML format, for example:
< Put USD Call GBP reverse ko two years sp 160 ko 170 6mm
> Order RKO (Strike 160 SPOT) (CurrPair "USD" "GBP") PUT (Expiry 2 YEAR) (Notional 6000000 "L") (Barrier 170);
< One year Call 125 USD/JPY 10,000,000
> Order VAN (Strike 125 SPOT) (CurrPair "USD" "JPY") CALL (Expiry 1 YEAR) (Notional 10000000 "L");Click here to download HOLTRAN FJ (Financial Jargon) translator and try your own examples.
BQL translates a free format query to a data base of trade records into XML format (eventually to be converted to SQL). A statement of this language should specify a query for searching trade records stored in a data base. A query in general case is a logical conjunction of a number of conditions on record fields, where every condition, in turn, is specified by a field name, a comparison operation and a value to compare with. In the XML-formatted output the conditions may go in an arbitrary order, that simplifies the input language architecture.
< fly expires 26 Dec 2012 in Beijing on the cable
Query in text output: > base currency = GBP, term currency = USD, cut = BJG 9:15am, expiry date = Dec 26 2012, option = Butterfly
Query in pseudo-SQL output: > ((EQ "Butterfly" "option") & (EQ "Dec 26 2012" "expiry Date")) & ((EQ "BJ G 9:15am" "city") & ((EQ "GBP" "currencyL") & (EQ "USD" "currencyR")))
< riskie fly strangle poor american in taipei - put $
Query in text output: > base currency = USD, call/put = Put, cut = TPI 11:00am, style = American, option = Risk Reversal, Butterfly, Strangle
Query in pseudo-SQL output: > (IN (LIST (LIST "Risk Reversal" "Butterfly") "Strangle") "option") & ((EQ "American" "style") & ((EQ "TPI 11:00am" "city") & ((EQ "Put" "Call/Put") & (EQ "USD" "currencyL"))))
< spot and strangle in Bangkok, trade before one year
Query in text output: > expiry date = Dec 26 2013, cut = BK 1:00pm, option = Spot, Strangle
Query in pseudo-SQL output: > ((IN (LIST "Spot" "Strangle") "option") & (EQ "BK 1:00pm" "city")) & (EQ "Dec 26 2013" "expiry Date")Click here to download BQL (Blotter Query Language) translator and try your own examples.
HOLTRAN question answering machine processes the information, and is ready to answer any question in natural language concerning the processed material, i.e. is able to find from previously processed and stored information specific answers to any relevant questions.
Unlike most modern Natural Language systems it not only classify phrases, resolve ambiguities, extract information via templates and display found documents, but also
is capable to adopt an unlimited set of languages to be used in its communications with external world
is able to present the responses in any of the currently adopted languages
is able to present the input information, including definitions of new languages, in any of the currently adopted languages
is able to answer questions analyzing the information distributed between different sources
is able to answer alternatively formulated questions and questions with answers distributed between different sources
Click here to download HOLTRAN question answering machine demo and try your own examples.
is potentially capable to fully store arbitrary textual information and extract from it more and more structured data in the process of operation - due to their ability to "learn" from users new notions and rules related to both - a language the users want to use in their communications with the system and a specific business application area