Adding a data store

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Adding a data store

Keith Wood
Greetings All,

My name is Keith Wood and I currently work as the business development
manager for a little known consulting company based in Frankfurt,
Germany. As part of some business development work that I am currently
doing, I find myself wanting to suggest that someone add the required
functionality  such as would allow users of QuantLib to
Fetch/Process/Store data in a relational database.
I envisage this as being the next step up from QuantLibAddIn where
rather than providing the hooks to a spreadsheet, you get hooked into a
data schema. I was thinking something along the lines of a generic
open-source model that allowed you to "install" a bunch of tables and
"stuff" on your favorite flavor of relational data provider.
I find myself in the somewhat unique position of being able to call upon
the engineering group of Sybase as resources to implement this.

Is there any interest from your side in talking about this further.
If so, who should I be talking to.

Regards
Keith Wood

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
QuantLib-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-dev
Reply | Threaded
Open this post in threaded view
|

Re: Adding a data store

Luigi Ballabio

Hi Keith,

On Fri, 2007-03-09 at 22:22 +0100, Keith Wood wrote:
> I find myself wanting to suggest that someone add the required
> functionality  such as would allow users of QuantLib to
> Fetch/Process/Store data in a relational database.
> I find myself in the somewhat unique position of being able to call upon
> the engineering group of Sybase as resources to implement this.

It seems like an offer one can't refuse.

> Is there any interest from your side in talking about this further.
> If so, who should I be talking to.

Posting to this mailing list is OK---in fact, it's the best place to
discuss the issue. As for me, I'm mostly concerned with the core
library, so I don't have the clearest view of the QuantLibAddin
architecture. But I guess someone with more knowledge in that particular
field (Eric?) will reply shortly.

Later,
        Luigi


----------------------------------------

Discontent is the first necessity of progress.
-- Thomas A. Edison



-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
QuantLib-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-dev
Reply | Threaded
Open this post in threaded view
|

Re: Adding a data store

eric ehlers
In reply to this post by Keith Wood
Hi Keith,

Many thanks for getting in touch.

Some progress has already been made on a design for extending
QuantLibAddin to support serialization, and my first thought is
whether a common framework could serve as a basis both for
serialization (say for distributed computing) and an RDB store.

Here are the links to the previous discussion on serialization:

http://sourceforge.net/mailarchive/forum.php?thread_id=6507779&forum_id=4300
http://sourceforge.net/mailarchive/forum.php?thread_id=6539684&forum_id=4300
http://sourceforge.net/mailarchive/forum.php?thread_id=6540997&forum_id=4300
http://sourceforge.net/mailarchive/forum.php?thread_id=6543552&forum_id=4300
http://sourceforge.net/mailarchive/forum.php?thread_id=6700844&forum_id=4300

Please also take a look at the Value Objects feature, contributed to
QuantLibAddin by Plamen Neykov.  Each time a QuantLib object is
constructed in ObjectHandler, a Value Object is associated with it,
the VO comprises a snapshot of the inputs to the constructor of the QL
object, and the idea is that VOs would be used as the basis for, say,
reconstituting the same object on another machine.  VOs can be
interrogated with functions ohPropertyNames() and ohPropertyValues().

I'd be interested to hear your reaction to these initial ideas.

Kind Regards,
Eric

On 3/9/07, Keith Wood <[hidden email]> wrote:

> Greetings All,
>
> My name is Keith Wood and I currently work as the business development
> manager for a little known consulting company based in Frankfurt,
> Germany. As part of some business development work that I am currently
> doing, I find myself wanting to suggest that someone add the required
> functionality  such as would allow users of QuantLib to
> Fetch/Process/Store data in a relational database.
> I envisage this as being the next step up from QuantLibAddIn where
> rather than providing the hooks to a spreadsheet, you get hooked into a
> data schema. I was thinking something along the lines of a generic
> open-source model that allowed you to "install" a bunch of tables and
> "stuff" on your favorite flavor of relational data provider.
> I find myself in the somewhat unique position of being able to call upon
> the engineering group of Sybase as resources to implement this.
>
> Is there any interest from your side in talking about this further.
> If so, who should I be talking to.
>
> Regards
> Keith Wood
>
> -------------------------------------------------------------------------
> Take Surveys. Earn Cash. Influence the Future of IT
> Join SourceForge.net's Techsay panel and you'll get the chance to share your
> opinions on IT & business topics through brief surveys-and earn cash
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> _______________________________________________
> QuantLib-dev mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/quantlib-dev
>

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
QuantLib-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-dev
Reply | Threaded
Open this post in threaded view
|

