 Thank you for joining us at this session today. I'm Rhiann A Auckland. I've been at Goldman Sachs for 10 years and I currently manage our London Data Models Team Helping to build the data models for our global market business. Prior to that, I spent six years in the Middle Office supporting our credit derivatives Mr from everything operational. Hopefully, you are able to tune into Piers Keynote session earlier in this conference where he took us through the technology behind legend a'r ystafell fyddien o'i gwneud. Mae angen i'r cwestiynau, yn ystafell i'r gwell yn dda i'r un o'r gweithgareddau, yn cyhoedd yr un driforol, sy'n cydweud hynny, peir. Felly, mae'r ddweud i'r unrhyw ymddangos sy'n wneud i gael y cwestiynau. Mae hyn o'r cwestiynau'r gweithgareddau yn gweithgareddau yn cael ei gydag yma ychydig yn y ddydd yn ddigon i gydag ymddangos ymddangos. Felly, mae'n gwneud i gyda'r ddweud eich bod yn legend, ac yn ddatblygu ddweud i gydag cyfreu'r ystyried arall, oherwydd y cerddau a'r ddweud yn hynny. Byddwn ni'n ddweud, gan nhw'n ddelch yn ysgrifennu, Pia ac Ier oedd wedi'i gweithio ar y cerddau o'r ddweud o'r ddweud i ddweud i gweithio i gydag a'n ddweud i gydag ar y sgreun, ond yn y cerddau cyd-relygu, yna'n ddweud i gydag ar gweithio. Felly, yn gyntaf y dyw i'n fifio'r ddaeth i'r ddiweddau i'r ddiweddau i'r ddiweddau. Mae'r ddiweddau ar 4 yma, rydym ni'n cerdydd tdwynd i Isdor a'r ddylai'r ddiweddau ar y dyfodol y maen nhw yw'r cyffredin cyfathau yn ddim yn gyfath. A rydym ni i'n gwybod a'r hefyd yn gwybod yma yma, byddwn ni'n gwybod yma cael y ddydd ei wneud i ddim yn gwybwys iawn i'r cyfath, And on't just demonstrate it just as a tool and as a functionality. So, the CDM felt like a great place for us to position the pilot and, with the support of ISDA, WEGNOSYS and SRFINOS, we were able to set up two working groups. The first one looked at developing and enhancing the current code available for FX options, and the second looked to build a brand new payout in order to be able to define commodities products. Last month, we successfully committed code back to the CDM, and this was a big milestone for many of us in the project, showcasing how legend was able to help us to continue to build and develop together in collaboration with the industry and translate that code back into the Rosetta form in order to be able to submit that to the golden source. Some of the functions that we found really helpful during this collaboration were the diagrams, and I will showcase that a little bit later in a demonstration. One of the things that came out of the pilot that we felt would be even more beneficial for collaboration was the idea of a notes page, bit like a sticky note where you may just want to jot down some ideas to come back to as a group or even put it out there for someone else to try and solve a particular issue that you were working on. I'll also demonstrate that as we go into the next section. As a second part of the demonstration, I also want to show you some of the extended functionality within legend, mainly the validations, the model to model mappings or transformations of data, and then how we can test this to demonstrate the compilation of the code. Finally, we'll look at how we actually commit this code back and the SDLC functionality that is available through GitLab to ensure that we have governed commits and we avoid any conflicts. So let's get started with our demonstration. Hopefully you can all see my screen. So we are going to use the CDM that I just spoke about as part of the demonstration and this is available in the external version of legend. So if you choose the project, you can then create your own workspace. So for this, I will call it LFDemo and hit create. Once that's ready for you, you can hit next to open your workspace and now we're all set. So you can see on the left hand side here that we have the CDM available to us. If we open these drop downs, you can actually see the model and for those of you that are familiar with the CDM, some of these classes you will recognise. For those of you who aren't, these are just all the classes that have been built to define derivatives products. And within each class, there'll be multiple properties and we'll show you some of those a little bit later on. When I started out, I mentioned this idea of diagrams. So let's have a look at one of those. So this is a diagram of payouts. Payouts is how we define products in the CDM and the idea is that they are building blocks to defining a product overall. So in this version, you can see the entire class of payouts and you can see that we have other classes coming off of this. You can zoom in and out using the scroll button on the mouse and you can also move it around using the right hand click button. You'll notice when you zoom it, you're actually focused on the centre of the page. So if you move it around, you can then zoom in to other parts of the diagram as you wish. To collapse the diagram, very simple. You can click on the class and hit delete. So I can do this across all of them. And as I do, you'll notice that old back into the original class. I could also go into the model and start to pull those payouts back out again. So if we go and have a look for the interest rate payout. If I drag this back into the diagram, we will see it removed from within the class and connected by a line with all of the details within itself. Next I want to show you how to use the sticky note. So in here we can quickly and easily click the plus. We have a choice of things to create and we are going to use a few of these a little bit later. But the one I want to bring your attention to now is this new text. So if we call it to do within this, we can just type some things down that might help us in the future. So from those payouts, we may want to do a few extra things. We may want to change the name of a property. We may also want to combine the equity payout and the commodity payout into an asset payout. And this is actually what happened as part of one of the Finos pilots. You will see that our to-do does find its way into the left hand side here as well. So we have a to-do list. How about we give it a go to do the actual first one on our list? So if we go back to our diagram, you'll notice it's here in the left hand. But also since I've already picked it up, you will see it in this top panel for a quick and easy navigation. And if we double click on the payouts here, it will open up on the right hand side such that we can see the properties within that class and edit them directly. So the first item on our to-do list was to change equity payout to asset payout. Hopefully, as you can see from that, nice and easy to make that change. If I wanted to add a new property, I just hit the plus here and I can equally remove it using the X. What I wanted at this point is show you the compilation of the code. Now in this scenario, I am expecting it to provide us an error because the asset payout or as was previously called the equity payout is in other parts of the code. And so by trying to compile now, it is likely to fail, but we will go through it to show you. Right hand side, but it's also brought up the code in the background. So for those of you who are more comfortable with coding directly, this is all happening in the background and you could update directly in here. But if we hit F8, it will take us back. So now I want to take you through to some of the more extended functions available within Legend. And to do this, we're going to have a look at one of the classes called FX haircut currency. So this is a class that has two properties. One is termination currency and the other FX designated currency. Basically for this class, it is defining which currency we use for the haircut. If it's the termination currency, then this is termination currency attribute would be true. And if this was false, then we would be able to specify a currency that we would want to use. You can see that this is termination currency is Boolean and is mandatory. Whereas the FX designated currency is an optional field. And this class actually has a few constraints on it. For those of you who are familiar with code, you might already be able to see a discrepancy here. We have a validation of one of constraint, which is saying that you must have one of these. However, you can notice that the is termination currency is mandatory and therefore we're always going to have two. So this is actually obsolete, but I am going to leave it here so that when we come through to the tests, we'll be able to demonstrate that the tests do fail and we can resolve it at that point in time. So to run the tests, what we'll do is also generate a model to model mapping. Now this is something that would help you if you were looking to map perhaps between proprietary data models and industry standards, or even internally between your own data models, you could do this model to model mapping in legend. So for us to make a start, we are going to create a new package. And I'm going to call this one target haircut. And within target haircut, I'm also going to create a new class. So as you can see, I've been going through nice and easy to navigate adding new items. And now we have a new class, I can add the new properties. So on my internal model, I'm also going to have two properties. But I'm going to call the first one use termination currency and specified currency. I'm going to leave both of my attributes as string, but I will make the specified currency optional, given we won't always need it. So how do we map between these two? Again, to add an item just in our drop-down list, add a new mapping. I'm going to call this mapping haircut. Now we have the ability to add the target class and also the source class. So if we add the target class first, this is our target haircut. And here on the right-hand side, we can add our source, which is the one from our CDM model, which is FX haircut currency. So in the middle, you can see it's already pulled in our properties from our target class. And on the right-hand side, the two properties that are available to us from the source class are ready to go. So we can drag and drop these to demonstrate the mapping. Now you may remember that actually the is termination currency is actually a boolean. So we need to do a conversion of that into a string. Now you will have noticed as I was typing there that there was a red error box just below. This will be there until you have written a logical statement in the code. And that's very helpful for those who are perhaps not so technical in the coding languages. So we now have a logical transformation from our is termination currency to use termination currency. And our specified currency and FX designated currency should work as they are. So let's start building some tests. So we want to test our new target currency class. So here we can build some data. So is termination currency. I'm going to start with false such that we can specify a currency. Let's go for GBP for these purposes. And we can generate an expected result and I'm expecting this to fail. So it's actually failing because we haven't actually changed our equity payout back. So as I mentioned previously, when we did our compilation, this asset payout was in other places. So if we change this back and this demonstrates that the entire time that the code is compiling. And that helps us to avoid conflicts in data as we go along. So we now have another error. This is the one related to our constraint. So that one of constraint that we mentioned earlier. So nice and easy way for us to fix this one if we go back to our haircut currency class and into the constraints. We can just hit the X to remove it. Now if we try and generate an expected outcome. Excellent. So now we have an expected outcome. We can see the conversion of our code. So is termination currency of false has mapped to no. And we've now received our specified currency of GBP because of that. I also now want to create a test so that we can test true in this scenario. So to add a test, I just click the plus button. I'm going to leave this one as true. And let's go for USD this time around. Although when I try and generate this expected result, I'm again expecting to receive an error. And that is because when is termination currency is true, we should be using the termination currency and therefore should not be specifying another. So in this case, we actually need to remove the additional piece of data from our source. And now we have an expected result with our use termination currency of yes and our specified currency as null. So we have two tests available. As you can see, as we built those tests, the validations that we expected to fail were failing, and therefore we were able to demonstrate those. And now we can actually run our two tests here. So to run the tests, you can hit the play button. So we have one test passed. And we'll just do the second one as well. And our second test is passed too. So we've now been able to demonstrate a check of the validations. I've managed to also show you how the compilation runs in the background the entire time such that if anything is changed, even if not directly to the code you're working on, it will also throw an error where necessary. And we've managed to test our model to model mappings between two classes and show those to be able to pass. If this was where we were and we were complete with what we wanted to do today, we could then go and submit this back through the SDLC. Now there is SDLC that sits within GitLab. So each submission and commit goes through GitLab, but you are able to do that directly from legend. So the changes are tracked, everything that we've done today. And I could go through and submit these. Once I've submitted, people could go in and also approve them. And once approved, they could be merged back in. So all of that can be run directly from the UI. It can also be done by GitLab as well. So that's everything we wanted to show in the demo. Hopefully that's given you a taste of what you could achieve by using the tool and some of the benefits in terms of how we use it in the industry for collaboration as well. So the other two parts of this session we wanted to cover were what other opportunities are there beyond this CDM use case for us to collaborate in the industry and use legend as a tool to accelerate those industry standards. So there are a couple of projects already running. One of those is the Finos Securities Reference Data Project. And this is one that was set up actually on the back of the FX Options pilot, where we found that it would be really helpful to have an industry standard around FX currencies. And so there was one that had started up, was in relatively early stages, and they are now looking to use legend in their data modelling going forwards. Other places, so Finos also have a financial objects project where they would want to be trying to solve specific problems in the industry. Now this could be within the derivative space already continuing to develop the CDM as we have already demonstrated over this last year. It could also be looking at other areas and other problem statements that could be in new products. It could be different parts of a life cycle such as the quoting. Or it could be specific issues in the processing that we can identify today. Another option is to go beyond financial data specifically and actually look at other strands of data within the industry. There's obvious ones around reference data perhaps or market data. Another that we looked at also was actually ESG data. So as part of the pilot, we started to explore this. It was decided that it was probably going to be a bigger project than we could tackle within the timeframe that we wanted to. But during those discussions, it was definitely identified that it would be a helpful place for us to start to standardize industry data in this space. And so perhaps that's another place we could continue to develop. So new features that are coming into legend that should also help to bring extra benefits in this space. So the mapping to databases. So giving access to real data such that you could start to integrate that into your processes and into your systems. This way we'd really realize the benefits available in terms of industry standards and communicating in data. Supporting flat data sources. So the idea that we could output a CSV file for instance. And automated code generation. So I did mention at the beginning that we were able to translate the code from the legend language to Rosetta in order to submit that back as part of the pilots. That will be available coming soon. And it will also give us the opportunity to add other languages into that translation. So you could use it for proprietary language transformation or other languages that are available in the industry as well. And finally, let's explore how you can get involved and use legends as we go forward. The first one is contribution. So legend is now open source that happened last month. So you can contribute directly through the GitHub legend repositories. You could go in and raise issues or comments on current codes that people are working on raise issues just that you think should be resolved if you can go and resolve it yourself. Another space is the dock site. This is actually where new people who are looking to onboard onto legend can go and get demonstrations similar to today, but in different parts of the system as well. And you could go in and improve that document site as you start to use it and play around. Secondly, collaboration. We've touched on this, I guess, in the use case and also just recently, but you could get involved in collaboration that's ongoing in the industry. Perhaps there's some current efforts that are of interest to you and you could get involved in those groups and influence industry standards or suggest and push new industry standards. So where there's places that you think there would be benefit to actually build a working group, get some industry participants together and start working in legend to improve that. Finally, adopting legend on premise. So this is where people start to really gain those benefits of that model to model mapping that I demonstrated being able to generate your proprietary models in the system and map those to some of the industry standards that are already available. You could also, as I mentioned before, start to map between your own internal data models, perhaps, and that would help in translation and processing of data in other ways. So thank you for your attention through this session today. As I mentioned, Pierre and I are both available for questions right now, and we'd love to continue a discussion on any of the points that I have touched on, or also that Pierre mentioned in his keynote speech. Please do follow up with us and thank you for attending.