IBUKI Financial Analytics
IBUKI Financial Analytics is an application builds financial models that integrate
sophisticated mathematical modeling with the ability to compute on incoming real time data
feeds. Furthermore, the models are defined using normal mathematical expressions.
Real Time Data Streams
Variables on Data Feeds
The variables of the modeling language are bound to data feeds. If these variables are
bound to a finite feed (for example, they come from a table in a database) they are just
timeseries variables. If they are bound to ungoing feed we call them timestream
Data Feeds
Data Feeds

A Data feed presents you with information whenever it has some new data. The length of
time and the interval between the arrival of new data can depend on many factor. One special
kind of datafeed is where you know before hand an upper bound on how many times you can ask
it for data before it is "done". We view 1) a table returned as the result of a database
query and 2) a row or column of a spreadsheet as a finite datafeed. Data Feeds that potentially
never stop are called ongoing datafeeds. The modeling language treats all datafeeds the same.
The important thing about ongoing datafeeds is that, in general, you get new data at random
times but that every time a new piece of data arrives, your financial model needs to be
recomputed! How do you define such a model? The IBUKI Financial Modeling Language answers that
question and provides an environment in which the requred computation can happen.
The lowest level functions that operate on datafeeds are
streamnext(datafeed)
Returns the thing waiting for the next piece of data
streamdone?(datafeed)
Returns True or False depending on if there is more data to come. This only returns False if
you are at the end of a finite datafeed.
streamclose(datafeed)
Closes the datafeed, meaning that you can no access data from the feed
Since feeds are returning data at randon times streamnext must be executes in an
asyncronous enviroment.