Re: Adding a data store

Keith Wood
Hmm, serialisation / data store. I think we might be talking
"differently" here.
Let me deal with the FPML bit first. This might be a little
un-politically correct, but here goes anyway.
I know a number of people who hold senior roles on the FPML committee
for an assortment of different threads.
It is a committee based thing that takes a little time to review stuff,
agree stuff, document stuff and then publish stuff.
Evidence of this is seen in the manner in which the SwapsWire people
have built their own SWML and extended-FPML that deals with things that
are not yet in the published FPML.
There is a similar type of thing being done by the nice people at DTCC
to encapsulate their electronic confirmation matching service called
DerivServ.
The nice people at MarkIT are also working with an extended variant of
the FPML stuff.
At some point this will all converge, but don't hold your breath as by
the time the FPML people catch up, the others will have moved on.

My suggestion had to do with the design and implementation of a data
schema that would enable people who use QuantLib to store stuff in
tables in a relational database. All of the holiday stuff belongs in a
table. All of the day count convention could usefully be stored in a
collection of tables. Having gone to the trouble of getting some market
rates from somewhere, using them to calculate the zero's, strips,
smiles, complicated volatility surfaces and so on for "today's" pricing,
it might be nice to save "stuff" in a relational table (or several).
FPML, SWML and all the other "flavours" that have to do with XML stuff,
lend themselves to being mapped to a collection of relational tables in
a sensible manner. There are already collections of tools that do most
of that for you.

There seems to be a need to apply some assistance to the choice of
which-XML, and this is loosely connected to a similar decision about
which-SQL. I will now take the liberty of talking to the nice people at
Sybase to see just how generous they feel about professional assistance
in this little venture. (No Promises, no commitments, intended as a
feedback thing to test the waters)

I will get back to you shortly.
Regards
Keith

p.s. please feel free in the meantime to bombard me with questions and
or flame me for not being politically correct.


eric ehlers wrote:

> Hi Keith,
>
> Many thanks for getting in touch.
>
> Some progress has already been made on a design for extending
> QuantLibAddin to support serialization, and my first thought is
> whether a common framework could serve as a basis both for
> serialization (say for distributed computing) and an RDB store.
>
> Here are the links to the previous discussion on serialization:
>
> http://sourceforge.net/mailarchive/forum.php?thread_id=6507779&forum_id=4300
>
> http://sourceforge.net/mailarchive/forum.php?thread_id=6539684&forum_id=4300
>
> http://sourceforge.net/mailarchive/forum.php?thread_id=6540997&forum_id=4300
>
> http://sourceforge.net/mailarchive/forum.php?thread_id=6543552&forum_id=4300
>
> http://sourceforge.net/mailarchive/forum.php?thread_id=6700844&forum_id=4300
>
>
> Please also take a look at the Value Objects feature, contributed to
> QuantLibAddin by Plamen Neykov.  Each time a QuantLib object is
> constructed in ObjectHandler, a Value Object is associated with it,
> the VO comprises a snapshot of the inputs to the constructor of the QL
> object, and the idea is that VOs would be used as the basis for, say,
> reconstituting the same object on another machine.  VOs can be
> interrogated with functions ohPropertyNames() and ohPropertyValues().
>
> I'd be interested to hear your reaction to these initial ideas.
>
> Kind Regards,
> Eric
>
> On 3/9/07, Keith Wood <[hidden email]> wrote:
>> Greetings All,
>>
>> My name is Keith Wood and I currently work as the business development
>> manager for a little known consulting company based in Frankfurt,
>> Germany. As part of some business development work that I am currently
>> doing, I find myself wanting to suggest that someone add the required
>> functionality  such as would allow users of QuantLib to
>> Fetch/Process/Store data in a relational database.
>> I envisage this as being the next step up from QuantLibAddIn where
>> rather than providing the hooks to a spreadsheet, you get hooked into a
>> data schema. I was thinking something along the lines of a generic
>> open-source model that allowed you to "install" a bunch of tables and
>> "stuff" on your favorite flavor of relational data provider.
>> I find myself in the somewhat unique position of being able to call upon
>> the engineering group of Sybase as resources to implement this.
>>
>> Is there any interest from your side in talking about this further.
>> If so, who should I be talking to.
>>
>> Regards
>> Keith Wood
>>
>> -------------------------------------------------------------------------
>>
>> Take Surveys. Earn Cash. Influence the Future of IT
>> Join SourceForge.net's Techsay panel and you'll get the chance to
>> share your
>> opinions on IT & business topics through brief surveys-and earn cash
>> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
>>
>> _______________________________________________
>> QuantLib-dev mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/quantlib-dev
>>
>


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
QuantLib-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-dev
Reply | Threaded
Open this post in threaded view
|

