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 xml file to log account activities to be a JSON file.
Does it worth to use a SQL database?
Create unit test with pytest
Move the open/save portfolio buttons into the File menu
Can the history tree view be filtered or searched for each column
Values in the portfolio balances and the current positions could be coloured green or red based on the PL value
Add a popup menu with Add trade
and Remove trade
options
The application title in the top bar and in the dock is Tk instead of being the app name
Add Fee
in the action enumeration with a comment field
Add a label showing the app version in the About window
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
This task is about refactoring (renaming too) the Model class in appropriate components and functions.
Need to add unit test too
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 script in the root folder to control TradingMate:
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
Add logging in useful parts of the code
The README needs to be updated and refactored with more info
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.
Replace the bash script that controls the whole app with a Python script.
Create a new panel to control the autotrading service:
Move the holdings profit/loss panel as a row at the bottom of the holdings table
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
Create a settings menu entry: list all configurable parameters available in the config.json and let edit them updating the json file too.
Investigate if it worth to change the UI framework from tkinter to something else.
An example could be wxPython
Handle with a message dialog when the settings are edited inserting non existing files or wrong format files etc.
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
The installation directory can be in the home directory (maybe ~/.bin
) so the install.py
script would not require sudo
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
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
There are a few improvements to add to the trade history table:
Add a status bar at the bottom of the portfolio tab. It could show:
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)
The option menu in the history table does not disappear if the focus is moved outside (clicking anywhere)
Add a confirmation window when "Delete last trade" is selected
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
The details option opens up a panel showing details of the selected trade.
This panel could have also a red delete button.
Update the config file format to be a JSON file rather than xml
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.