Financial News Network, TFNN, headline news update. Good morning, everybody. I'm Tommy O'Brien, coming live from TFNN headquarters in St. Petersburg, Florida, 10 a.m. Eastern time on Friday morning, 30 minutes into the trading day. We've got a pretty calm market to start things off so far. Dow Jones, negative by 18 points, trading at 27,006, S&P is flat right now, trading at 29,98, NASDAQ negative by 4 points, trading at 81,52, Russell 2,000 actually, negative by 6 points. That's 4 tenths of a percent on the Russell trading lower at 15,35. We have some weak numbers coming out for GDP in China. That could be hitting the Russell 2,000 and the VIX this morning, 13,89. We'll start things off. Let's jump over to the charts. We'll jump into things and start it off with the indices and we'll start it off with the Dow. A bit of volatility right around the opening bell. You'll see that plunge to a little bit of lower prices, the Dow reaching a low of 26,886.  I mean, you're talking about 100 points from where we're at at 830. We're at about 27,020. We're now sitting within about 70 Dow points of that level, 26,948. NASDAQ 100, a little bit of a different story. We did get lower action around the open in terms of a low of 79,35, but we're right back up approaching those highs pre-market of 79,48 right now. S&P 500 turning at 29,97. Again a low just before the opening bell of 29,90. Crude oil with some volatility this morning, trading a bit higher, reaching a high at about 8 a.m. of $54.61 right under that price level right now, 54,45. There's your euro, 111,42. Big weekend as the big vote for parliament tomorrow, UK, EU, we'll see if that Brexit deal passes. The euro trading 111,41 right now, and the gold contract catching a bit of a bid after trading lower right around 7 a.m. to 1488 gold now trading under 1,500, but right there at 1494. I referenced that China GDP number coming out this morning, we'll close that banner ad. China, 6% in the third quarter, slower than expected. The real startling fact here, third quarter GDP growth, slowest since the first quarter of 1992, you're talking about almost 30 years since it's been that long, pretty remarkable as China may be seeing a slowdown. Stay tuned folks, come back at 10 o'clock with Tom, then of course we've got fast market at 11, Basil Chapman, Steve Rhodes, Dave White, Tom O'Brien all this afternoon. Stay tuned folks, we'll be right back.