Re: Adding a data store

Luigi Ballabio

On Mar 13, 2007, at 7:58 PM, Keith Wood wrote:
> My suggestion had to do with the design and implementation of a data
> schema that would enable people who use QuantLib to store stuff in
> tables in a relational database. All of the holiday stuff belongs in a
> table. All of the day count convention could usefully be stored in a
> collection of tables.

I'm not sure that I follow here. I can see that the definition of, say,
an equity option (exercise date, strike...) can be stored in a table. A
calendar I might see---even though our calendars are not a collection
of holidays, but rather a collection of rules such as "the third Monday
in September" or "May 1st unless it's a Sunday, in which case the
following Monday is a holiday instead". But a day-count convention is
basically an algorithm. I might just have misinterpreted you, but how
are you going to store them?

Later,
        Luigi


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
QuantLib-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-dev
Reply | Threaded
Open this post in threaded view
|

Re: Adding a data store

Keith Wood
So a simple vanilla swap is where I pay fixed and receive floating.
I can save most of that, applications such as Summit, Murex, Calypso and
so on do this all the time.
If I initiate this swap today, then for a 3M Euro-Euribor swap, in about
88 days time I will stop guessing what the floating rate is for the 2nd
payment and FIX it with the prevailing market rate. This might change
the NPV of the swap.
I could create a portfolio of derivative instruments and then look at
the effects of changes in market rates on the valuation of those
instruments over time.
I can accept that holidays are based on a rule. Calendar-Week-1 is the
Week where the first Thursday is a January.
I am not sure how you would do the Easter thing, but I accept that there
is a rule for this somewhere.
Whilst it is nice to know when the Eurex people stay at home, there are
also religious holidays for the individual states in Germany.
I accept that you can do rules for all of these, and that so far nobody
was interested in when Christi did the himmelfart thing from a Bavarian
viewpoint.
The daycount stuff is rather trivial for a quant-type (no offence) but
there are a bunch of people who still ask what the convention is for MM,
Bond, Repo and Swaps in EUR. A trivial collection of tables but it saves
me from having to remember, when I can go and do a select. (See it is
even trivial for a non-quant-type)

