GithubHelp home page GithubHelp logo

kathuman / portfolio-management-project Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ramonwill/portfolio-management-project

0.0 1.0 0.0 2.29 MB

A basic porfolio management system that uses Alpha Vantage to view graphs and Oanda REST API to execute trades.

Python 100.00%

portfolio-management-project's Introduction

Portfolio Management Project (PRMSystem)

A basic porfolio management system written in Python's standard GUI package, Tkinter.

Table of Contents

Introduction

This Project (PRMS) utilises the REST API's of Alpha Vantage to create charts with/without technical indicators and Oanda to execute trades to the market. PRMS also uses sqlite3 to store information from the Oanda platform into a database for reconciliation purposes. My main reason for using Tkinter was because its lack of "hand holding" meant that I had to create a lot of these features from scratch, i.e. the login and register pages and as well as the trade entry feature.

Installation

If you do not have Python 3.7+, you can download it here.

In the terminal navigate to the project directory and type pip3 install -r requirements.txt. This will install all the required modules to run this application.

API - Keys

This project requires 3 API keys:

  • News API - Gets the latest news headlines. Get your key here.
  • Oanda API - Various functions pertaining to the portfolio. Get your key here.
  • Alpha Vantage API - extract FX data for charting purpose. Get your key here.

*** Note with Oanda you will also need to set up a dummy trading account with them to get your key. Once you have your API keys and Oanda Account ID. populate them as strings in the config file.

When these processes have been completed you can then run the main application.

Features

PRMS comes packed with the following features:

  • View the latest news headlines
  • Oanda Account details
  • A list of all tradable securities as well as the live bid/ask prices
  • Intraday FX Algorithm trading based on two strategies (Golden Cross, RSI)
  • Intraday, Daily, Weekly FX Charting with Technical Indicators
  • Buy/Sell Market Executions from the Oanda Platform. (with Trade confirmations)
  • Transaction history and manual entry from the applications Database
  • Position and Price reconciliation between Oanda and PRMS

Credits

I'd like to thank this answer from Bryan Oakley on stack overflow that allowed me to design the layout and workflow of this project, without this it wouldn't be possible.

I would also like to thank the Youtube channels Sentdex and Derrick Sherril for improving my knowledge on Python Libraries and demonstrating all of the things that can be done through Python.

Here is a gist i created. It is a rough template you can use if you want to create pages in the GUI as well as have a login page.

  • Disclaimer: This project is not valid financial tool. It is a project that I've created to help me learn more about Python. You should in no way use it to make investment decisions.

Video-Demo

The image below will redirect you to the video demo on Youtube

Screenshots

portfolio-management-project's People

Contributors

ramonwill avatar

Watchers

James Cloos 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.