Hi, this is Stu Miniman with Wikibon on the ground here in Cambridge, Massachusetts at the work bar. Thanks to our friend Matt Brender from Bashow. Here with Chris Bielin and George Nagel who are developers with a startup called Noodle. Gentlemen, thanks for joining me. Thank you. So we're talking with people that are contributing, developing, using open source. First, can you just give me a quick background? Either one of you is to your jobs and who is Noodle? Sure, yeah. So Noodle is an education search company. So Noodle plans to be as a single source for all of your education search needs. So if you are looking for pre-K, you come to Noodle. If you're looking for college, what college you need to go to, come to Noodle. If you're looking for post-bacc classes, come to Noodle to find those. All right, and what's the role of open source in Noodle's ecosystem? It's kind of the foundation of everything. You take a whole bunch of open source things, you put them together, and then you start building. First it's a website, so you start and use Django as the web framework to get you organized and you make your website. And then you need a database to use Postgres and Mongo and you need something for virtual machines to use open source solutions for all of those things. And then a lot of what we do is web scraping to get data on courses and tutors in schools and whatnot from a whole bunch of different websites. So we use an open source web scraping framework and then we put our cleverness on the inside of that. And there's a whole bunch of work we don't have to do to get started. All right, so pretty basic question, but why open source? It's free, it's there, it works. If there's a bug in it, you can fix it and move on. Yeah, it's interesting. I come from kind of the enterprise infrastructure world and the old messaging used to be, oh, what about open source? It's like, oh, well, it's free and maybe there's not lock-in, but recent studies, especially over the last few years, it's really about, you can get new features faster. There are kind of the speed to deliveries there and you're not the only ones that are contributing to the code, does that resonate with you? Yeah, I mean, there's a lot of, sometimes you have to put it into thought before you pick like what framework are you gonna use, things like that. And you have to take into consideration, does it have an active community? If it's proprietary or open source, if it doesn't have a community of customers, then when you ask for help, you're not gonna be able to find it and when bugs are found, they're not gonna get fixed. All right, so we're talking to lots of different types of users and contributors. I don't think you guys are core maintainers of any projects, not necessarily maybe you are, but what's your role in it? I think we've both probably open sourced personal projects, I've certainly open sourced like little side projects on GitHub, but less contributors to large, I'm less of a contributor to large open source projects. This is a big contributor to Wikipedia, which in some ways is open source. Which I rate content for, but I also have a bot. And when you, like if you have a project and you decide to open source it, you can get things back. Both other people adopting your project and using it would have had to happen. So you get the great satisfaction of helping someone out, but if you're trying to make money out of it, the other thing that you get is if other people are using it, they figure out what you've done wrong or help you maintain it. So you get their help in return for a little bit of help for them. Yeah, can you share the Wikipedia is interesting. What's the bot? What's that do? I used to have one that sort of helped out with moving articles between categories because it was, when you decide, all right, we need to rename this category to that one. There was a whole bunch of work you need to do to do that. If you go to all the articles and change it individually, so that got automated. My new ambition, which I've sort of started down the road on is to find all of the typos and spelling mistakes in Wikipedia, like all of them, which there's like hundreds of thousands and like find them and fix them so I don't have to spend time doing that. Wow, so I mean, both those things resonate real much with me. I mean, Wikibon actually started out, we've had a Wiki for eight years and taxonomy is such a tough one because this taxonomy changes the tree structure and pushing that down. Boy, you could kill many cycles if you had to do that manually and even from an automated standpoint and stuff. Boy, spelling and grammar. I mean, grammar changes so often.  We also, I mean, Wikipedia is actually an interesting open source of taxonomy because we need to classify our courses, for example. So we use the category system there as a basis of well, we don't have to do all the work of thinking of all of the things in the world that you could learn and figuring out how they put together. We can just say, it's done. If Wikipedia thinks it's that way, it's probably right. And you take a ton of time. And it doesn't necessarily have to be a one-to-one mapping either, but you can take lessons learned from Wikipedia. They obviously spend a lot of time and energy doing, you know, making their structure. So we don't have to totally remit the wheel. We also used what OpenStreetMap uses for their mapping system for our geolocation. So, you know, you can grab like census data and things like that from the U.S. and put them together and make your own system. But they have the entire world and if you find something that's wrong, you can go in there and fix it and you don't have to put in all of the overhead of making it from scratch or pay for one from Google, which I'm sure would be awesome. If you're just starting a company, our startup got bought by Noodle and we had very little money. So it was kind of amazing how much we got done with a small team and without a ton of money using a lot of open source. Yeah, in some ways it's the network effect that allows you to take advantage of those things. Yeah, I mean, I feel like once you've solved a problem like that, if it's open source, then our civilization in general has kind of solved that problem. And you don't need to have 10 companies solving it for themselves.  Don Tapscott wrote a book, Wikonomics, which was one of the foundations for what Wikibon was founded on. And he said, take Wikipedia for an example. If we took 0.02% of the hours that just Americans do watching TV, we'd create all of Wikipedia. And it was like, you think about that. It's like, I don't need everybody full time. It's just little slices of tiny bits of all over the place we could do something with. Interesting trend, your company does, you think that some of the hottest trends out there, you think of Uber and Airbnb or Waze, they're not necessarily doing something brand new. They're taking some of the tools that are out there. They're using open source in many cases and they're putting together something in a new way. So Waze is the example. It's like, they didn't create the map. They created an app, but none of the ideas that they had were necessarily new but they created a billion dollars worth of value, I guess, at least out in Silicon Valley and were acquired for that. So they cashed in. So it's interesting, you talk to Noodle, it's like, there's gotta be a million websites for education out there, searches exist out there. But if you Google for courses, you're gonna have trouble finding them in a convenient way. I mean, the old classes from this world so very big on blowing up education and we were doing open enrollment classes. So it's like with online education and the open content would have been there happening. It's like, where is this going? It feels like something really big is happening there and the obvious thing as well is there a search engine or we could make that happen. So is the online education, things like MOOCs, does that help drive some of what you're doing or to tie into what you're working on? Definitely. It's certainly a large portion of the course content that we're feeding in. I mean, the idea was sort of, if you were to do your undergrad to a degree online or not as a one single bundle from one institution, like could you find all of the pieces and the answer is, well, first of all, it's really hard to find all the pieces, much less get certified or anything like that. So the MOOCs are a rich source of content. They're also well organized. So for data scrapers like us, we're like, yay, 10,000 courses all at once. But now we have to go out and find all the community colleges in the world and now with Nuda, all of the tutors in the world and all of the preschools in the world and everything. Okay, so to my understanding, Python's one of the main projects that you're involved in, tools that you use and the like. How long have you been using it? How'd you get involved? How active are you? So I've been using Python for about three years and that's the main language I develop in. It's really, I spent about 90 or 95% of my time developing in. I started using it because I was looking for a quick way to get up with a web project, side project and I think Django and Chained had just come out and so I saw that there was this open source project Django and that caught my eye somehow. But yeah, so I've been working with that for about three years and Chris, you were using PHP before. Yeah, I mean it kind of, a given organization seems to often adopt one language and then everyone becomes an expert in that so you do everything in that, which works. So I was like at a PHP shop. I learned Pearl before that, which transitions very easily into that and then all classes, I guess I was at Raytheon and then our group was using Python. Part of it is that Python has a lot of open source libraries that are available so if you're in a different language and you don't have them, it's not as easy and also like the syntax is clean and it's fast so if you're getting sort of the feeling about which languages are people moving toward, Python is one of those, so that's also, definitely when you mentioned network effects earlier, I worked at a previous job where we were using a language called Tickle, TCL tool command language and if you search for an error message in Tickle, like maybe you get 50 results, maybe there's one example of how to go about this but if you search for an error in Python, an error message in Python, there are like 50 posts on Stack Overflow, similar people who've had similar problems and like a bunch of different ways to solve it. So yeah, I mean, it's great having that community because you solve problems much faster, just whatever you need to answer it. So question for you, your company is actually based in New York, you guys are part of the Boston office here how much does locality matter for working in projects, building a solution, how do you guys collaborate on that? Could you share a little bit of that? Well, certainly GitHub is a huge part of that, right? So at Noodle, we use GitHub for our issue tracking, our project manager has used GitHub to see how fast projects are completed and GitHub, because so many people use GitHub, it has a huge user base, like everyone's built tools to hook that up with, for example, Slack and which is our messaging service we use. So it's not a solved problem, but there are a lot of people working on it. Yeah, it still matters. I mean, when we started, people came up from New York and if you meet them and go out to lunch with them at least once, we're going down to New York next month and meeting everyone there. I think it's important because if you try and do everything like I was in a gray office by myself in a company of several hundred people all in Cambridge and we never talked face to face, we never made friends so it just became prickly and unfriendly, but I think, so there's like a social function that needs to happen with people, but if you hang out on Skype, maybe you could do that if you try and do it a little bit more intentionally, but certainly, I don't know, I'm a little worried that I'll be waiting for help and help will need to come from New York and I'll just be waiting around. So I'm happy that I have Jordan to ask questions and comments right with, but almost all of the stuff you can do on the internet because you're going to be on the internet anyway. And we were talking earlier with Matt about sort of the infrastructure stuff, like we use Vagrant, we use Docker and I've worked on other projects where I was working on, I think I was talking about this with you earlier, I was working on a Mac machine and my other person collaborator was working on a Windows machine and getting those two environments set up and we had like different layers, hideously stacked on top of each other so we could both collaborate with things like Docker and Vagrant, like these beautiful open source projects. It's a few commands and suddenly you all have like a common shared ground to work on and collaborate. So I mean, one of the visions of Docker is to help separate kind of the application management from the infrastructure management. How does Docker, Vagrant, how do those kind of parts fit together? There's two separate things that just help solve that problem overall or is there, I don't know how those stacker fit together. Yeah, we just are in the process of setting up a virtual stack from noodle and merging it with all the classes. So if you have a virtual machine, like virtual machines are kind of heavy and Docker containers are very light. And once you get inside them, you can use something like Puppet, which we used to use or Ansible, like we're using now to say, these files should be set this way and that sort of thing. If you need to like activate your VM or connect with it or manage it or share files with it, then something like Vagrant is basically the happy way or around either your VM or your container. It works with both.  So you don't have to reinvent a bit on the spectrum. But definitely, I think we're gonna hand things off to our operations team after we'll commit our code, push it up to the repo, and then it's up to the operations team to take the resulting Docker image and do whatever they need to do with it. In the past, we've done more of that work and we weren't using Docker and that's part of the reason why we were doing more of that work. I think now we're going to be delivering the code and then have a cleaner separation structure. In all classes, we're all in different operating systems and so you want some predictability when you deploy the production that things are gonna work exactly the same. And we were in the cloud and we still are with Amazon Web Services. So we basically took an Amazon image and used, in that case, Puppet to configure it and then we basically take that same thing and have a VM that runs on all of the developers' machines. Even though I'm on the next year on the next, it's like I want you to have exactly the same versions of all the libraries and the same settings that I put in so that when I take that code, after we've all tested it and put it out there, it doesn't go crash on deploy day. I used to be pretty skeptical of virtualization because it's like the overhead and the sort of headache of having to get into a separate box, just I'm already on the box, but it's like the headaches of there's something slightly different between you and me and I don't know what it is and we have to spend three hours for you to get out. Those are all gone and it's simple. Yeah, if your tests run locally and pass locally, they'll pass in production, like they'll pass in your staging environment. Great, so if people want to find out more about Noodle, is it available now? What is the state, how do we find? What is it? Noodle.com? Wow, that's good. That's nice to get Noodle.com. It'll get orders for like, Soba Noodles and stuff like that. I'm working for a spaghetti factory, that's what I was talking about. Excellent, it's probably much easier to explain into some of these few good guys. I really appreciate you kind of unpacking some of this, talking about what the tools you're using, how you get involved and open source, you know, big piece of helping a lot of startups, you know, grow fast, move fast, but meet their customer needs. All right, so, George and Chris with Noodle, thanks so much for joining and thank you for watching lots of coverage of the open source movement here in Cambridge, throughout the company in the world through lots of events with the Silicon angle and theCUBE. Thanks for watching.


