Coder Social home page Coder Social logo

jamesylgan / roboadvisor Goto Github PK

View Code? Open in Web Editor NEW
16.0 3.0 7.0 22.53 MB

BlackRock Hackathon Award: STRAT brings professional risk management from BlackRock to individual investors looking to diversify & learn.

Home Page: https://devpost.com/software/szechuantech

License: MIT License

Batchfile 0.11% JavaScript 0.29% Python 92.88% C 5.29% CSS 1.36% HTML 0.07%
bot risk chatbot risk-profile aladdin blackrock stock investment

roboadvisor's Introduction

SzechuanTech RoboAdvisor @ georgia Tech (STRAT)

SzechuanTech brings professional risk management from BlackRock to individual investors looking to diversify investment portfolios and learn more about investments. Through an easy-to-use chatbot, users can get suggestions to diversify and grow their portfolio, getting quick access to broken-down information about any stock.

Inspiration

Even in 2017, managing financial securities involves either long and tedious meetings with a financial advisor, cold and impersonal interactions with an algorithm, or a mix of both. We felt that there was an opening in the chat bot marketplace for providing personalized financial data and recommendations to every day users.

What it does

STRAT acts the user a series of personality-based questions to assess his or her risk profile, using the answers to calculate a number between zero (most risk-averse) and one (least risk-averse). These answers define the profile of the user for interacting with STRAT. Then, on prompt from the user, the bot can either (1) provide information about a specific financial security (e.g. "tell me about apple") or (2) make recommendations that fit the calculated risk profile of the user (e.g. "suggest a stock").

How we built it

The chat bot was built using the NodeJS implementation of the Microsoft Bot Framework. The bot runs on an Microsoft Azure instance and can be plugged into several different messaging services, such as Slack, Messenger, and Skype (or, more simply, on the Microsoft Bot Emulator). The bot invokes Python scripts on the back-end that fetch data from Blackrock's Aladdin REST API to be used to provide information about financial securities for the users and data for calculations about the risk of each security (so as to make the best recommendation to the user).

Challenges we ran into

Definitions of the terms on the Aladdin API were few and far between, so we had to do a fair bit of research to determine what metrics were best suited for our purposes. The data from Aladdin, too, was not perfectly matched with our intentions, so we had to do some hacking to get the data and metrics we wanted without making a bajillion HTTP requests. Additionally, our group was much more comfortable to fetch data from Aladdin in Python instead of Node, so we had to use some creative workarounds to call the scripts we wrote from the app.js file. This inadvertently led to the Python integration (and thus the entire bot) failing much more than we would have liked. Finally, for the longest time we were running our bot on a purely free instance of Azure, which murdered the performance and responsiveness of our initial protoype. It was only until we set up our bot, with the help of a Microsoft employee, on an instance with a pass for credit that it became functional.

Accomplishments that we're proud of

This was the first real hackathon for most of the group, so to churn out a project we all found interesting and loved building is something we can tell our parents about. We also built something that we felt filled a need and helped solve a common issue (or at least make valuable steps to do so). Some of us also found that we were able to thrive mentally despite very little (see: none) sleep.

What we learned

Documentation of a framework or API is nearly as crucial to their effectiveness as how well the technology is actually implemented. A corollary to that, it turns out, is that the more the implementation of a technology deviates from your specific use-case, the more creative you have to get when incorporating said technology into the functionality of your project.

What's next for STRAT

It would be cool to integrate the bot with the (unofficial) Robinhood API to allow the user to buy stocks on their Robinhood account after receiving a certain recommendation or quote. The bot could also be much more versatile if it took into account factors other than risk and volatility when making a recommendation (and also ask similar personality questions for those other factors). The next steps for this project would be to fetch investment data from services like Fidelity, Mint, or Robinhood and assess the risk of a user's portfolio as we make suggestions, in order to best diversity the user's portfolio.

roboadvisor's People

Contributors

atkirtland avatar jamesylgan avatar pizzaface avatar stealthbomber10 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

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