[Music] thank you for those of you who are new to the fdp Charter it was started by Kaya Association to provide world-class training and education to financial professionals to meet the needs of digital transformation in the industry we have just one introductory slide then we'll jump right into today's webinar the FTP Institute Charter is a self-study program that provides financial data professionals an efficient path to learn the essential aspects of financial data science our curriculum covers a wide range of topics as shown on the screen and you can also access our current study guide to review the learning objectives and skills needed to succeed with the FTP Charter in order to obtain your Charter there are online class requirements in either python or R and one exam consisting of multiple choice and multi-part constructed response questions there are no coding questions on the exam but we certainly hope today's presentation will help you be more prepared we're currently halfway through the April exam cycle and we wish all our current candidates the best of luck registration for the October exam cycle will open on June 1st please visit our website for more details and we invite you to set up a profile to stay informed about upcoming webinars in our educational series today we will be discussing how to build better portfolios in Python using risk folio. lib I would like to welcome DrHussein kazimi senior advisor for Kai Association and The fdp Institute he will be introducing our moderator and FTP charterholder Cordell Tierney who has graciously introduced us to today's speaker Danny kahas hello Hussein and thank you for joining us I'll turn it over to you sure thank you Kim good afternoon good evening thank you so much for attending our webinar Series this is going to be a fascinating series because in this particular one Danny is going to talk about his package about portfolio optimization and portfolio construction and we are grateful to Cordell for introducing us to Danny Cordell has more than 15 years of experience at the portfolio manager portfolio Analytics and I really recommend that you watch the webinar that Cordell and I did about a month ago where he discussed his approach to shopping style analysis and he's going to be using that in future webinars perhaps to show us how we can replicate the various investment strategies so I highly recommend that one and I thank God again for introducing Danny to us Cordell as I say the floor is yours thank you thank you all right thank you hello everyone so my name is Cordell Tanny uh as Jose just uh introduced my actually I'm I'm closing in on 23 years of experience now in the financial services industry I'm in Montreal in Canada I currently work as a consultant for one of Canada's largest mutual fund companies where my role is to work with our clients which are financial advisors registered investment advisors and I help them with their portfolio construction process so I help them build out model portfolios and how to implement that with their clients so uh you know I have my CFA Charter I also have the frm charter and I receive the fdp charter in the April of 21 class I believe and I loved my experience so much and it really helped me with everything that I was working on in terms of my machine learning my AI all of my Quant Finance projects that I reached out to The Institute because I really wanted to get involved and help promote the designation and really help promote the whole field of AI and machine learning in finance so I'm very active up here in Montreal working with a number of colleagues to promote the FTP designation to get more people on board so that's a little bit of a context why I'm here helping out and one of the reasons the other reasons why I'm here is I'm trying to help you know I was out there like pretty much everyone else on this call constantly wanting to get better to learn new things how could I learn new things about AI machine learning python data science and how could I use that for my own projects and to make me better at what I do so I was building a number of applications based on portfolio construction especially for some of the algorithmic strategies that I work on and I was starting to build my own portfolio optimization portfolio construction routines and then when I was doing my typical Google searches like we all do and winding up on stack Overflow this is before chat GPT came out I came across risk folio Dash lib and I started investigating this python Library this is the one created by Danny our speaker today and I was absolutely amazed at the depth of the optimization routines and it had all of the most the newest techniques out there it was just so well done I found it even better than some of the institutional grade optimizers that I had experience with that I I was just blown away by I reached out to Danny to congratulate him on doing such a phenomenal job with it coming from someone who's done a lot of this as part of my professional career I was just blown away by some of the features and what I was able to do with it so I reached out to Danny and stayed in touch with him and as I've been working with the FTP Institute to try and get more webinars out there because we know that people are looking for more hands-on experience I thought this would be a great way to introduce a number of the Python packages and the people behind them that could help you with your own projects and that's really where we are today so what we're going to do today is I'm going to turn it over to Danny in a couple of seconds he will be able he's going to introduce himself he's going to walk you through some of the features of risk folio dashlib and then we're going to take some questions and answers afterwards now we received a lot of questions already so we've already gone through them we're going to try and answer as many as we can we're going to keep an eye on the QA that are coming in we can't answer everything we only have an hour and we try to respect your time and finish right at noon so we're going to do our best to answer all the questions and we'll we'll take care of that after Danny makes his formal presentation so with that Danny I'm going to turn it over to you and uh why don't you show us what you did hi good morning good afternoon good evening hi nice to meet you my name is Danica has I am from Peru I studied economic engineering at the National University of engineering here in Peru and I have a master's degree in finance at Pacific University in Peru also well my whole career was in financial planning but well I always liked mathematics and also the investment industry so in my free time I like to investigate I well I like to read a lot of papers and also in my Master's Degree I learned about python they don't didn't teach me but I learned that programming which exists and then I started investigating by myself and also I try to find I find some libraries related to Port of optimizations but this Library doesn't meet my needs because most of them are only focused on Markowitz model and well in that moment I decided to build my own portfolio optimization package and this is how respolio lives born this is well well I try to to put in respondually all the knowledge that I have reading of 10 years is nice since I left the University I try to put all the information that I learned in my life here in in respolio so I'm going to start with the presentation here I'm going to share my screen so here well the problem that risfolio leave is trying to solve is how asset managers build a portfolio for example asset managers have a wide universe of assets and classes and models to choose so for example they have cash fixed income equities Commodities Alternatives and inside cash they have cash BT Wheels inside fixed income they have government government bonds corporate Bonds in equities stocks ETFs and also well Commodities all in all with another in in alternative hedge fund private States real estate and other kind of instruments but the problem is how to combine them because each as class has different kind of behavior and also each asset class has a different correlation between them so there are a lot of models for example there is the every six sixty percent of equity 40 in fixing income the one divided by n portfolio or equally weighted portfolio also there is an an heuristic the 100 less eh inequities and the rest on physical income also you have the domain model that assign a big proportion of the of the money into alternative Investments and also you have portfolio optimization that is most mathematical and resolution is focused on portfolio optimization but what is portable optimization well portfolio optimization is a process to select the best possible combination of assets according to a set of desired objectives and constraints using mathematical techniques and well the advantage of using mathematical techniques is that you get diversification and you reduce the idiosyncratic risk other or the risk of individual companies also it leads you to more efficient portfolios in a risk release return relationship because you can find the the portfolio that gives you the higher return giving a level of risk also allows to build custom portfolios designing to meet investor needs because well investors always have a lot of constraints depends of there are individuals or institutionals individuals maybe they want a low level of volatility a level of expected return they don't want to invest on some kind of asset classes on on some companies and institutionals they have constraints on the countries they they can invest the sectors the industries the asset classes so this is very complicated to do and disadvantages also well there are a risk of overseas over diversification to many assets increase the cost of rebalancing well this happens when you apply a model for example risk parity the risk parity by default assign a wait for to all assets in a sample so if you have one hundred percent in your sample the respiratory is going to assign a percentage inside the for each asset for each assets uh more appropriate for frictionless markets and liquid assets yes because we need a lot of information in this case to build portfolio optimization models so we need a assets that are liquid and traded every day and also well portfolio optimization requires complex mathematical models and some models are hard to implement and solve for example models that include exponential constraints or models that include higher moments are difficult to solve and here is where resolio live appear well risk foliolib is a library for portable optimization in Python made in payroll here it's built on top of CVX pi and is integrated with pandex with pandasat structures well Civic spice software for for complex optimization and while pandas is a library for handle data frames it allows users to solve two kind of portfolio optimization Pro Models well now in in Industry well in academics there are two kinds of portable optimization models the portable optimization based on convex programming and the matching learning portfolio models so in convex portfolio optimization we can see the classical risk return trade-off like the Markowitz model the here the risk parity approach using the risk budgeting approach also the risk parity is in the least Square approach and the worst case optimization that is a robust optimization technique that allows us to incorporate uncertainty in estimate the expected return and expected covarian Matrix into the optimization problem and also we have the Imagine Learning portfolio models that will all start with the hierarchical risk parity developed by Marcos Lopez Prado and then we have the hierarchical risk contribution and the nested cluster optimization so first we are going to see what is the convex portfolio optimization well the convex portfolio optimization is based on convex programming and well these are all the models available to solve inside uh well wristfolio so for example in the case of risk return trade off we have the the classic risk minimization of a complex risk measure subject to some linear constraints and well some limits on on some risk measures also you can maximize the return subject to a linear constraints and constraints on some convex Rich measures also you can maximize the utility function using well subject to linear risk measures and constraints on convex with measures and also you can maximize the risk adjusted return Ratio or well in the case of variances that start radio subject to a linear constraints and constraints another convex risk measures also you have the risk parity approach the the respiratory approach tries to well using the least Square approach you have the risk contribution of an of assets and the release squares tries to minimize the difference between the the risk contribution respect to a Target risk contribution so for this reason is at least a square approach and it's only available for the variants and for other kind of combusters measures we have the risk parity using the risk budgeting approach and in this case the risk contribution is used as a constraint for this reason is called risk budgeting because you have a budget on the risk contribution and also you have the worst case that is very similar to the risk return trade-off but include the uncertainty on the estimation of the governance Matrix The covariance Matrix and the vector of expected returns example well in this case when we made a the variant minimization we assume that the covariance are inside and an uncertainty set and also when we maximize the expected return we assume that the vector of expected returns are inside an uncertainty set so this is a convex optimization that are more mathematical and in what case we use the convex support of poly optimization well this is a traditional approach for for example optimization and we can create portfolios that minimize the risk of a portfolio that create constraints on asset classes we can in this in this kind of models or in this kind of models we can build tracking error constraints with respect to a benchmark also we can create a long short portfolios like the dollar neutral portfolio and also we can add best constraints on risk measures like the volatility the c bar drop downs something like this and then we have the the mouse mode uh the last kind of portable optimization models that are the models based on machine learning techniques we have three three models now well we have the hierarchical risk parity the hierarchical equal risk contribution and the nested cluster optimization well in the case of the machine learning or graph based portfolio optimization all of these models start with the dendogram these dendogram is well it's a graphic here that show us the relation the hierarchical relationships among assets so we start with a correlation Matrix or well in more General with aqua dependence Matrix and we transform this codependence into a distance Matrix and using this distance Matrix Matrix we transform this into a into that endogram and we can see how related are each passes then while the hierarchical disparity using this this structure from the dendogram takes the this small Matrix here oh well this Square here is the messy correlation Matrix and using the hierarchical well that endogram we ordered the the correlation Matrix and we can see here the Clusters inside the Matrix so we start with a messy correlation Matrix and we have then an ordered correlation Matrix this allows us to identify the relationships among assets and then finally the hierarchical respabity starts by esprit. nogram by the half and start to assigning the weights of assets you see in the Nave respiratory well stay by the house then take one half and start dividing by the half and see until they reach the level of the assets or leaves of the dendogram the hierarchical equal risk contribution is similar but in this case they add a stop criteria um to stop in the optimal number of clusters that are here well done number of optimal number of clusters are represented by these squares in the diagram by colors and well you have a lot of criterias but well in my case I choose well in the paper also choose the Gap in the statistic to select the optimal number of clusters and when you have the number of clusters you also reorder the the correlation Matrix and you the difference between the theoretical disparity and the hierarchical equal risk contribution is that the the hierarchical equivalent Revolution instead of splitting by by the half the identogram it follows the dendogram structure so it follows the line of the the lines of the dendogram and start splitting the risk using knife risk parity among the the disruptor along the structure of the dendogram until until they reach the optimal number of clusters so and finally we have the nested cluster optimization uh well the also I didn't mention about the hierarchical disparity was developed by Marcos Lopez Prado the equal risk contribution was developed by Thomas rafinot and the nested cluster optimization was developed also by Lopez April and Lopez Prado in this model he takes the idea from from the hierarchical equal risk contribution of the optimal number of clusters but he combines this model with the convex portafil optimization that we see in the other slides and the idea here is that well we select the optimal number of clusters and we run a portfolio optimization model inside each cluster like for example minimize the uh the risk inside each cluster and then when we have optimal weights for each clusters we built a portfolio for each clusters and then we run a risk minimization of the of the portfolios or of each clusters so in the end we have a wait for each cluster and we have weights inside each cluster inside each cluster we have waits for each asset and also each cluster has has a weight so the final weight is just the multiplication of the inter cluster weight and the intra clusters inside the cluster's weights so that's the idea of the national plus optimization and all these models are available here on risk foliolet and well other features that risk for your list has are for example you have the the efficient Frontier you have the efficient Frontier you can build the efficiency for about 22 wrist measures I think so and for example in here in the left we can see the the efficient Frontier for the standard deviation and the expected return also well here below we can see the structure of the efficient Frontier per asset and how this structure change along the axis along well the efficient Frontier and also here in the right we can see the efficient Frontier for the c bar or the conditional value at risk and here below we have the destructor of the efficient Frontier for well we have this router for the c bar Frontier so also another other function functions of resolute lip we have the risk 12 we have also a chart for risk contribution so in this chart we can see the risk contribution of each acid depending on the portfolio this chart here in the left above here these represent the risk parity portfolio using the equal risk contribution and here below we have the risk contribution assuming that the the risk equal risk contribution but their asset class so we add we have for example classes like industry and we split the risk among asset classes instead of take passes also we have we can plot the portfolio returns histogram and also we can see several risk measures for this portfolio and also we have the asset clusters Network this is um this plot is related to the machine learning portfolios because this allows us to to see the Clusters in a portfolio and also how they are related among them and well there are here are some refolio leave links well the circle is available on GitHub also the documentation is available on read the docs well examples are available also in read the docs there are about 42 jupyter notebooks with examples for a lot of cases also you can go to the pipei Pi Pi page for installations here and well if you want to donate for this project well you can go to GitHub sponsors on coffee and now we are going to start with the risk folio lip tutorial and then let's go here to Jupiter notebook I'm going to view a little header yes okay so first to work with respolio lip we have to download some data well I in this case I'm going to use y Finance but you can use another libraries like well you can use a Bloomberg API you can use open BB SDK and I think that there is another one is Yahoo query uh carry carry you can use that kind of libraries but in this in this case I am going to use way Finance because I am more familiar with Wi-Fi Finance and we have to download the the assets here we are we download the data the good thing with result is that you can increase here the the list of assets you can increase in this case r25 you can increase this to 30 100 1000 there is no problem if only the only thing is that you need a computer with more resources when you increase the the number of us then you calculate the asset returns here using pandas because your information that you will receive with Y Finance are are a pandas data frame so we can we here calculate the the returns using the PCT change function and we have the returns of the asset of this table and then here we have uh the use of resolio lip to use resolution we have to import risk foliolib SRP and then we have to build first we have to build the portfolio object in this case well and when you create the portfolio object you have to assign a matrix a data frame of returns always with data frames it's better to work with data frames and then you create the portfolio object then you have to estimate the input parameters because well as you know you when you run optimization models you need depends on the portfolio you need the vector of expected returns and also you need the covariance Matrix and for example and if you use the kurtosis model you need the cochrotosis Matrix so you need to estimate the parameters and resolio ellipse allows you to to estimate uh a lot of well has a lot of ways to estimate the the parameters well in this case I'm going to use the historical version but also it has the for the expected returns you have the exponential weight and moving areas for covariance Matrix also you have the Allied angle shrinkage the the noise and the Turning from Lopez de Prado also the J logo from tomasoaste under a lot of ways in The covariance Matrix and then you estimate here the the expected return well the the inputs of the portfolio models and then you have to to set the the parameters of the optimization well first you have to to choose the model and a model well there are four models on resolio leaves using the the classic is using historical estimates well there is a black Letterman well for that for black Letterman there is another tutorial another tutorial available on documentation uh also you can use Factor models so if you have uh a data set of factors and you want to use a factor models and also a table of Matrix a loading Matrix or sensitivities Matrix you can use a factor model and also you can use black Letterman with factors models so you can you have these four options uh there is measure well in this case MV is the variance I call MV because well the various model is most well known as mean variants so for the reason why I could hear me MB uh well the objective function well in the case of convex programs we have the the maximum well minimizer risk maximize expected return maximize the utility function or the sharp rate these are the four objective functions and well this parameter is is only when you we work with factors because when we work with factors we can use the the factors estimates of the returns or we can use the historical estimates of the returns to calculate the risk measures and also well here the risk-free rate in Industry rate must be in the same period and the same frequency of the returns of the returns and also these L represent the risk but the risk aversion factor and is only useful when the objective function is utility and then when we have to we get the weights using the optimization method of the portfolio object here and we assign the parameters well we we gave the model there is measure the objective the risky rate the risk aversion parameter and this is value and if we run this we get here the the optimal weights so this is the optimal portfolio that maximize the sharp rate if and also you get the the weights as a data frame so if we can if we want to see the the portfolio composition we can run this this plot by function and we can see here the decomposition well in this case MMC is the high guess has the high gas weight and the second one is Microsoft vax and and also Resolution Group the in this chart group the values below I think so five percent now one percent I think so and group these values into another category because there are very very small uh to calculate the efficient Frontier also you well the portfolio object has a method called efficient Frontier and well it works like the the optimization method but there is an additional parameter the is the number of points in the efficient Frontier and well you have to to give the model the the risk measure the points and also the there is free rate well the registry rate in this case is used for for the the first lower partial moment and the second lower partial moment because for these two risk measures the risky rate is used as the minimal acceptable return or Mir okay so there is measure the risky rate here for only is work for these two risk measures and if we run this we have the efficient Frontier the weights of each asset along the efficient Frontier and also we can plot the efficient Frontier well to plot efficient Frontier we need the vector of expected returns The covariance Matrix and the under returns and we can get these values using these properties from the portfolio object the port a fully object when we calculate the the asset stats we save the vector of expected return as a as a move property The covariance Matrix as a property and the returns as a returns property so we can recover this and well to plot efficient Frontier well we need the the weights of deficient Frontier well we need the expected return the vector of expected return the covariance Matrix the returns that is measure also the risk-free rate this Alpha is related with this this is the significant level in this case we are for this efficient Frontier we are not going to use the alpha but when we build the efficient Frontier for c bar we are going to use the alpha well DC map is to color the the sharp ratio and then these parameters are for additional portfolios imagine if you want to plot other kind of portfolios and compare these portfolios to the efficient Frontier we can add here a list of portafolios and here is the size well and these are and other parameters related to the size of the the chart and the size of the points and if we run this we have here the division Frontier and this is very fast because well here in Risk folio we don't use the the quadratic optimization version of Markowitz we use the second order con programming version of Markowitz that is faster and also is more accurate and if we want to to plot the decomposition of of assets of the along the efficient Frontier we can use here the this object float Frontier area and we have to to assign here the weights of the efficient Frontier well they call the c-map or the color categories the number of colors well this is a number of colors of this cycle so when we reach 20 or 21 the cycle is going to be repeated and here we have the head and well the wheat and this is this x parameter is when we assign an access object from a figure in metal lip but if we run this we can have here the destructor but also we can change here for example plasma can change here the colors if you don't like it like here using plasma and if you can see when it reached 20 it repeats the cycle so we can change here to 25 so this is how worth these two parameters but let's keep them as 20.
the original version and this is how you can use resolution to build the deficient Frontier on using the the markovitz model but also well resolutely allows you to work with more wrist measures and in this case we are going to to calculate the portfolio that means that maximize the mean silver ratio and in this case we only need to to replace the there is measure with c bar because it's the name of the wrist measure we have to add a significant level we can change this to to 10 percent to to 3 percent by default is five percent is the most common value used and we also run the optimization the optimization method and we get here here is the portfolio that maximize the the mean silver rate and we can also plot the same way the decomposition and if you notice is very soft the transition from one wrist measure to another risk measure just changing award and another and adding one parameter also we can calculate deficient Frontier here and the efficient Frontier also there is an alpha parameter but what is the same parameter we can run here and we have here it in this case it takes more a little more time than the mean variance because the receiver is based on linear programming so it takes more time when we work with linear program a little more a little more and also we can plot here the the efficient Frontier receiver so we can see here the DC bar efficient Frontier and also we can change the silver for the E bar or another kind of risk measure the first lower personal moment the the curtosis is the what more other risk measured the conditional drawdown at risk well you can change the this value and you can get another efficient Frontier and also we are going to plot here decomposition and well because this is a linear programming model you can see that it's not soft the transitions are not solved as the transitions in the markovitz model we can see these spikes in transitions because this is a linear programming model so there are corners or Solutions in this case but well here well if we want to calculate for other kind of risk measures for example we have here the mean absolute deviation the semi-standard deviation this is the the risk measure that markovates wants to wants to read in their paper this is the this is he wants to work with the semi-standard deviations he wrote in his book he wants to work with the semi-standard deviation but it was easier and whether for for practitioners the the standard deviation because it was easy easier to understand to understand than the semi-standard division and also mathematically is easier to handle this than the semi-standard deviation well also you have the first lower partial moment that their optimal ratio is the Omega ratio the second lower partial moment that its optimal rate is the certain ratio you have the conditional value address the entropic value at risk here is the relativistic is not the the entropy reality Mystic value at risk also you have the worst case or virtualization or minimals models you have the maximum drawdown the Aboriginal down Cedar entropic drawdown relativistic drawdown ulcer index I think that here is not the kurtosis and half proton semicurtosis another models and the ranch well I keep this because these are the easy fasters the others takes a little more time because we are going to to use the E bar and the relativistic bar and also the either and the relativistic relativistic drawdown and these two risk measures are a little difficult to solve because they use exponential cone and power con programming so in this case I we are I am going to use uh the music solver to speed up the calculation using this this risk measures and so to to solve we only need to build a list with the the values of the risk measures um add this all in the property solvers at the Mosaic solver to raise to the portfolio object and well I am going to to create this data frame of of weights for each risk measures and I am going to solve the problem for each risk measure and also I'm going to to save the values in this data frame and then I'm going to change the the name of the columns to get the the portfolio to assign the these risk measures to each portfolio label and if we run this we are calculating the the sub ratio for each portfolio I think it finished it's fast when you use music is very fast because it's a commercial solver and it will run here sample we have here the optimal portfolios for uh where is here ah here I didn't add I missed what here the the air L Bar L Bar and here the uh here the air Elder I miss these two [Music] and if we run again please I don't know if a problem what is happening before assignment uh I miss you um I think that I am missing something so to avoid errors I'm going to leave this I don't know what is happening this but well it is working well and we have here the the risk measures and these are the optimal the optimal composition for the expected return divided by the the First Column is the standard deviation the second is the mean absolute deviation the semi standard distribution and also here for the c bar for the E bar and the idar so this is how this works and well in this chart we can see well it's not a good chart this I will use in the divire option from pandas but you can see the decompositions here are the decompositions well we can compare the decompositions for each assets and also you can use resolution to to optimize using constraints and for the case of constraints we can use an Excel file for example I have here an Excel file I think so here constraints I have here an Excel file and the Excel file must have this this format well here the defaults is in in Spanish because my computer is in Spanish but it is mostly false and the constraint must have this this format using also onto this column and in this case I am going to add these five six constraints well the fifth the first constraint is a constraint that affects spot all assets the an assets no all assets and asset and it's going to affect the position of MMC and is the constraint is that the weight of MMC must be lower than eight percent the second constraint is that all assets so so all assets must have a weight lower than 10 percent then we add some with some constraints on classes the the for example in this case we have some asset classes that are in in another Excel file so we have this we have here well a column well the format the file of classes and also is an in Excel you must have this structure so the the First Column is the what is the index the second is the the assets and starting with the third and you can add more columns all these columns are asset classes so for example in this case I am adding the class industry but you can add more classes like sector like um asset class maybe you can combine fixed income alternative sup asset class a class and other kind of classes you can add the columns that you want okay and I have here based of Industry and I want to add constraints on the set of Industry and for example if I add a column in the other one a column like con for example if I add here a country a country column when we change here set instead of Industry we change these two country but this is not the case here so I'm going to delete this and in this case well this constraint is related to classes and I want that Financial must be lower than 15 percent utility is also lower than the sum of in this case is assume a financial less of 15 the utilities less than 50 percent the same for Industrials and consumer discretionary so if we go back here to to python we load these first we load this classes from the file that I show you and we have here the data frame we use the here in the First Column remember that there is an index so it's important to use the index call equal to zero here and also we load the constraints and well if we don't include this field n a with empty we are going to receive something like like this when we load with a lot of n a So to avoid this this behavior is the two key it's better to keep the feeling a to empty this is an this is just two commas here sorry Danny we have about 10 minutes left I'd like to move on okay okay so so so I am finished just I am finished I am finished yeah so here we we get the well the constraints then we build this inequality constraints in a quality Matrix and then we assign well because we follow use the ax higher equal than b the constraint we only assign this these two inequality The Matrix day to be inequality The Matrix B and also well we add here well the same using the port of optimization model and if we run this we get the the optimal portfolio the maximize the sharp ratio but meet this constraints and well we can see here the the portfolio of the other portfolio composition and you can see the all assets are lower than maximum weight is 10 percent for all assets and in the case of MMC is eight percent and if we plot well we plot the decomposition by asset class we can see that the maximum weight for Consumer discretionary financials the other one was utilities and the other one was industrial so in this case industrial doesn't reach the 15 percent for the other asset classes it reached the 15 percent so we are meeting all the the constraints here and that's all that's all and this part is related to a question about ESC I've just finished the tutorial here all right perfect so let's just go through because we've got a lot of questions that came in Danny and a lot of them are actually I can tell from these questions in the audience we've got a lot of very knowledgeable people about portfolio optimization so there's some pretty detailed questions we can't get through with all of them but I did take them down so maybe I can send them to you afterwards and we can do our best to try and answer the written ones and get them out so I'm just going to start with this uh one question that came in here so one concern is that using average returns and volatility are not the best estimates of future returns and volatility so you mentioned that there are forms of a Yuma you know you can do for expected returns but are you able to integrate custom expected returns and volatility or using them from something that would come from a garch or an arima model what what ways can people put in their own returns or other methods that you can put in their returns uh well people can add there for example if they have a custom model they can go here and as I mentioned you can extract the values from the property of Port mule for cop returns it was here so well in this step here we have a step when we calculate the asset start for here the we estimate the the expected return and expected covariance here we can assigned for example for Mu equal your respective return your custom mu that you can find you can calculate these using your custom model also you can use your port. com equal cop this is your Custom Custom covariance and using this you can will integrate your custom estimates for example if you have um deep learning model the machine learning model uh econometric model you can integrate this you can risk volume using your custom estimates and process is the same so then the question was you've demonstrated a lot of the parametric models what non-parametric models are available to estimate any of the inputs ah but no parametric well no parametric you also have Factor models in this case but this is in another tutorial this is in response let me move this okay but you do have a tutorial on how to use the non-parametric models available as well this is in the risk folio lip I'm going to enter here to the examples in the examples for example there is a section with Factor models also there is a comparison on the covariance estimates also here using a step Factor models using a stepwise regression for example in this case in this tutorial you can compare for example several ways to estimate the covariance Matrix using layout and gold Oracle shrunk this is graphical lasso is financial weight and moving average the J logo these fixed spectral line string comes from Lopez de Prado here everyone and Gerber 2 is referred to the Gerber statistics so there are a lot of ways and if you are using a factor model you can estimate for example your covariance Matrix using Factor models in this example for example I show how to to use these five factors this is an example momentum quality size volatility and value Matrix using resolio leave and how we can use these loadings Matrix to estimate the expected return and the governance Matrix also it has black leader marks there are black Letterman model how to use black literal models and black little models with factors and that's all I think so this is the all the methods that are available on resolution thank you I think the important thing to note there is that Danny has a lot of examples for everyone to go through to learn how to use wristfolio live so I would strongly encourage everyone out there to go check out all the tutorials that he created that was wonderful uh it's it's amazing how much work has gone into this Danny so we appreciate it very much and as Cordell said there are a lot of questions there we're going to pass it on to you and uh if you find the time uh would be great if you can answer these questions again thank you so much I thank you Cordell for introducing you to us and maybe we'll come back and we'll look at some other examples at the future webinar and maybe incorporate some of these questions in your presentation as well again thank you so much and I'll pass it on to Kim thank you everyone we do appreciate you joining us and if you found today's uh presentation interesting I'm sure you have may perhaps you'd like to join us for our Charter information session which will really delve deeper into the FTP Charter and how you might be able to join our our community here so that will be on June 6th at 11 A.