think we'll get going just because I know I'm the last person between this and drink so far be it for me to to get in the way of that I'm still far from EPAM but this is supposed to be as taught by it from Ilya Guralik my colleague Ilya had to get pulled away at the last minute Ilya is Russian I am not the only difference other than that between us is that he can speak Russian and I can't at least not before six o'clock so I'm gonna be other other than that we're sort of interchangeable I don't think it might be saying that but what I will say is at the beginning this is hopefully in form or it's the last of the session so please if anybody has any questions or comments during just just put your hand up and and and just button frankly so please don't want this to be a one-way the title there I'm not gonna read it out because it's very long but essentially we're looking at a time series database and how we might use that do do that for use it for analytical applications I'll show you some of those rather than just talk about it so first of all time base is a time series database most simply but it's more than that to the extent that it's a it's a streaming system it's a messaging middleware call it what you will so it's time series dare I say traditional time series on one hand and a streaming capability on the other those too often don't go hand in hand and hopefully I'll show you why we it does very much do that and why it does that more importantly it's been out there for 15 years that's because when I say we I was with a company called deltics we were acquired by EPAM two years ago and in that with our deltics hat on we we still do but under deltics we worked with systematic and quantitative trading firms and the time series capability sort of part and parcel of that and we built our own really to have full control over the stack so it's been out there 15 years and I'll talk about the the use cases more specifically later but it's designed to be very fast which befits an algorithmic solution and with very large data sets sub microsecond as you might expect in that environment mentions rich data schemas and polymorphism again I'll show you that just sort of have that as a placeholder very importantly though the API's python Java C++ and .net very important and some of the applications I'll show you will be in I think all of those certainly Java and Python we've got examples which I'll show you very shortly so the reason we're here is that we contributed this time base to the open source community via Finos earlier this year as a community addition the first question will be what's the difference and I'll show you that difference it's actually very little the current this is not a teaser application this is not a teaser product to get people to upgrade to enterprise it really isn't I can go into that in more detail we actually have online what the differences are but essentially they're there to do with connectivity to exchanges the kernel and the API's are exactly the same but we can drill into that if anybody's either concerned or interested about it being a teaser edition which is not so some of the use cases again I mentioned that background is essentially an algorithmic trading signal generation systematic trading so model generation and backtesting of models or algorithms against historical data is sort of use case number one for that world and going alongside with that is all of those other things I'm not going to read through them but but essentially this idea of using historical data to back test and then when you're ready which is a decision point that has a lot of things going into it we then deploy that for live trading and that idea of using historical data for in this case back testing that example and then for live trading that that sort of switch from history to real-time is one of the reasons that we call this because it is a time series database and messy middleware that that transition from historical to real-time which is not necessarily a natural transition for us is a natural transition because it had to be for our business domain that we're using on I'm not going to go through that any questions so far okay so the history there's the history the most two important ones on there are the cloud support not surprisingly a lot of demand for cloud deployments over the last few years so two years ago we really made that an emphasis so a lot of our new clients deployments now are on AWS using Kubernetes to to to deploy and scale and then this year as I mentioned earlier it's now within FinOS I'll show you where the repo is very shortly and just want to touch on this because the FinOS people asked me to talk about why we decided to open source this given that it was and still is a commercially licensed product and the reason for that is it's a fairly well with the simple lots of other matter so when we were with Delta XO pre-epound we were a 90 person engineering firm traditional software house building software taking it to market supporting it and we were selling commercial licenses usually annual subscription so obviously people do make money with an open source business lots of very good examples we weren't smart enough to figure out how to do that even though lots of our engineers were and are or are and were very supportive of the idea of open source we just couldn't figure out how to make it work commercially we got acquired by EPAM two years ago EPAM for those of you that don't know is a is a very large engineering firm with doing digital transparent transformation engineering services consultancy with 40,000 engineers it's New York Stock Exchange listed many people haven't heard of it but it's been going for 20 years and is large and it's it's you can look it up it's very successful but it's very much supported it is very supportive of open source and it fits the business model so when we became part of the EPAM family it was a natural release if you will for the philosophy to get out into the open source community and I have to worry about paying for it because somebody else did so that's how we got there and start of our journey as I mentioned really it's this year there the resources I'll show you those when we get on to the real-time stuff the live but time based on info is is obviously a website resource there's a lot of information there probably too much people tell me but the architecture documentation API's the differences between enterprise and and this community edition which I said is not very much but that's on there and how it stacks up to other of the time series databases that most people are familiar with KDB being you know great example of very very good solution one tick and then some of the other open source compared on time based on info and there's the repo there you can download it obviously and have a good time now so I mentioned at the beginning this is more about time series and how do we use this in analytics and deployment examples of deployments for analytical applications so before we was part of that I'm going to talk a little bit about time series data now in financial services we tend to always think about or first and foremost is market data whether that's level one two or three market data tends to get the the lion's share of attention in respect of time series data because it's very pervasive it's very important and it drives a lot of things which come on to orders and executions of trades is clearly another very common use case but then some of the other ones probably increasingly less common but but there they are the satellite data and the consumption data in the news social media sentiment there was a probably a five years ago there's a lot of research done on that from a first signal generation there was a big push on that we got involved in it quite a bit we did quite a bit of research using our tools and time is in particular to do that so time series the point of this is time series is not just market data that is foundational and very important but we shouldn't preclude ourselves and one of the things I'll get to show you a little bit with time basis that you define the data structures we don't just say here's here's a set of data structures go work with them you define your own and there are ones some there that are regular ones you would see but also others that may be less obvious so shipping data who's you know there's no standard data structure for that so they're the types of data the where we use them in financial services you can keep going down with this list but the point of this list here is really to highlight that we use them whether we know it or not historical time series and real-time and some examples there of the different uses using different of those real-time and historical now the reason for putting up there's a lot of common words there so risk management whether it's historical simulation value of risk or whether it's real-time trading risk position risk it's risk trade surveillance whether it was after the bad guys did some bad things or whether we try and catch them real-time it's surveillance our goal is obviously whether we're back testing them or live deploying them we need historical data and and real-time so the the point here is that this there is no hard distinction between historical and real-time real-time now is now historical by its few microseconds since I said that so this interface we don't see one essentially the difference in real-time and historical data for us in our world is the timestamp and if that's now it's real-time and if it's not historical it's it's it's and so we have this concept of the essentially a moving window where we maintain this this moving window whether it's measured in microseconds millisecond stays months or years it doesn't matter literally doesn't matter but but as new data comes in it moves along and again you define the width of that and that's very important when we get to the analytics so a lot of the common analytics that we use whether it's simple moving averages or correlations or cointegrations or even volumated average price the most simple is by definition set of data bounded by time so the concept of the moving window whether it's real-time and historic we don't care we shouldn't care and when we get to again show some things on the screen and if you do dig down on the documentation the API is the critical point here is the API is that you use to build applications are the same whether you're listening to real-time streaming data or whether you're listening to real-time streaming historical you don't have to worry about where am I now versus the history it's really important and when we again because of our background when we're back testing models and we need to deploy them lat now we don't want to then rewrite them because we spent all this wonderful time and energy building a model and we tested it in Matlab or some historical data set and then we hit the real world and we have to do a real-time and we do gee we gotta rewrite it all so it's very important that this this interface there is no effectively change in the the API is between historical real-time so that's how we describe that the other thing in analytics nowadays we expect or our users do people generally expect it to be Python is very commonly asked for now it's an expectation due towards like Jupiter no put Kafka there's open source in particular is expected to be used as opposed to you know back in the day where you had sort of fixed forms where you had to fill in fixed parameters and then you ran your analytic nowadays that the people expect the to do it themselves essentially with tools that are very accessible and of course everything is expected to be deployed on the cloud so the point of mentioning these things is that we can't predict whether or we shouldn't be able to and if we do we're restricting ourselves if we predict whether our users are just going to use historical data or whether they're just going to use time series data we don't know that and we don't know whether they're going to need tick data at measured in milliseconds or microseconds or whether it's measured in days weeks or months so we can't we can't design for any one of those things we have to design for all of them which again makes a engineering challenge which wrong way so this is this is I promise you the last slide before we get on to some actually playing with some stuff one of the when we build applications analytical applications those considerations earlier that I mentioned sort of boiled down to the game this isn't exhausted but these are some of the things that we have to consider and the first one there in the days of the you know the tradition I think we can use that word traditional relational database or Oracle or CyBase where you have these wonderful store procedures working away on the server were given whatever timescale you're looking at we're typically very fast you did your processing on the server you had the power of the service server to do that crunching and that was very good from a performance perspective that is very good but it's clearly restrictive because you're doing the count you're somebody else is doing the calculations and then you're giving the results to the person your consumer has to use it like it or not so doesn't make it right or wrong it just means that that's a restriction you trade off speed for flexibility or lack of flexibility the other extreme is the opposite of that is where I'm not doing anything to the data I'm just going to give it to you and you're going to have to deal with it right you delegate we're not doing anything and that's in the more the streaming paradigm and then obviously there's always the compromise the hybrid between the two where we do some processing on the server and then we deliver a filtered data set to our consumer to basically restrict the amount of work they have to do from filtering out stuff they don't need so there's not rights are wrong in any of those there are definitely rights are wrongs for given applications but considerations nonetheless and then data compression which tends to get sometimes gets forgotten again if you're streaming over the internet clearly you are not clearly but hopefully you have some sort of compression algorithm before you deliver it over the over the internet and then are you compressing it on the disk as well that comes back to how quickly do you need it so so those are important considerations there and because there is an overhead obviously of compression whether you're doing it on disk or streaming it and then content the CDN content delivery network is a sort of question mark because that's the maybe you know where where the world is going in certain certainly market data there are now CDNs that are you know purporting themselves to be the way to receive market data anyway going forward so just some considerations and then what I'll do now is I'm going to switch over I've got some demos as you can see and see if I can get them running this is always a yep okay so I've got a few here this is this is a as you can see this is time based on the left so this is a GUI a front end just looking at at this case this is streaming this is real time this is now this is market data from from Gemini so just on the left hand side here these these are called streams so that's I guess a fairly accepted word in time series land tables might be another somewhat crude away to do it and the one I've highlighted here is a data structure called Gemini and Gemini as you may or may not know is a one of the new crypto exchanges and what we're doing is is subscribing to prices from Bitcoin for crypto so big BTC and ETH and Litecoin so what we're seeing here is just is a real-time updates as as these coins come in so nothing this has been done there's nothing new here but I just want to scroll along and give you some idea I mentioned earlier about the data structure so this is a data structure here there's lots of comms on it the meets is at the end here so just as a note this is an incremental update so we're supporting in this particular data model both the idea of receiving a snapshot so most exchanges will send snapshots periodically or only send snapshots and then incremental updates to the order book between snapshots so this this what we're looking at here are the ones on the screen it may change or incremental updates and if we double-click we can see that data structure a little bit more there and if we look at the JSON view there we have it in JSON view and fairly detailed lots of timestamps lots of detail there so there looks like we're deleting the price the previous price from level 19 of 65,000 price gone down today by the look and then we're inserting another we're putting a new level in level six at that price so that's that's just streaming data but I mentioned I've been mentioning many times is well that's great but what about history so I'm changing now to look at just BTC USD and there it is flicking away if I click view there's my history so the API that pulls this data out this is just a very simple screen obviously it doesn't care whether it was real-time streaming or its history it's the same exact same-day structure this one static because it's historical it's a few microseconds ago or milliseconds ago this is actually a few days ago but it's the same view it's the same query it's the same everything's the same except the timestamp so the other things I can do here I can graph it okay I'm gonna go through this stuff pretty quickly because there's nothing particularly new here I'm just trying to show you the sort of things you can do with the APIs so let's make this a little bit bigger we'll look at last 15 minutes of BTC USD from Gemini so what we're doing here there's a reason I want to show you this we're doing I mentioned earlier about so there we are this is a little graph of we can drill into that the order book each of these lines is a level in the order book bids and offers and the crosses of the trades the reason I wanted to show you that is because I mentioned this one of these idea of do you do the processing on the consumer or do you do it on the server and send the results so here we're actually doing a little bit of both and here's a very simple query there it's very sequel like as you can see and it's we're doing that here as well as doing some local manipulation and one of the things I want to show here if you can see that or not but CMA SMA CMA and EMA simple compound exponential moving averages very simple mathematically very simple but a predicated on having this moving window of time because as soon as you get a new tick in you've got to recalculate everything so those those functions are recalculating every tick maintaining a moving size of a window that has been predetermined this one's one hour by the look of it on here so that's why I wanted to show you that again just in terms of data structure I mentioned earlier about you can create your own the schema here is looks like that it's I mentioned polymorphism earlier you can create some pretty rich and complex data structures here and they say you the user of time base the CE you can download it you create your own data structures these are ones we did earlier as they say okay so that's this is our front end the one that we built more in the spirit of open source here is if anybody's familiar with Grafana this is we just sort of literally lock this up this is basically the same data this is crypto this is BTC USD coming out of the same venue but using Grafana to visualize it and again we've got these this idea of the query here you can you can define your own query down here so very very sort of hopefully straightforward I'm going to keep any questions yes yes so market yes we always show things that move quickly because it looks better right than than monthly the the this can be used for us data a lot of our people we work with will do monthly we balance things for example so then the time series is month by month and by definition doesn't move very much for reference data or static data that changes maybe less or maybe more but less frequency than this moving stuff this will work it's not it's probably not the best use case you're probably better with a more sequel like if you're the downside of time series in general and this and this included in that is the concept of joining and doing complex logical joins this is not well suited for you can do it you've got a right code for it but it's not not not optimized for that so depends on the use case but it's not I wouldn't say it's a natural it's a natural fit massive repetition yeah it'll make a data model as I mean the traditional data model just hates this stuff because there is so much repetition that it's that it's yeah yes please of course yes yes you can and that's often done I see with reference data so often let's see that ties in quite well so when we have people who have a man which is most people who have an existing reference data store they don't want to copy it over but they want to access it so we'll actually combine the time series with the underlying reference data that has been that is managed and looked after and clients so very much so I wanted to watch show this one as well because guess what it's it's it's BTC USD again but more importantly this is perspective so for those of you who are familiar with and if you're not hopefully you will be now with the perspective open source contribution from JP Morgan this is it so this is again the same well this is ETH USD as opposed to BTC but it's the same data source other than the symbol being different and we just literally I'm not gonna say knocked up because I would imply sloppiness but from a speed perspective we put this together pretty quickly for this demonstration to use the the perspective tool that's available in the Finos repo to visualize essentially the same data set and it's actually pretty cool we actually quite like this so this is a traditional order book for you I'm not going to go through this you got bits and asks and different levels ticking away but they've got these really cool you can representations historical which is sort of neat and see that very often if I've never seen that and they've got a vertical chart as well so this is this is really we're actually like this a lot because this is bringing the power of of somebody else's expertise on this particular visualization tool and integrating it with our API's on top of time base so this is a very real and hopefully useful example of building an analytical application that is that is putting in this case to open source tools together in no I did say I would show you conscious of time I mentioned time base dot info earlier so this is this is this is that a few things I wanted to point out on here the architecture obviously you can go through this there's a lot of detail in here that talks about the design and the and the architecture of time base and essentially it's okay I'm not going to go through this but I would if you are interested this is a people tells me put too much stuff up here given it still a commercial license but but but it's up here and we think it's pretty good and the differences between time series common time series commercial and open sources there the differences between different message brokers because it's this messaging idea as well are up there as well and documentation the API's be since you were a development organization so there's a lot of API documentation up here as well yes please so what I'm sorry yes we can't not yes we have done is it part of the product no it's not but yes we do do we can't do that we have done I should say but not it's not part of that this time base yes scale yes it's really fast it's a good enough the it's really fast and does terabytes it's it's we've got metrics on here but but let me most of the clients that we have we are working with terabytes small terabytes not about hundred terabytes so terabytes is a sort of normal size if that means anything from a speed perspective we we we used to have this measure which is still true it's probably fast now but it was from a streaming perspective a million messages I'll come back to what I mean by that in a second messages per second per core with our basic benchmark and a message going back to the granularity that's a level to it's every time the you know the order book moves if you're just you know doing top of book it's that if it's daily data then it's that so each of those is a message and a million per core is essentially the benchmark message we got up to a billion I mean it's not all about speed but it is we got up to a million a billion messages per second when we spread out on a nice number of cores on on AWS but it's measured in millions per second latency is a microsecond measured and and size is typically terabyte times so we're not gonna say it's the fastest it's very fast this you know there's always a speed race but that's gives you hope does that give you some sense I'm trying not to wave my hands too much but it's give you something yes please that's that's a beer conversation yeah no not offline you take that one to the bar that's that's a that's a bar conversation oh sorry yes yeah so the other thing I should have finished with what I was answering that question about so it scales down the scales up so this is not running on there but we used to do all our demos on two core laptops running fast queries typically so you said US equities level two that maybe is like a 16 core machine on a single M2 x5 is that what that is something like that we normally just use one compute node on AWS for most use cases yes yes yes yes absolutely and then and that's why I don't need to tell anybody about why it is useful but but if it isn't 16 cores and it happens to be more then that's not a big deal so but it is designed it and the reason it's designed this is a little bit of history but a lot of our engineers are in are in are in Minsk and back in the day 15 years ago they didn't have all these great machines they had very old machines and they didn't have they had to design very good software to perform on the machines that they had so that's that's what they did I think well I think I know I'm getting waved at so any any more questions any more questions before we wrap up I was pretty much done I was just showing you some some examples but any more questions otherwise very good thank you very much