Code Monkey home page Code Monkey logo

retiredge's Introduction

Retiredge

This is a final class project for INDENG 185: Emerging Tech and Social Impact Challenge Lab at UC Berkeley. More information can be found on our slide deck: https://docs.google.com/presentation/d/1X0IET0fqcf-If5DrcH0cXRWoBmhCp4HgbDPMjGMy1H4/edit#slide=id.ga11bca5b12_0_0

This repo contains the Portfolio Optimization feature of Retiredge, implemented and annoated through Python and Jupyter Notebooks. It also contains a sample ETF data retrieved from Quandl, which will be used as sample for our predictive. Lastly an image is included as the Mobile GUI prototype to give insight on our final application. The process utlizes Efficient Frontier Calculation to suggest optimized portfolio budget allocations for users. The process is efficient and requires minimal financial knowledge to understand, perfect for our target market of college students.

Purpose and Intergration

The goal of this implementation is to show how data analysis and machine learning algorithms can be feasible performed on financial datasets to help our users make informed decisions. There are many spaces open for modification and additional intergrations, some potential additions include:

  • Personalization
    • Through Machine Learning on the User history and Financial information
      • The investment style of a user (aggressive or conservative)
      • The user perference for certain funds/stocks
    • The degree of freedom in final portfolio decisions (how much the user relies on the ML predictions)
  • Diversivied Prediction
    • Including more diverse data for prediction and analysis
      • This includes data beyond market data: e.g. Social data through News and other Media
    • Unsupervized learning can be performed on these datasets to identify more hidden trends

In terms of integrating with the actual application, only a small fraction of the displayed information will be included in the GUI through the Portfolio Recommendation interface. Much of the functionalities and processes will be hidden to the user for a more streamlined and friendly experience. However, even with a simple user interface, an incredible amount of backend analysis can be performed for an optimzed investing experience.

Installation

The code sample can be viewed directly through github without any installation. However, to modify and edit the file, jupyter notebook is needed.

pip install jupyterlab

Usage

The methods and functions can be used on a variety of financial datasets, which can be imported locally with the following code inside the notebook.

df = pd.read_csv('ETFG_FUND.csv')

Alternatively, data can be retrieved from financial platforms such as Quandl. Which can be installed and used with the code:

pip install quandl

An API key can be retrieved for free through creating an account on Quandl.

import quandl

quandl.ApiConfig.api_key = '##################'
stocks = ['ETFG/ANLT']
data = quandl.get_table('WIKI/PRICES', ticker = stocks,
                        qopts = { 'columns': ['date', 'ticker', 'adj_close'] },
                        date = { 'gte': '2016-1-1', 'lte': '2017-12-31' }, paginate=True)

Contributing

Pull request are not welcome as this is a final class project.

retiredge's People

Contributors

aporialiao avatar

Watchers

 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.