ilcardella / tradingmate Goto Github PK
View Code? Open in Web Editor NEWTradingMate is a simple portfolio manager for share dealing traders
License: MIT License
TradingMate is a simple portfolio manager for share dealing traders
License: MIT License
Update the config file format to be a JSON file rather than xml
Add logging in useful parts of the code
Investigate if it worth to change the UI framework from tkinter to something else.
An example could be wxPython
Add a confirmation window when "Delete last trade" is selected
There is an error with this repository's Renovate configuration that needs to be fixed. As a precaution, Renovate will stop PRs until it is resolved.
File: renovate.json
Error type: The renovate configuration file contains some invalid settings
Message: Invalid configuration option: setup.py
Create a new panel to control the autotrading service:
Replace the bash script that controls the whole app with a Python script.
This task is about refactoring (renaming too) the Model class in appropriate components and functions.
Need to add unit test too
Add the functionality to open a new trading_log.json
and instead of update the window with the new data, a new tab should open containing information of the newly opened portfolio.
Ideally the main window should be able to contain a tab for each portfolio.
The UI should already be able to support multiple tabs.
The Backend instead will need a small refactor, probably just allow to handle multiple instance of the Portfolio module
The UI and the backend logic could be split even more in two different and independent components.
The idea is to have the business logic in a webservice using Flask which provide rest api for all the common actions.
The UI would have to update its interface with the backend calling the rest api
Move the holdings profit/loss panel as a row at the bottom of the holdings table
There are a few improvements to add to the trade history table:
After adding a new trade, if the timing is right (or wrong) there could be a delay of few seconds before the new information are actually added to the UI.
The Add Trade event should trigger an UI update rather than waiting for the timed update
Create unit test with pytest
Move the open/save portfolio buttons into the File menu
The README needs to be updated and refactored with more info
Create a script in the root folder to control TradingMate:
Add a context menu in the notebook tab section with the option to close the selected portfolio. Maybe also option to open a new portfolio, save, save as and add trade
Update the xml file to log account activities to be a JSON file.
Does it worth to use a SQL database?
Add a label showing the app version in the About window
Values in the portfolio balances and the current positions could be coloured green or red based on the PL value
Integrate an interface to access the IG rest API to fetch data for current price, current holdings, etc.
Add configuration parameter to select the data source (alphavantage or ig or any other)
There is a bug with the command "Delete last trade". It happened that an error log appeared and the trade was not deleted from the UI, but it was from the json file
Add a popup menu with Add trade
and Remove trade
options
Add Fee
in the action enumeration with a comment field
Can the history tree view be filtered or searched for each column
The installation directory can be in the home directory (maybe ~/.bin
) so the install.py
script would not require sudo
The application title in the top bar and in the dock is Tk instead of being the app name
Create an "install" command in the trading_mate_ctrl script that copies the code and the configuration into a place as "/usr/local/bin" or similar.
Create a settings menu entry: list all configurable parameters available in the config.json and let edit them updating the json file too.
Setup CI with Travis
Add a button in the settings window to open a new window (children of the main window) which tails the current instance log
Handle with a message dialog when the settings are edited inserting non existing files or wrong format files etc.
Add a status bar at the bottom of the portfolio tab. It could show:
The details option opens up a panel showing details of the selected trade.
This panel could have also a red delete button.
yfinance
is a new python module to interface with yahoo finance api. It could be a valid alternative to AlphaVantage. Need investigation about requests rate limits and values accuracy
The option menu in the history table does not disappear if the focus is moved outside (clicking anywhere)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.