I am looking at a reversed view of this.
I already have a large data warehouse that contains all of the trades
and positions, now I want to apply the QuantLib functions on those
instruments. I can fetch stuff into the arrays and structures and then
do the kinky valuation thing. I might want to do this on a regular basis
and then also store the result set back in the warehouse.
I have a very specific interest. I am working on a data warehouse that
allows me to store the ticks and quotes from more than one exchange
based platform. If I have all, and I mean all of the ticks and quotes
from the various different exchanges where they trade Daimler-Chrysler I
can do some interesting things when it comes to calculated volatility.
Currently, quite a lot of the tick-by-tick stuff is hidden away in what
people call "Dark Liquidity". MiFID will change that here in Europe.
suddenly the Tick & Quote information from OTC and internal trades will
be published. A lot of people who currently calculate risk on the basis
of High/Low/Open/Close will have access to much more granular
information. I have a standard SQL based means to collect and store that
information in and efficient manner that will also allow you to read
from the tick-pool in near real-time (<10ms). Having this in a big
bucket is a nice idea, it would be nice if there was an "open"
collection of financial analysis tools that allowed people to access and
analyse this information.
I have a data schema that allows me to collect lots of interesting
information about business entities.
I have a data schema that allows me to collect lots of interesting
information about financial instruments.
The business entity stuff is a collection of Citibank, BarCap, RBOS,
HBOS data that has been scrubbed and reconciled.
The instrument stuff is based on the internal instrument definitions
used by Eurex, Xetra, Xontra and Clearstream.
I have a feed handler and subscription that ensures that this is updated.
I am working on a Tick&Quote data model that allows me to collect data
from most of the recognised electronic platforms in the world.
Rather than trying to read 400000 ticks for the Bund-Future from a file,
I plan to be able to get this from a table.
I currently have some test data for 1-day that has 10,823,981 ticks in
it. (it was a quite day)
I also have all of Eurex for 30-days.
Whilst I accept that there are not that many
ContinuousFloatingLookbackOptions in there, doing Monte Carlo and
Stochastic stuff to this might be interesting for some people.
The nice people at Sybase like that I have done all of this using their
product line.
It is loosely based on their RAP product line where they have Sybase-IQ
as the VLDB time series database and an in-memory version of the regular
Sybase-ASE data server for the relational stuff.
They are sufficiently impressed and have asked me what else they could
do to assist in further enhancing this basic platform.
I figured that putting some element of persistence  around QuantLib
would be nice, as this would add an open source collection of accepted
and approved financial math to the picture.
I have not yet mentioned QuantLib to them yet, as I wanted to get some
idea for what the QuantLib people thought about this.
Sybase is a big commercial data vendor that has a previous history of
being nice to the open world.
Hopefully I did not get too arrogant in all of the above, or make any
assumptions that I should not have done.
equally as hopefully, you can let me know what you think about what
might at first seem like a wacky idea.

Regards
Keith

Luigi Ballabio wrote:

>
> On Mar 13, 2007, at 7:58 PM, Keith Wood wrote:
>> My suggestion had to do with the design and implementation of a data
>> schema that would enable people who use QuantLib to store stuff in
>> tables in a relational database. All of the holiday stuff belongs in a
>> table. All of the day count convention could usefully be stored in a
>> collection of tables.
>
> I'm not sure that I follow here. I can see that the definition of,
> say, an equity option (exercise date, strike...) can be stored in a
> table. A calendar I might see---even though our calendars are not a
> collection of holidays, but rather a collection of rules such as "the
> third Monday in September" or "May 1st unless it's a Sunday, in which
> case the following Monday is a holiday instead". But a day-count
> convention is basically an algorithm. I might just have misinterpreted
> you, but how are you going to store them?
>
> Later,
>     Luigi
>


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
QuantLib-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-dev
Reply | Threaded
Open this post in threaded view
|

Re: Adding a data store

eric ehlers
In reply to this post by Keith Wood
Hi Keith,

That's an impressive summary of the resources available to you for
your project, both in terms of the data and the potential support from
Sybase.

> Hmm, serialisation / data store. I think we might be talking
> "differently" here.

I accept that serialisation and data store are separate undertakings,
I'm just thinking that as we tackle data store we should keep in mind
the design for serialisation, in case the two projects have some
common building blocks.  If we get into the details and find that the
two projects have zero in common, then so be it.  I suspect we'll find
there's some overlap.

> Let me deal with the FPML bit first. This might be a little
> un-politically correct, but here goes anyway.
> I know a number of people who hold senior roles on the FPML committee
> for an assortment of different threads.
> It is a committee based thing that takes a little time to review stuff,
> agree stuff, document stuff and then publish stuff.
> Evidence of this is seen in the manner in which the SwapsWire people
> have built their own SWML and extended-FPML that deals with things that
> are not yet in the published FPML.
> There is a similar type of thing being done by the nice people at DTCC
> to encapsulate their electronic confirmation matching service called
> DerivServ.
> The nice people at MarkIT are also working with an extended variant of
> the FPML stuff.
> At some point this will all converge, but don't hold your breath as by
> the time the FPML people catch up, the others will have moved on.

Interesting story, I had no idea the whole process was so fraught.

When it comes time to move into FpML, I wouldn't lose sleep over the
implementation details, I'd just do whatever seems most sensible at
the time, with the option to adjust later as things evolve.

> I will now take the liberty of talking to the nice people at
> Sybase to see just how generous they feel about professional assistance
> in this little venture. (No Promises, no commitments, intended as a
> feedback thing to test the waters)

Sounds good, please keep me posted and let me know if there's anything
I can do to help.

Regards,
Eric

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
QuantLib-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-dev