Skip to content
This repository has been archived by the owner on Feb 14, 2024. It is now read-only.
/ PayDayRobo Public archive

A tool helping you to withdraw your passive investment by calculating the shares to sell while maintaining the portfolio allocation

License

Notifications You must be signed in to change notification settings

rayliuca/PayDayRobo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PayDayRobo

Inspiration

There are many popular tools around to help people contribute to their passive investment, i.e. Passiv, but there is no tool around (that I know of) that helps people manage their investment withdrawal. Thus, the goal of this project is to help the retired populations to manage their assets.

(HackED 2021 Project). This project won the Best use of Google Cloud award!

What it does

This program retrieves the account data from Questrade, then calculate the number of ETF/ stock shares to sell while maintaining the pre-defined portfolio allocation, withdrawal goal, and minimize the commission fees. These optimizations are achieved through a genetic algorithm. The resulting solution is then sent through either SMS, email, or both.

How we built it

This project is built using Python with ❤️

Dependencies:

  • sendgrid
  • qtrade
  • twilio
  • pyeasyga

Deployment (as a cron job):

  1. open the crontab: crontab -e
  2. add an entry so it runs on the first day of every month:

0 12 1 * * /full_path/PayDayRobo/script.py

  1. save the crontab file

Accomplishments that we're proud of:

Got the script working!

Goals:

    • Communicate Questrade API
    • Minimize the portfolio allocation error using genetic algorithm
    • Send the result via SMS
    • Setup my domain with
    • Send the result via email
    • Deploy the project as a cron job in a VM on Google Cloud
    • Make the Email Beautiful (HTML) (stretch goal)
    • Dockerize the project (stretch goal)
    • Deploy the project in some sort of Kubernetes compute service (stretch goal)
    • Incorporate some sort of adjusted cost base (ACB) calculation at the beginning of each year for income tax purpose (stretch goal)

Flowchart

PayDayRobo script flowchart

Notification Sample

SMS:

SMS message

Email:

Email message

(The BEE project from MailUp was used to generate the Email design)

License

My work is released under the MIT license

About

A tool helping you to withdraw your passive investment by calculating the shares to sell while maintaining the portfolio allocation

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published