Giter VIP home page Giter VIP logo

portfolioanalytics's Introduction

Portfolio Analytics

Introduction

This app brings together finance and data visualisation in a way that allows users to interactively build and compare portfolios of their choosing.

Summary of dependencies

  • Web framework/Templating : Flask + jinja2
  • Styling : Bootstrap4
  • Data visualization : Bokeh
  • Data manipulation : pandas
  • Website interactions/ajax : jquery
  • Javascript libraries : Select2, DataTable
  • Portfolio optimization : pyportfoliopot
  • Data : alphavantage

The app is served using python and flask/jinja2 and for data visualization the Bokeh library was used to create interactive charts. Interactions were driven using ajax instead of using Bokeh's own widgets, this made it easier to maintain the look and feel of the app. Heavy usage of the pandas library was used for calculating returns, portfolio metrics etc. A simple parquet file was used for persisting returns, allowing fast retrieval of historical returns for a selection of stocks.

Summary of functionality

Browse

The makeup of already created portfolios can be inspected here using a datatable that permits sorting and searching.

Compare

Historical cumulative performance can be compared over a common time frame for up to 4 portfolios. A concise summary of the portfolio metrics is provided.

Construct

Most of the functionality of the site falls within this page. After assigning a portfolio name a user can choose between two weighting schemes, simple equal weighting and and a mean/variance optimized portfolio. Prior to finalizing and saving their selection of stocks users can analyze a correlation heatmap, a plot displaying the betas of each stock, as well as a sector breakdown.

To run the app obtain a alphavantage api key and store it within ./portfolio_help/config.json as shown below

{ "dev": { "alpha_vantage_api_key" : <your api key> } }

Demo

A video demo of the app can be found here

portfolioanalytics's People

Contributors

zumthor86 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.