GithubHelp home page GithubHelp logo

portfolio-optimization-using-ai's Introduction

PORTFOLIO

OPTIMIZATION USING

NLP

KARTIK SETHI
3rd Year Undergraduate
Indian Institute of Technology, Guwahati

WORKFLOW

workflow diagram

Text Classifier

● Programmatically generated synthetics dataset of investor input ● Labelled the dataset as different constraints such as “Has Tobacco”,”Has military” etc. ● Used nltk library to generate different word synonyms ● Created a corpus of ~ 30,000 investor inputs ● Used a pre-trained spaCy text-classification model to predict different constraints ● Text classifier predicts the final constraints to be applied to the investor’s tradable portfolio

Portfolio Optimization using time series data

● Extracted time series data of the given stocks from Yahoo Finance
● Extracted exponentially weighted mean returns of the stocks from the time
series data of stock prices
● Covariance matrix of the stocks constructed using time series analysis
● Generated Markowitz Portfolio maximising Sharpe Ratio

Different portfolio optimization models

● Efficient frontier optimisation via quadratic programming ● Hierarchical Risk Parity, using clustering algorithms to choose uncorrelated assets ○ From a universe of assets, form a distance matrix based on the correlation of the assets. ○ Using this distance matrix, cluster the assets into a tree via hierarchical clustering ○ Within each branch of the tree, form the minimum variance portfolio (normally between just two assets. ○ Iterates over each level, optimally combining the mini-portfolios at each node. ● Markowitz Critical Line Algorithm ○ Robust alternative to the quadratic solver used to find mean-variance optimal portfolios ○ Unlike generic quadratic optimisers, the CLA is specially designed for portfolio optimisation ○ Guaranteed to converge after a certain number of iterations, and can efficiently derive the entire efficient frontier

● Black-Litterman Allocation ○ Takes a Bayesian approach to asset allocation ○ It combines a prior estimate of returns (canonically, the market-implied returns) with views on certain assets, to produce a posterior estimate of expected returns. ○ Can provide views on only a subset of assets and BL will meaningfully propagate it, taking into account the covariance with other assets. ○ Using Black-Litterman posterior returns results in much more stable portfolios than using mean-historical return

portfolio-optimization-using-ai's People

Contributors

ks147 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.